@charset "UTF-8";
/* ===============================================
# font family
=============================================== */
/* ===============================================
# color
=============================================== */
/* ===============================================
# z-index
=============================================== */
/* ===============================================
# font-size
=============================================== */
/* ルートの文字サイズを10pxに設定 */
html {
  font-size: 62.5%;
}

body {
  overflow-x: hidden;
  width: 100vw;
  font-size: 1.2rem;
}
@media (600px <= width < 900px) {
  body {
    font-size: 1.4rem;
  }
}
@media (900px <= width < 1200px) {
  body {
    font-size: 1.6em;
  }
}
@media (1200px <= width ) {
  body {
    font-size: 1.6em;
  }
}

h2 {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (1200px <= width ) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: 1.4rem;
  font-weight: 700;
}
@media (600px <= width < 900px) {
  h3 {
    font-size: 1.4rem;
  }
}
@media (900px <= width < 1200px) {
  h3 {
    font-size: 2rem;
  }
}
@media (1200px <= width ) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size: 1.4rem;
  font-weight: 700;
}
@media (600px <= width < 900px) {
  h4 {
    font-size: 1.6rem;
  }
}
@media (900px <= width < 1200px) {
  h4 {
    font-size: 1.6rem;
  }
}
@media (1200px <= width ) {
  h4 {
    font-size: 1.6rem;
  }
}

h5 {
  font-size: 1.4rem;
}
@media (600px <= width < 900px) {
  h5 {
    font-size: 1.4rem;
  }
}
@media (900px <= width < 1200px) {
  h5 {
    font-size: 1.6rem;
  }
}
@media (1200px <= width ) {
  h5 {
    font-size: 1.6rem;
  }
}

/* ===============================================
# 共通
=============================================== */
body {
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  color: #4a3636;
  background-color: #e9f6f8;
}

.bold {
  font-weight: 700;
}

.inner {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}
@media (600px <= width < 900px) {
  .inner {
    width: 600px;
  }
}
@media (900px <= width < 1200px) {
  .inner {
    padding: 0 30px;
  }
}
@media (1200px <= width ) {
  .inner {
    width: 1024px;
    padding: 0;
  }
}

@media (600px <= width < 900px) {
  .hidden-md {
    display: none;
  }
}
@media (375px <= width < 600px) {
  .hidden-md {
    display: none;
  }
}
@media (width < 375px) {
  .hidden-md {
    display: none;
  }
}

@media (900px <= width < 1200px) {
  .hidden-pc {
    display: none;
  }
}
@media (1200px <= width ) {
  .hidden-pc {
    display: none;
  }
}

.inline-block {
  display: inline-block;
}

a {
  cursor: pointer;
}
a:hover {
  color: #67b0c7;
}

a[href^="tel:"]:hover {
  color: #4a3636;
}

/* ===============================================
# 共通パーツ
=============================================== */
.btn {
  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;
  border-radius: 40px;
  background: #ffffff;
  -webkit-box-shadow: 0px 4px 0px 0px #4a3636;
          box-shadow: 0px 4px 0px 0px #4a3636;
  border: 2px solid #4a3636;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin-bottom: 4px;
}
@media (900px <= width < 1200px) {
  .btn {
    border: 3px solid #4a3636;
  }
}
@media (1200px <= width ) {
  .btn {
    border: 3px solid #4a3636;
  }
}
.btn:hover {
  background: #ffee56;
}
.btn a {
  font-size: 1.6rem;
  font-weight: 700;
  color: #4a3636;
}
@media (900px <= width < 1200px) {
  .btn a {
    font-size: 2rem;
  }
}
@media (1200px <= width ) {
  .btn a {
    font-size: 2rem;
  }
}
.btn button {
  font-size: 1.6rem;
  font-weight: 700;
  color: #4a3636;
}
@media (900px <= width < 1200px) {
  .btn button {
    font-size: 2rem;
  }
}
@media (1200px <= width ) {
  .btn button {
    font-size: 2rem;
  }
}

.btn-sns {
  padding: 6px 22px 8px;
}
@media (900px <= width < 1200px) {
  .btn-sns {
    padding: 8px 37px 10px 37px;
  }
}
@media (1200px <= width ) {
  .btn-sns {
    padding: 10px 40px 12px 40px;
  }
}
@media (width < 375px) {
  .btn-sns a {
    font-size: 4vmin;
  }
}

.heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media (900px <= width < 1200px) {
  .heading {
    width: 620px;
    gap: 7.5px;
  }
}
@media (1200px <= width ) {
  .heading {
    width: 620px;
    gap: 7.5px;
  }
}

.heading__icon {
  width: 37.333px;
  height: 37.333px;
}
@media (900px <= width < 1200px) {
  .heading__icon {
    width: 50px;
    height: 50px;
  }
}
@media (1200px <= width ) {
  .heading__icon {
    width: 50px;
    height: 50px;
  }
}
.section-title-en {
  color: #4a3636;
  text-align: center;
  font-family: "Courgette", cursive;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
  margin-top: 1px;
}
@media (900px <= width < 1200px) {
  .section-title-en {
    font-size: 2rem;
    margin-top: 0;
  }
}
@media (1200px <= width ) {
  .section-title-en {
    font-size: 2rem;
    margin-top: 0;
  }
}

.section-title-ja {
  color: #4a3636;
  text-align: center;
  font-family: "Kiwi Maru", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  padding-bottom: 6px;
  border-bottom: 6px solid #ffee56;
}
@media (900px <= width < 1200px) {
  .section-title-ja {
    font-size: 32px;
    border-bottom: 8px solid #ffee56;
    padding-bottom: 8px;
  }
}
@media (1200px <= width ) {
  .section-title-ja {
    font-size: 32px;
    border-bottom: 8px solid #ffee56;
    padding-bottom: 8px;
  }
}

.header {
  background-color: #ffffff;
  height: 64px;
  width: 100%;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
}

.header__wrapper {
  height: 64px;
  padding: 16px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (900px <= width < 1200px) {
  .header__wrapper {
    padding: 20px 24px;
  }
}
@media (1200px <= width ) {
  .header__wrapper {
    padding: 20px 24px;
  }
}

.header__logo {
  width: 210px;
  height: 27px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  z-index: 9999; /*ボタンを最前面に*/
}
@media (1200px <= width ) {
  .header__logo {
    margin-top: -3px;
    width: 183px;
  }
}
/* ===============================================
# nav-menu
=============================================== */
.header__nav {
  display: none;
}
@media (1200px <= width ) {
  .header__nav {
    display: block;
  }
}

.nav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}

.nav__item {
  cursor: pointer;
  font-size: 1.2rem;
}
.nav__item a {
  padding: 20px 0;
}

.nav__btn {
  margin-left: 4px;
  margin-bottom: 0;
  padding: 4.5px 22.5px 5.5px;
  border-radius: 40px;
  border: 2px solid #4a3636;
  background: #ffffff;
  -webkit-box-shadow: 0px 4px 0px 0px #4a3636;
          box-shadow: 0px 4px 0px 0px #4a3636;
}
.nav__btn a {
  font-size: 1.4rem;
  padding: 0;
}

/* ===============================================
# hamburger
=============================================== */
.hamburger__icon {
  z-index: 9999; /*ボタンを最前面に*/
  top: 18.5px;
  right: 20px;
  width: 32px;
  height: 26px;
  position: fixed;
  cursor: pointer;
  line-height: 27px;
}
@media (1200px <= width ) {
  .hamburger__icon {
    display: none;
  }
}

.hamburger__icon span {
  height: 3px;
  background-color: #4a3636;
  position: absolute;
  left: 0;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  border-radius: 5px;
}

.hamburger__icon span:nth-of-type(1) {
  width: 25.6px;
  top: 0;
}

.hamburger__icon span:nth-of-type(2) {
  width: 4.8px;
  top: 0;
  left: auto;
  right: 0;
}

.hamburger__icon span:nth-of-type(3) {
  width: 100%;
  top: 12px;
}

.hamburger__icon span:nth-of-type(4) {
  width: 100%;
  top: 24px;
}

.hamburger__icon.active span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 32px;
  top: 9px;
}

.hamburger__icon.active span:nth-of-type(2) {
  opacity: 0;
}

.hamburger__icon.active span:nth-of-type(3) {
  opacity: 0;
}

.hamburger__icon.active span:nth-of-type(4) {
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 32px;
  top: 21px;
}

/*========= ナビゲーションのためのCSS ===============*/
#g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: -120%;
  left: 0;
  width: 100%;
  height: 100vh; /*ナビの高さ*/
  background: #ffffff;
  /*動き*/
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  top: 0;
}

/*ナビゲーション*/
.g-nav-wrapper {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*リストのレイアウト設定*/
#g-nav li {
  list-style: none;
  text-align: center;
}

#g-nav li a {
  padding: 20px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#g-nav li a:hover {
  text-decoration: underline;
}

.g-nav-btn {
  margin-top: 30px;
  padding: 6px 24px 8px 24px;
}

.fv {
  margin-top: 64px;
  height: 710px;
}
@media (width < 375px) {
  .fv {
    overflow: hidden;
  }
}
@media (900px <= width < 1200px) {
  .fv {
    height: 916px;
    padding-bottom: 80px;
  }
}
@media (1200px <= width ) {
  .fv {
    height: 916px;
    padding-bottom: 80px;
  }
}

.fv__bg {
  background: url(../img/fv=bg.png) no-repeat center center/cover;
  height: 554px;
  border-radius: 0px 0px 24px 24px;
}
@media (600px <= width < 900px) {
  .fv__bg {
    background: url(../img/fv=bg--pc.png) no-repeat center center/cover;
    border-radius: 0px 0px 40px 40px;
  }
}
@media (900px <= width < 1200px) {
  .fv__bg {
    background: url(../img/fv=bg--pc.png) no-repeat center center/cover;
    border-radius: 0px 0px 40px 40px;
    height: 740px;
  }
}
@media (1200px <= width ) {
  .fv__bg {
    background: url(../img/fv=bg--pc.png) no-repeat center center/cover;
    border-radius: 0px 0px 40px 40px;
    height: 740px;
  }
}

.fv__textbox {
  padding-top: 17px;
}
@media (600px <= width < 900px) {
  .fv__textbox {
    padding-top: 17px;
  }
}
@media (900px <= width < 1200px) {
  .fv__textbox {
    padding-top: 34px;
  }
}
@media (1200px <= width ) {
  .fv__textbox {
    padding-top: 34px;
  }
}

.fv__sub-title {
  text-align: center;
  text-shadow: 0px 0px 30px #ffffff;
}
.fv__sub-title p {
  font-family: "Kiwi Maru", serif;
  font-size: 14px;
  line-height: 1.3;
}
@media (900px <= width < 1200px) {
  .fv__sub-title p {
    font-size: 24px;
    font-weight: 500;
  }
  .fv__sub-title p:last-child {
    letter-spacing: 0.01em;
  }
}
@media (1200px <= width ) {
  .fv__sub-title p {
    font-size: 24px;
    font-weight: 500;
  }
  .fv__sub-title p:last-child {
    letter-spacing: 0.01em;
  }
}

.fv__title {
  margin-top: 20px;
}
@media (900px <= width < 1200px) {
  .fv__title {
    margin-top: 21px;
  }
}
@media (1200px <= width ) {
  .fv__title {
    margin-top: 21px;
  }
}

.main__item01 {
  width: 334px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (900px <= width < 1200px) {
  .main__item01 {
    width: 520px;
  }
}
@media (1200px <= width ) {
  .main__item01 {
    width: 520px;
  }
}
.main__item02 {
  margin-top: 11px;
  width: 240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (900px <= width < 1200px) {
  .main__item02 {
    margin-top: 16px;
    width: 356px;
  }
}
@media (1200px <= width ) {
  .main__item02 {
    margin-top: 16px;
    width: 356px;
  }
}
.fv__images {
  position: relative;
}

.img__fukidashi {
  position: absolute;
  left: calc(50% - 26px);
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  top: 18px;
  width: 142px;
  max-width: 100%;
}
@media (900px <= width < 1200px) {
  .img__fukidashi {
    width: 244px;
    height: 130px;
    top: 0;
    left: calc(50% - 387px);
    -webkit-transform: none;
            transform: none;
  }
}
@media (1200px <= width ) {
  .img__fukidashi {
    width: 244px;
    height: 130px;
    top: 0;
    left: calc(50% - 387px);
    -webkit-transform: none;
            transform: none;
  }
}
.img__fukidashi img {
  width: 100%;
}

.img__present {
  position: absolute;
  left: calc(50% + 32px);
  top: 11px;
  width: 111px;
  max-width: 100%;
}
@media (900px <= width < 1200px) {
  .img__present {
    width: 182px;
    height: 182px;
    left: calc(50% + 116px);
    top: 17px;
  }
}
@media (1200px <= width ) {
  .img__present {
    width: 182px;
    height: 182px;
    left: calc(50% + 116px);
    top: 17px;
  }
}
.img__smartphone {
  width: 200px;
  max-width: 100%;
  position: absolute;
  top: 114px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
@media (900px <= width < 1200px) {
  .img__smartphone {
    top: 33px;
    width: 250px;
  }
}
@media (1200px <= width ) {
  .img__smartphone {
    top: 33px;
    width: 250px;
  }
}
.fv__application {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 160px;
  max-width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 15.2px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 122px;
  border-radius: 12.8px;
  background: #ffffff;
}
@media (900px <= width < 1200px) {
  .fv__application {
    width: 201px;
    gap: 0;
    top: 153.5px;
    border-radius: 16px;
    padding-bottom: 20px;
  }
}
@media (1200px <= width ) {
  .fv__application {
    width: 200px;
    gap: 0;
    top: 153.5px;
    border-radius: 16px;
    padding-bottom: 20px;
  }
}

.application__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 7px 9.6px 5.5px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  background: linear-gradient(265deg, #ac3790 -3.52%, #d65a5c 44.94%, #f4c06d 92.38%);
  border-radius: 12.8px 12.8px 0 0;
}
@media (900px <= width < 1200px) {
  .application__title {
    padding: 8.205px 12px;
  }
}
@media (1200px <= width ) {
  .application__title {
    padding: 8.205px 12px;
  }
}
.application__title p {
  color: #ffffff;
  text-align: center;
  -webkit-font-feature-settings: "pref" on;
          font-feature-settings: "pref" on;
  font-size: 1.28rem;
}
@media (900px <= width < 1200px) {
  .application__title p {
    font-size: 1.6rem;
  }
}
@media (1200px <= width ) {
  .application__title p {
    font-size: 1.6rem;
  }
}

.application__body {
  text-align: center;
  margin-top: 13.5px;
}

.item1 {
  display: inline-block;
  font-size: 1.2rem;
  padding-bottom: 0.2px;
  border-bottom: 2.4px solid #ce2073;
}
@media (900px <= width < 1200px) {
  .item1 {
    font-size: 1.4rem;
    border-bottom: 3px solid #ce2073;
  }
}
@media (1200px <= width ) {
  .item1 {
    font-size: 1.4rem;
    border-bottom: 3px solid #ce2073;
  }
}

.item2 {
  -webkit-font-feature-settings: "pref" on;
          font-feature-settings: "pref" on;
  font-size: 12px;
  padding-top: 4.2px;
}
@media (900px <= width < 1200px) {
  .item2 {
    font-size: 16px;
    padding-top: 5.5px;
  }
}
@media (1200px <= width ) {
  .item2 {
    font-size: 16px;
    padding-top: 5.5px;
  }
}

.application__btn {
  height: 32px;
  padding: 6px 22.5px 8px;
  border: 2px solid #4a3636;
  margin-top: 12.5px;
}
@media (900px <= width < 1200px) {
  .application__btn {
    height: 40px;
    padding: 6px 22.244px 8px 22.244px;
    margin-top: 16px;
  }
}
@media (1200px <= width ) {
  .application__btn {
    height: 40px;
    padding: 6px 22.244px 8px 22.244px;
    margin-top: 16px;
  }
}
.application__btn a {
  font-size: 14px;
}
@media (1200px <= width ) {
  .application__btn a {
    font-size: 16px;
  }
}

.img__food {
  position: absolute;
  top: 392px;
  left: calc(50% - 168px);
  z-index: 2;
  width: 90.26px;
  max-width: 100%;
}
@media (900px <= width < 1200px) {
  .img__food {
    left: calc(50% - 424px);
    width: 212px;
    height: 332px;
    top: 227px;
  }
}
@media (1200px <= width ) {
  .img__food {
    left: calc(50% - 424px);
    width: 212px;
    height: 332px;
    top: 227px;
  }
}
.image__cat01 {
  position: absolute;
  top: 406px;
  left: calc(50% + 105.5px);
  z-index: 2;
  width: 62px;
  max-width: 100%;
}
@media (900px <= width < 1200px) {
  .image__cat01 {
    left: calc(50% + 191px);
    width: 170px;
    top: 309px;
  }
}
@media (1200px <= width ) {
  .image__cat01 {
    left: calc(50% + 191px);
    width: 170px;
    top: 309px;
  }
}
.image__cat02 {
  position: absolute;
  top: 460px;
  right: 9px;
  z-index: 2;
  width: 98px;
  max-width: 100%;
  left: calc(50% + 60px);
}
@media (900px <= width < 1200px) {
  .image__cat02 {
    left: calc(50% + 191px);
    width: 233px;
    top: 429px;
  }
}
@media (1200px <= width ) {
  .image__cat02 {
    left: calc(50% + 191px);
    width: 233px;
    top: 429px;
  }
}
.section__about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100vw;
  z-index: 50;
  padding-bottom: 276.87px;
  margin-top: 32px;
}
@media (900px <= width < 1200px) {
  .section__about {
    padding-bottom: 459px;
    margin-top: 0;
  }
}
@media (1200px <= width ) {
  .section__about {
    padding-bottom: 459px;
    margin-top: 0;
  }
}

.about__inner {
  margin: 0 auto;
  width: 335px;
  z-index: 60;
}
@media (width < 375px) {
  .about__inner {
    width: calc(100% - 40px);
  }
}
@media (600px <= width < 900px) {
  .about__inner {
    width: 460px;
  }
}
@media (900px <= width < 1200px) {
  .about__inner {
    width: 580px;
  }
}
@media (1200px <= width ) {
  .about__inner {
    width: 848px;
  }
}

.about__contents {
  width: 100%;
  padding: 40px 12px 35px 12px;
  border-radius: 24px;
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 23.5px;
  position: relative;
}
@media (900px <= width < 1200px) {
  .about__contents {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding-top: 39px;
    padding-bottom: 36px;
    border-radius: 40px;
    gap: 33px;
  }
}
@media (1200px <= width ) {
  .about__contents {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding-top: 39px;
    padding-bottom: 36px;
    border-radius: 40px;
    gap: 33px;
  }
}
.about__contents::after {
  position: absolute;
  content: "";
  width: 100px;
  height: 36px;
  background: url(../img/about=arrow.svg) no-repeat center center/cover;
  bottom: -37px;
}
@media (900px <= width < 1200px) {
  .about__contents::after {
    width: 140px;
    height: 50px;
    bottom: -51px;
  }
}
@media (1200px <= width ) {
  .about__contents::after {
    width: 140px;
    height: 50px;
    bottom: -51px;
  }
}

.about__heading {
  font-size: 1.4rem;
  font-weight: 700;
}
@media (600px <= width < 900px) {
  .about__heading {
    font-size: 1.6rem;
  }
}
@media (900px <= width < 1200px) {
  .about__heading {
    font-size: 1.6rem;
    width: inherit;
  }
}
@media (1200px <= width ) {
  .about__heading {
    font-size: 1.6rem;
  }
}

.about__pic01 {
  position: absolute;
  left: -19.5px;
  top: -7.87px;
  content: "";
  width: 87px;
  height: 60px;
}
@media (900px <= width < 1200px) {
  .about__pic01 {
    width: 155px;
    top: 1px;
    left: -30px;
  }
}
@media (1200px <= width ) {
  .about__pic01 {
    width: 155px;
    top: 1px;
    left: -30px;
  }
}

.about__pic02 {
  position: absolute;
  right: -32.72px;
  top: -10px;
  content: "";
  width: 87px;
  height: 60px;
}
@media (900px <= width < 1200px) {
  .about__pic02 {
    width: 129px;
    top: 17px;
    right: -23.7px;
  }
}
@media (1200px <= width ) {
  .about__pic02 {
    width: 155px;
    top: 8px;
    right: -38.7px;
  }
}

.about__heading {
  text-align: center;
}
@media (900px <= width < 1200px) {
  .about__heading {
    margin-top: -1px;
  }
}
@media (1200px <= width ) {
  .about__heading {
    margin-top: -1px;
  }
}

.about__lead--main {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  text-align: center;
  margin-top: -1px;
}
.about__lead--main p {
  line-height: 1.61;
}
.about__lead--main p:not(:first-child) {
  margin-top: 1.5em;
}
@media (900px <= width < 1200px) {
  .about__lead--main p:not(:first-child) {
    padding-top: 1.65em;
    margin-top: 0;
  }
}
@media (1200px <= width ) {
  .about__lead--main p:not(:first-child) {
    padding-top: 1.65em;
    margin-top: 0;
  }
}
@media (1200px <= width ) {
  .about__lead--main p:last-child {
    line-height: 1.66;
  }
}
.about__lead--main a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.about__lead--sub {
  margin-top: 1px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 7px 0px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 2px dashed #9ed0e0;
}
@media (900px <= width < 1200px) {
  .about__lead--sub {
    margin-top: 0;
    padding: 10px 0px;
  }
}
@media (1200px <= width ) {
  .about__lead--sub {
    margin-top: 0;
    font-size: 20px;
    padding: 10px 0px;
  }
}

.about__btn {
  margin-top: -1.5px;
  height: 40px;
  padding: 6px 22.5px 8px;
  border-radius: 40px;
}
@media (900px <= width < 1200px) {
  .about__btn {
    margin-top: -1.5px;
    padding: 25px 37px;
  }
}
@media (1200px <= width ) {
  .about__btn {
    margin-top: -1.5px;
    padding: 25px 37px;
  }
}
/* ===============================================
# aboutbg__left
=============================================== */
.aboutbg__left {
  position: absolute;
  top: 0;
  z-index: 51;
  right: calc(50% + 167.5px);
  width: calc(50% - 167.5px);
}
@media (600px <= width < 900px) {
  .aboutbg__left {
    right: calc(50% + 230px);
    width: calc(50% - 230px);
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__left {
    right: calc(50% + 290px);
  }
}
@media (1200px <= width ) {
  .aboutbg__left {
    right: calc(50% + 424px);
  }
}

.aboutbg__left--items {
  position: relative;
}

.aboutbg__left--item01 {
  display: none;
}
@media (900px <= width < 1200px) {
  .aboutbg__left--item01 {
    display: block;
    position: absolute;
    width: 250px;
    height: 250px;
    right: -10px;
    top: -20px;
  }
}
@media (1200px <= width ) {
  .aboutbg__left--item01 {
    display: block;
    position: absolute;
    width: 250px;
    height: 250px;
    right: 103px;
    top: -20px;
  }
}

.aboutbg__left--item02 {
  position: absolute;
  width: 138px;
  top: 709px;
  right: 0;
  left: 0;
}
@media (600px <= width < 900px) {
  .aboutbg__left--item02 {
    width: 200px;
    right: 0;
    left: 0;
    top: 669px;
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__left--item02 {
    width: 427px;
    right: -117px;
    left: auto;
    top: 298px;
  }
}
@media (1200px <= width ) {
  .aboutbg__left--item02 {
    width: 427px;
    right: 0;
    left: 153px;
    top: 321px;
  }
}

.aboutbg__left--item03 {
  position: absolute;
  width: 200px;
  height: 200px;
  top: 395px;
  right: -40px;
}
@media (900px <= width < 1200px) {
  .aboutbg__left--item03 {
    width: 480px;
    height: 480px;
    right: 70px;
    top: 73px;
    border-radius: 40px;
  }
}
@media (1200px <= width ) {
  .aboutbg__left--item03 {
    width: 480px;
    height: 480px;
    right: 190px;
    top: 73px;
    border-radius: 40px;
  }
}
/* ===============================================
  # aboutbg__right
=============================================== */
.aboutbg__right {
  overflow: hidden;
  position: absolute;
  left: calc(50% - 2.5px);
  top: -10px;
  width: calc(50vw + 2.5px);
  height: 1100px;
}
@media (600px <= width < 900px) {
  .aboutbg__right {
    left: 50%;
    width: 50vw;
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__right {
    overflow: hidden;
    width: 50vw;
    height: 1100px;
    top: -60px;
    left: 50%;
  }
}
@media (1200px <= width ) {
  .aboutbg__right {
    overflow: hidden;
    width: 50vw;
    height: 1000px;
    top: -80px;
    left: 50%;
  }
}

.aboutbg__right--items {
  position: relative;
}

.aboutbg__right--item01 {
  position: absolute;
  width: 54px;
  height: 120px;
  top: 0;
  left: 136.14px;
}
@media (600px <= width < 900px) {
  .aboutbg__right--item01 {
    left: 200px;
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item01 {
    width: 70px;
    height: 220px;
    left: 305px;
  }
}
@media (1200px <= width ) {
  .aboutbg__right--item01 {
    width: 100px;
    height: 220px;
    left: 490.2px;
  }
}

.aboutbg__right--item02 {
  position: absolute;
  width: 200px;
  height: 200px;
  top: 283px;
  left: 130.5px;
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item02 {
    width: 480px;
    height: 480px;
    left: 360px;
    top: 133px;
  }
}
@media (1200px <= width ) {
  .aboutbg__right--item02 {
    width: 480px;
    height: 480px;
    left: 560.2px;
    top: 153.07px;
  }
}
.aboutbg__right--item02 img {
  border-radius: 24px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item02 img {
    border-radius: 40px;
  }
}
@media (1200px <= width ) {
  .aboutbg__right--item02 img {
    border-radius: 40px;
  }
}

.aboutbg__right--item03 {
  position: absolute;
  width: 806.851px;
  height: 12.006px;
  left: 514.15px;
  top: 678.33px;
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item03 {
    left: 0;
    top: 638px;
  }
}

.aboutbg__right--item04 {
  position: absolute;
  width: 806.851px;
  height: 12.006px;
  left: 447.08px;
  top: 711.34px;
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item04 {
    left: 0;
    top: 670px;
  }
}

.aboutbg__right--item05 {
  position: absolute;
  width: 48px;
  height: 48px;
  top: 730px;
  left: 120.5px;
}
@media (600px <= width < 900px) {
  .aboutbg__right--item05 {
    width: 80px;
    left: 274px;
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item05 {
    width: 101px;
    height: 100.047px;
    left: 300px;
    top: 661px;
  }
}
@media (1200px <= width ) {
  .aboutbg__right--item05 {
    width: 101px;
    height: 100.047px;
    left: 505px;
    top: 681.32px;
  }
}

.aboutbg__right--item06 {
  position: absolute;
  width: 133px;
  top: 772px;
  left: 0;
}
@media (600px <= width < 900px) {
  .aboutbg__right--item06 {
    width: 200px;
    left: 95px;
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__right--item06 {
    width: 308px;
    height: 150.604px;
    left: 120px;
    top: 880px;
  }
}
@media (1200px <= width ) {
  .aboutbg__right--item06 {
    width: 308px;
    height: 150.604px;
    left: 374px;
    top: 837px;
  }
}

/* ===============================================
#  bg image bottom
=============================================== */
.aboutbg__bottom {
  position: absolute;
  width: 358px;
  top: 847px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 52;
}
@media (600px <= width < 900px) {
  .aboutbg__bottom {
    top: 902px;
    width: 363px;
  }
}
@media (900px <= width < 1200px) {
  .aboutbg__bottom {
    top: 987px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 762px;
    max-width: 100%;
  }
}
@media (1200px <= width ) {
  .aboutbg__bottom {
    top: 996px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 896.604px;
    max-width: 100%;
  }
}
/* ===============================================
# about__autoScroll
=============================================== */
.about__autoScroll {
  position: absolute;
  top: 885.2033px;
  width: 100vw;
  z-index: 52;
}
@media (600px <= width < 900px) {
  .about__autoScroll {
    top: 940px;
  }
}
@media (900px <= width < 1200px) {
  .about__autoScroll {
    top: 1067px;
  }
}
@media (1200px <= width ) {
  .about__autoScroll {
    top: 1086.35px;
  }
}

.p-swiper__about {
  width: 100%;
}

.swiper-wrapper__about {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.swiper-slide__about {
  width: 100px;
  height: 100px;
}
@media (900px <= width < 1200px) {
  .swiper-slide__about {
    width: 200px;
    height: 200px;
  }
}
@media (1200px <= width ) {
  .swiper-slide__about {
    width: 200px;
    height: 200px;
  }
}

.autoScroll__item {
  width: 100px;
  height: 100px;
}
@media (900px <= width < 1200px) {
  .autoScroll__item {
    width: 200px;
    height: 200px;
  }
}
@media (1200px <= width ) {
  .autoScroll__item {
    width: 200px;
    height: 200px;
  }
}

.img1 {
  background: url(../img/about=scroll1.png) center center/contain;
}

.img2 {
  background: url(../img/about=scroll2.png) center center/contain;
}

.img3 {
  background: url(../img/about=scroll3.png) center center/contain;
}

.img4 {
  background: url(../img/about=scroll4.png) center center/contain;
}

.img5 {
  background: url(../img/about=scroll5.png) center center/contain;
}

.img6 {
  background: url(../img/about=scroll6.png) center center/contain;
}

.img7 {
  background: url(../img/about=scroll7.png) center center/contain;
}

.img8 {
  background: url(../img/about=scroll8.png) center center/contain;
}

.img9 {
  background: url(../img/about=scroll9.png) center center/contain;
}

.img10 {
  background: url(../img/about=scroll10.png) center center/contain;
}

.section__step {
  margin-top: 32.8px;
  position: relative;
  overflow: hidden;
}
@media (900px <= width < 1200px) {
  .section__step {
    margin-top: 60px;
    margin-bottom: 0;
  }
}
@media (1200px <= width ) {
  .section__step {
    margin-top: 60px;
    margin-bottom: 0;
  }
}

.step__inner {
  padding-left: 20px;
  padding-right: 20px;
}

.step__contents {
  padding-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (900px <= width < 1200px) {
  .step__contents {
    padding-top: 60px;
    gap: 40px;
  }
}
@media (1200px <= width ) {
  .step__contents {
    padding-top: 60px;
  }
}

.step__top {
  margin-bottom: 16px;
}
@media (900px <= width < 1200px) {
  .step__top {
    margin-bottom: 0;
  }
}
@media (1200px <= width ) {
  .step__top {
    margin-bottom: 0;
  }
}

.step__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15.5px;
  margin-top: 31px;
}
@media (900px <= width < 1200px) {
  .step__main {
    gap: 7px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: -15px;
  }
}
@media (1200px <= width ) {
  .step__main {
    gap: 32px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 39.5px;
  }
}

.step-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media (600px <= width < 900px) {
  .step-body {
    width: 460px;
  }
}
@media (900px <= width < 1200px) {
  .step-body {
    width: min(33.3333333333%, 294px);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (1200px <= width ) {
  .step-body {
    width: 320px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0;
  }
}

.step__pic02 {
  position: relative;
  padding-top: 33.8px;
}
@media (900px <= width < 1200px) {
  .step__pic02 {
    padding-top: 50px;
  }
}
@media (1200px <= width ) {
  .step__pic02 {
    padding-top: 68px;
  }
}
.step__pic02::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 34px;
  background: url(../img/step=line.png) no-repeat center center/cover;
  z-index: 1;
  top: 0;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media (900px <= width < 1200px) {
  .step__pic02::before {
    width: 70px;
    height: 16px;
    left: -49px;
    top: 142.5px;
    background: url(../img/step=line--pc.png) no-repeat center center/cover;
  }
}
@media (1200px <= width ) {
  .step__pic02::before {
    width: 113px;
    height: 24px;
    left: -97px;
    top: 204.5px;
    background: url(../img/step=line--pc.png) no-repeat center center/cover;
  }
}

.step__pic03 {
  position: relative;
  padding-top: 33px;
}
@media (900px <= width < 1200px) {
  .step__pic03 {
    padding-top: 0;
  }
}
@media (1200px <= width ) {
  .step__pic03 {
    padding-top: 0;
  }
}
.step__pic03::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 34px;
  background: url(../img/step=line.png) no-repeat center center/cover;
  z-index: 1;
  top: 0;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media (900px <= width < 1200px) {
  .step__pic03::before {
    width: 70px;
    height: 16px;
    left: -50px;
    top: 142.5px;
    background: url(../img/step=line--pc.png) no-repeat center center/cover;
  }
}
@media (1200px <= width ) {
  .step__pic03::before {
    width: 113px;
    height: 24px;
    left: -88px;
    top: 204.5px;
    background: url(../img/step=line--pc.png) no-repeat center center/cover;
  }
}

@media (1200px <= width ) {
  .step__head {
    margin-top: 24px;
  }
}
.step__head span {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (900px <= width < 1200px) {
  .step__head span {
    font-size: 2.4rem;
  }
}
@media (1200px <= width ) {
  .step__head span {
    font-size: 2.4rem;
  }
}

.step__pic03 .step__head {
  margin-left: 3px;
}
@media (1200px <= width ) {
  .step__pic03 .step__head {
    margin-left: 5px;
  }
}

.step__text {
  text-align: center;
  margin-top: -1px;
}
@media (900px <= width < 1200px) {
  .step__text {
    font-size: 1.4rem;
  }
}
@media (1200px <= width ) {
  .step__text {
    max-width: 100%;
    margin-top: 16px;
  }
}
.step__text a {
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  line-height: 1.7;
}

.step__sns {
  margin-top: -0.8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
  background-color: #ffffff;
  position: relative;
}
@media (1200px <= width ) {
  .step__sns {
    gap: 8px;
    margin-top: 16px;
  }
}
.step__sns:hover::after {
  border: 1px solid #9ed0e0;
}
.step__sns:hover a {
  color: #4a3636;
}
.step__sns::after {
  content: "";
  position: absolute;
  width: 226px;
  height: 37.4px;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  pointer-events: none;
}
@media (900px <= width < 1200px) {
  .step__sns::after {
    width: 229px;
    height: 37.4px;
  }
}
@media (1200px <= width ) {
  .step__sns::after {
    width: 254.71px;
    height: 40.59px;
  }
}
.step__sns a {
  position: relative;
  display: inline-block;
  padding-top: 8px;
  padding-right: 13px;
  padding-bottom: 7px;
  padding-left: 41px;
  font-size: 14px;
  margin-left: -1px;
}
@media (900px <= width < 1200px) {
  .step__sns a {
    padding-left: 44px;
  }
}
@media (1200px <= width ) {
  .step__sns a {
    font-size: 16px;
    margin-left: 0;
    padding-left: 44px;
  }
}
.step__sns a::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/step=Icon--sns.svg) no-repeat center center/cover;
  left: 12px;
  pointer-events: none;
}
@media (900px <= width < 1200px) {
  .step__sns a::before {
    width: 24px;
    height: 24px;
    left: 12px;
  }
}
@media (1200px <= width ) {
  .step__sns a::before {
    width: 24px;
    height: 24px;
    left: 12px;
  }
}

.step__btn {
  margin-top: 16px;
  padding: 5px 22.5px 5.5px;
}
@media (900px <= width < 1200px) {
  .step__btn {
    margin-top: 8px;
    padding: 8px 38px 10px;
  }
}
@media (1200px <= width ) {
  .step__btn {
    margin-top: 49px;
    padding: 8px 38px 10px;
  }
}

/* ===============================================
# stepbg__left
=============================================== */
.stepbg__left {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: -1;
}

.stepbg__left--item01 {
  top: 32px;
  position: absolute;
  width: 149px;
  left: calc(50% - 187.5px);
}
@media (600px <= width < 900px) {
  .stepbg__left--item01 {
    width: 180px;
    left: calc(50% - 250px);
  }
}
@media (900px <= width < 1200px) {
  .stepbg__left--item01 {
    width: 380px;
    top: 0;
    left: calc(50% - 560px);
  }
}
@media (1200px <= width ) {
  .stepbg__left--item01 {
    width: 460px;
    top: 0;
    left: calc(50% - 720px);
  }
}
.stepbg__left--item02 {
  width: 55px;
  position: absolute;
  top: 549.55px;
  left: calc(50% - 167.5px);
}
@media (600px <= width < 900px) {
  .stepbg__left--item02 {
    left: calc(50% - 250px);
  }
}
@media (900px <= width < 1200px) {
  .stepbg__left--item02 {
    width: 70px;
    top: 649px;
    left: 0;
  }
}
@media (1200px <= width ) {
  .stepbg__left--item02 {
    width: 100px;
    top: 640px;
    left: 30px;
  }
}
/* ===============================================
# stepbg__right
=============================================== */
.stepbg__right {
  position: absolute;
  width: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media (900px <= width < 1200px) {
  .stepbg__right {
    left: 50%;
  }
}
@media (1200px <= width ) {
  .stepbg__right {
    left: 50%;
    max-width: 1500px;
  }
}

.stepbg__right--item01 {
  position: absolute;
  width: 105px;
  top: 33px;
  left: calc(50% + 58.5px);
}
@media (900px <= width < 1200px) {
  .stepbg__right--item01 {
    width: 238px;
    height: 141px;
    left: calc(50% + 183px);
  }
}
@media (1200px <= width ) {
  .stepbg__right--item01 {
    width: 238px;
    height: 141px;
    left: calc(50% + 287px);
    top: 35px;
  }
}
.stepbg__right--item02 {
  position: absolute;
  width: 94px;
  left: -43px;
  left: calc(50% + 124.5px);
  top: 38px;
}
@media (900px <= width < 1200px) {
  .stepbg__right--item02 {
    width: 214px;
    height: 181px;
    left: calc(50% + 333px);
  }
}
@media (1200px <= width ) {
  .stepbg__right--item02 {
    width: 214px;
    height: 181px;
    left: calc(50% + 437px);
    top: 44px;
  }
}
.stepbg__right--item03 {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  z-index: -2;
  position: absolute;
  width: 55px;
  left: calc(50% + 112.5px);
  top: 106px;
}
@media (600px <= width < 900px) {
  .stepbg__right--item03 {
    left: calc(50% + 195px);
    top: 126px;
  }
}
@media (900px <= width < 1200px) {
  .stepbg__right--item03 {
    width: 70px;
    left: calc(100% - 70px);
    top: 198px;
  }
}
@media (1200px <= width ) {
  .stepbg__right--item03 {
    width: 100px;
    left: calc(100% - 130px);
    top: 210px;
  }
}
.stepbg__right--item04 {
  position: absolute;
  width: 55px;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  left: calc(50% + 112.5px);
  top: 911.68px;
}
@media (600px <= width < 900px) {
  .stepbg__right--item04 {
    left: calc(50% + 195px);
    top: 921.68px;
  }
}
.section__prizes {
  margin-top: 37px;
  position: relative;
}
@media (900px <= width < 1200px) {
  .section__prizes {
    margin-top: 120px;
  }
}
@media (1200px <= width ) {
  .section__prizes {
    margin-top: 120px;
  }
}

@media (width < 375px) {
  .prizes__inner {
    padding: 0;
  }
}
@media (375px <= width < 600px) {
  .prizes__inner {
    padding: 0;
  }
}
@media (600px <= width < 900px) {
  .prizes__inner {
    padding: 0;
  }
}

.prizes__bgTop {
  position: absolute;
  top: 30px;
  max-width: 100%;
  text-align: center;
}
.prizes__contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 34.67px;
}
@media (900px <= width < 1200px) {
  .prizes__contents {
    padding-bottom: 53px;
    gap: 32px;
  }
}
@media (1200px <= width ) {
  .prizes__contents {
    padding-bottom: 33px;
    gap: 0;
  }
}
.prizes__contents::before {
  position: absolute;
  content: "";
  top: -3px;
  left: 51.5%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 280px;
  height: 83px;
  background: url(../img/prizes=bgtopUnion--sp.png) no-repeat center top/contain;
}
@media (900px <= width < 1200px) {
  .prizes__contents::before {
    width: 500px;
    height: 148px;
    background: url(../img/prizes=bgtopUnion--pc.png) no-repeat center top/contain;
    top: -12px;
    left: 50%;
  }
}
@media (1200px <= width ) {
  .prizes__contents::before {
    top: 1px;
    left: 50%;
    width: 378px;
    height: 150px;
    background: url(../img/prizes=bgtopUnion--pc.png) no-repeat center top/contain;
  }
}
.prizes__contents::after {
  z-index: -1;
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% - 83px);
  top: 80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #ffffff;
  border-radius: 20px;
  padding: 20px;
}
@media (900px <= width < 1200px) {
  .prizes__contents::after {
    top: 135px;
    height: calc(100% - 135px);
  }
}
@media (1200px <= width ) {
  .prizes__contents::after {
    top: 151px;
    height: calc(100% - 135px);
    border-radius: 25px;
  }
}

.prizes__heading {
  padding-top: 17px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (1200px <= width ) {
  .prizes__heading {
    padding-top: 30px;
  }
}

.prizes__heading-section-title-ja {
  margin-top: -1px;
}

.prizes__subheading {
  padding: 0 20px;
  margin-top: 16px;
  text-align: center;
}
@media (1200px <= width ) {
  .prizes__subheading {
    margin-top: 40px;
  }
}

.prizes__cards {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  row-gap: 16px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (900px <= width < 1200px) {
  .prizes__cards {
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    row-gap: 16px;
  }
}
@media (1200px <= width ) {
  .prizes__cards {
    margin-top: 32px;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
    row-gap: 30px;
  }
}

.prizes__card {
  position: relative;
  margin-top: 23px;
  width: calc((100% - 15px - 40px) / 2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (900px <= width < 1200px) {
  .prizes__card {
    width: calc((100% - 15px - 40px) / 2);
    margin-top: 50px;
  }
}
@media (1200px <= width ) {
  .prizes__card {
    width: calc((100% - 32px - 112px) / 2);
    margin-top: 50px;
  }
}
@media (900px <= width < 1200px) {
  .prizes__card:nth-child(n+3) {
    width: calc((100% - 30px - 40px) / 3);
  }
}
@media (1200px <= width ) {
  .prizes__card:nth-child(n+3) {
    width: calc((100% - 64px - 120px) / 3);
  }
}
@media (1200px <= width ) {
  .prizes__card:nth-child(4) {
    margin-left: 4px;
    margin-right: 4px;
  }
}
.prizes__card:hover {
  cursor: pointer;
}
.prizes__card:hover::before {
  border: 4px solid #9ed0e0;
}
.prizes__card:hover .prizes-card__iconBg {
  background: url(../img/prizes=triangle---zoom\(hover\).png) no-repeat center center/cover;
}
.prizes__card:hover .prizes-card__img img {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
}
.prizes__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 4px transparent;
  border-radius: 8px;
  z-index: 1;
  pointer-events: none;
}
@media (1200px <= width ) {
  .prizes__card::before {
    border-radius: 24px;
  }
}

@media (1200px <= width ) {
  .prizes__card:nth-child(n+3)::before {
    border-radius: 16px; /* 3番目以降の .prizes__card の ::before に対する border-radius の値を変更 */
  }
}

.prizes-card__number {
  position: absolute;
  top: -24px;
  width: 48px;
  z-index: 2;
  text-align: center;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (900px <= width < 1200px) {
  .prizes-card__number {
    width: 100px;
    top: -50px;
  }
}
@media (1200px <= width ) {
  .prizes-card__number {
    width: 100px;
    top: -50px;
  }
}
@media (900px <= width < 1200px) {
  .prizes__card:nth-child(n+3) .prizes-card__number {
    top: -40px;
  }
}
@media (1200px <= width ) {
  .prizes__card:nth-child(n+3) .prizes-card__number {
    top: -40px;
  }
}

.prizes-card__inner {
  border-radius: 8px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (1200px <= width ) {
  .prizes-card__inner {
    border-radius: 24px;
  }
}

@media (1200px <= width ) {
  .prizes__card:nth-child(n+3) .prizes-card__inner {
    border-radius: 16px;
  }
}

.prizes-card__img {
  position: relative;
}
.prizes-card__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  vertical-align: middle;
}

.prizes-card__heading {
  width: 100%;
  background-color: #f5f5f5;
  border-radius: 0 0 8px 8px;
  padding: 8.5px 0px;
  position: relative;
  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;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (900px <= width < 1200px) {
  .prizes-card__heading {
    padding: 32px 0px;
  }
}
@media (1200px <= width ) {
  .prizes-card__heading {
    padding: 28px 0px;
    border-radius: 0 0 24px 24px;
  }
}
.prizes-card__heading p {
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (900px <= width < 1200px) {
  .prizes-card__heading p {
    font-size: 2rem;
  }
}
@media (1200px <= width ) {
  .prizes-card__heading p {
    font-size: 2rem;
  }
}

@media (1200px <= width ) {
  .prizes__card:nth-child(n+3) .prizes-card__heading {
    padding: 14px 0;
    border-radius: 0 0 16px 16px;
  }
}
@media (1200px <= width ) {
  .prizes__card:nth-child(n+3) .prizes-card__heading p {
    font-size: 1.6rem;
  }
}

.prizes-card__icon {
  position: absolute;
  right: 0;
  bottom: 0;
}

.zoomWrapper {
  position: relative;
}

.prizes-card__iconBg {
  position: absolute;
  content: "";
  width: 36px;
  height: 36px;
  right: 0;
  bottom: 0;
  background: url(../img/prizes=triangle---zoom.png) no-repeat center center/cover;
  border-radius: 0 0 8px 0;
}
@media (900px <= width < 1200px) {
  .prizes-card__iconBg {
    width: 100px;
    height: 100px;
  }
}
@media (1200px <= width ) {
  .prizes-card__iconBg {
    width: 100px;
    height: 100px;
    border-radius: 0 0 24px 0;
  }
}

@media (900px <= width < 1200px) {
  .prizes__card:nth-of-type(n + 3) .prizes-card__iconBg {
    width: 64px;
    height: 64px;
  }
}
@media (1200px <= width ) {
  .prizes__card:nth-of-type(n + 3) .prizes-card__iconBg {
    width: 64px;
    height: 64px;
    border-radius: 0 0 16px 0;
  }
}

.prizes-card__icon-img {
  position: absolute;
  content: "";
  width: 11.52px;
  height: 11.52px;
  right: 5.22px;
  bottom: 5.12px;
  background: url(../img/prizes=zoom_icon.png) no-repeat center center/cover;
}
@media (900px <= width < 1200px) {
  .prizes-card__icon-img {
    width: 32px;
    height: 32px;
    right: 12.5px;
    bottom: 14px;
  }
}
@media (1200px <= width ) {
  .prizes-card__icon-img {
    width: 32px;
    height: 32px;
    right: 13px;
    bottom: 14.12px;
  }
}

@media (900px <= width < 1200px) {
  .prizes__card:nth-of-type(n + 3) .prizes-card__icon-img {
    width: 20.48px;
    height: 20.48px;
    bottom: 8.96px;
    right: 8px;
  }
}
@media (1200px <= width ) {
  .prizes__card:nth-of-type(n + 3) .prizes-card__icon-img {
    width: 20.48px;
    height: 20.48px;
    bottom: 8.96px;
    right: 8px;
  }
}

.prizes__btn {
  margin-top: 18.5px;
  padding: 5px 22.5px;
}
@media (900px <= width < 1200px) {
  .prizes__btn {
    padding: 9px 37.5px 9.5px;
  }
}
@media (1200px <= width ) {
  .prizes__btn {
    padding: 9px 37.5px 9.5px;
    margin-top: 40.5px;
  }
}

.prizes__bgBottom {
  z-index: -2;
  margin-top: -47px;
  position: relative;
}
@media (1200px <= width ) {
  .prizes__bgBottom {
    margin-top: 16px;
  }
}

.prizes__bgBottom--img {
  height: 260px;
  position: relative;
  background: url(../img/prizes=prizes_bg.png) center/cover no-repeat;
}
@media (900px <= width < 1200px) {
  .prizes__bgBottom--img {
    top: 0;
    height: 640px;
    background: url(../img/prizes=prizes_bg--pc.png) center/cover no-repeat;
  }
}
@media (1200px <= width ) {
  .prizes__bgBottom--img {
    top: 0;
    height: 640px;
    background: url(../img/prizes=prizes_bg--pc.png) center/cover no-repeat;
  }
}

.modal {
  display: none;
}

.modal__bg {
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 160;
}

.modal-wrapper__prizes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 336px;
  max-width: calc(100% - 20px);
  height: 480px;
  max-height: calc(100% - 20px);
  background-color: #f5f5f5;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 200;
  overflow: auto;
  border-radius: 24px;
}
@media (600px <= width < 900px) {
  .modal-wrapper__prizes {
    width: 400px;
    height: 540px;
  }
}
@media (900px <= width < 1200px) {
  .modal-wrapper__prizes {
    width: 480px;
    height: 650px;
  }
}
@media (1200px <= width ) {
  .modal-wrapper__prizes {
    width: 480px;
    height: 650px;
  }
}

.img-box {
  width: 336px;
  max-width: 100%;
  height: 210px;
  border-radius: 24px 24px 0 0;
}
@media (600px <= width < 900px) {
  .img-box {
    width: 400px;
    height: 250px;
  }
}
@media (900px <= width < 1200px) {
  .img-box {
    width: 480px;
    height: 300px;
  }
}
@media (1200px <= width ) {
  .img-box {
    width: 480px;
    height: 300px;
  }
}
.img-box img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 336px;
  max-width: 100%;
  height: 210px;
}
@media (600px <= width < 900px) {
  .img-box img {
    width: 400px;
    height: 250px;
  }
}
@media (900px <= width < 1200px) {
  .img-box img {
    width: 480px;
    height: 300px;
  }
}
@media (1200px <= width ) {
  .img-box img {
    width: 480px;
    height: 300px;
  }
}

.txt-box {
  border-radius: 0 0 24px 24px;
  width: 100%;
  padding: 0 20px;
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (900px <= width < 1200px) {
  .txt-box {
    padding: 0 40px 32px;
  }
}
@media (1200px <= width ) {
  .txt-box {
    padding: 0 40px 32px;
  }
}
.txt-box p {
  text-align: center;
}

.ttl {
  font-size: 1.6rem;
}
@media (900px <= width < 1200px) {
  .ttl {
    font-size: 2rem;
  }
}
@media (1200px <= width ) {
  .ttl {
    font-size: 2rem;
  }
}

.txt {
  margin-top: 12px;
}

.modal__btn {
  margin-top: 16px;
  padding: 4.205px 22px 6.205px 22px;
}
@media (900px <= width < 1200px) {
  .modal__btn {
    padding-top: 8px;
    padding-right: 37px;
    padding-bottom: 10px;
    padding-left: 37px;
  }
}
@media (1200px <= width ) {
  .modal__btn {
    padding-top: 8px;
    padding-right: 37px;
    padding-bottom: 10px;
    padding-left: 37px;
  }
}

.section__spots * {
  min-height: 0;
  min-width: 0;
}

.section__spots {
  position: relative;
  padding-top: 45.7px;
  background-color: transparent;
  margin-top: -45.7px;
}
@media (900px <= width < 1200px) {
  .section__spots {
    padding-top: 120px;
    margin-top: -120px;
  }
}
@media (1200px <= width ) {
  .section__spots {
    padding-top: 120px;
    margin-top: -120px;
  }
}

.spots__inner {
  position: relative;
  background-color: #67b0c7;
  margin-top: -2px;
  padding-bottom: 2px;
}
.spots__inner::before {
  content: "";
  position: absolute;
  height: 45.7px;
  width: 100%;
  background-image: url(../img/prizes=bgbottom_wave.png);
  background-repeat: repeat-x;
  background-position: left -5px center;
  background-size: contain;
  z-index: 2;
  top: -44.2px;
}
@media (900px <= width < 1200px) {
  .spots__inner::before {
    height: 120px;
    top: -120px;
  }
}
@media (1200px <= width ) {
  .spots__inner::before {
    height: 120px;
    top: -117.5px;
    left: 2.5px;
  }
}
.spots__inner::after {
  content: "";
  position: absolute;
  height: 45px;
  width: 100%;
  background-image: url(../img/prizes=bgbottom_wave.png);
  background-repeat: repeat-x;
  background-position: left -5px center;
  background-size: contain;
  z-index: 1;
  bottom: -44px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media (900px <= width < 1200px) {
  .spots__inner::after {
    height: 120px;
    bottom: -119px;
    z-index: -2;
  }
}
@media (1200px <= width ) {
  .spots__inner::after {
    height: 120px;
    bottom: -102.5px;
    left: -5px;
    z-index: -2;
  }
}

.spots__main {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 23px;
}
@media (900px <= width < 1200px) {
  .spots__main {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-left: max(30px, 50vw - 512px);
    gap: 32px;
  }
}
@media (1200px <= width ) {
  .spots__main {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-left: max(30px, 50vw - 512px);
    gap: 32px;
  }
}

.spots__heading {
  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;
  min-width: auto;
  padding-top: 2px;
  gap: 8px;
}
@media (900px <= width < 1200px) {
  .spots__heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    width: 56px;
  }
}
@media (1200px <= width ) {
  .spots__heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    width: 56px;
  }
}

.spots-heading__icon {
  width: 28px;
}
@media (900px <= width < 1200px) {
  .spots-heading__icon {
    width: 56px;
    padding-bottom: 16px;
  }
}
@media (1200px <= width ) {
  .spots-heading__icon {
    width: 56px;
    padding-bottom: 7px;
  }
}

.spots-section-title {
  color: #ffffff;
  text-align: center;
  font-family: "Kiwi Maru", serif;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.25;
}
@media (900px <= width < 1200px) {
  .spots-section-title {
    font-size: 4rem;
    letter-spacing: 0.25em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
@media (1200px <= width ) {
  .spots-section-title {
    font-size: 4rem;
    letter-spacing: 0.25em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: upright;
  }
}

/* ===============================================
# swiper
=============================================== */
.swiper-container {
  position: relative;
}

.p-swiper__spots {
  position: relative;
}

.swiper-wrapper {
  position: relative;
}

.swiper-slide {
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.swiper-slide__spots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 17px;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (900px <= width < 1200px) {
  .swiper-slide__spots {
    border-radius: 24px;
  }
}
@media (1200px <= width ) {
  .swiper-slide__spots {
    border-radius: 29px 29px 23px 23px;
    gap: 26px;
  }
}

.spots-card__img-box {
  border-radius: 12px 12px 0 0;
  margin-left: -0.86px;
}
@media (900px <= width < 1200px) {
  .spots-card__img-box {
    border-radius: 24px 24px 0 0;
  }
}
@media (1200px <= width ) {
  .spots-card__img-box {
    border-radius: 29px 29px 0 0;
  }
}
.spots-card__img-box img {
  -o-object-fit: cover;
     object-fit: cover;
}

.spots-card__txt-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-left: 23.5px;
  padding-right: 23.5px;
  padding-bottom: 29.16px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media (900px <= width < 1200px) {
  .spots-card__txt-box {
    padding: 0 32px;
    padding-bottom: 40px;
    gap: 25px;
  }
}
@media (1200px <= width ) {
  .spots-card__txt-box {
    padding: 0 32px;
    padding-bottom: 42px;
    gap: 25px;
  }
}

.spots-card__ttl {
  text-align: center;
}
@media (900px <= width < 1200px) {
  .spots-card__ttl {
    font-size: 2rem;
  }
}

.swiper-button__wrapper {
  position: absolute;
  top: calc(100% - 31px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 560px;
  z-index: 1;
}
@media (1200px <= width ) {
  .swiper-button__wrapper {
    top: calc(100% - 56px);
    gap: 804px;
  }
}

.swiper-button-prev {
  position: relative;
  width: 80px;
  height: 80px;
  background-color: #ffee56;
  border-radius: 50%;
  margin-top: 0;
}
.swiper-button-prev::after {
  content: "";
  position: absolute;
  width: 57px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../img/spots=slider__arrow.svg) no-repeat center center/cover;
}

.swiper-button-next {
  position: relative;
  width: 80px;
  height: 80px;
  background-color: #ffee56;
  border-radius: 50%;
  margin-top: 0;
}
.swiper-button-next::after {
  content: "";
  position: absolute;
  width: 57px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../img/spots=slider__arrow.svg) no-repeat center center/cover;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.spots__bottom {
  position: relative;
}

.spots-bottom__bgimg {
  position: absolute;
  left: 0;
  top: 30px;
  width: 80px;
}
@media (1200px <= width ) {
  .spots-bottom__bgimg {
    top: -97px;
    left: calc(50% - 720px);
    width: 100px;
  }
}
.spots__bottom--body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (1200px <= width ) {
  .spots__bottom--body {
    margin-top: 51px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 81px;
  }
}

.spots-bottom__logoimg {
  width: 255px;
}
@media (900px <= width < 1200px) {
  .spots-bottom__logoimg {
    width: 360px;
  }
}
@media (1200px <= width ) {
  .spots-bottom__logoimg {
    width: 495px;
    margin-top: -6px;
  }
}
.spots-bottom__textbox {
  margin-top: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (1200px <= width ) {
  .spots-bottom__textbox {
    margin-top: 0;
    padding-top: 13px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}

.spots-bottom__text {
  color: #ffffff;
  text-align: center;
  font-size: 1.1444rem;
}
@media (600px <= width < 900px) {
  .spots-bottom__text {
    font-size: 1.4rem;
  }
}
@media (900px <= width < 1200px) {
  .spots-bottom__text {
    font-size: 1.4rem;
  }
}
@media (1200px <= width ) {
  .spots-bottom__text {
    font-size: 1.6rem;
  }
}

.spots__btn {
  margin-top: 24px;
  margin-bottom: 20px;
  padding: 4px 22px 6px;
}
@media (900px <= width < 1200px) {
  .spots__btn {
    padding: 9px 37px 10px 38px;
  }
}
@media (1200px <= width ) {
  .spots__btn {
    padding: 9px 37px 10px 38px;
  }
}

.section__faq {
  margin-top: 84px;
}
@media (900px <= width < 1200px) {
  .section__faq {
    margin-top: 240px;
  }
}
@media (1200px <= width ) {
  .section__faq {
    margin-top: 222px;
  }
}

.qa-box {
  margin-top: 23.5px;
}
@media (900px <= width < 1200px) {
  .qa-box {
    margin-top: 40px;
  }
}
@media (1200px <= width ) {
  .qa-box {
    margin-top: 40px;
  }
}

.qa-box li {
  border-radius: 12px;
  border: 2px solid #4a3636;
  background: #ffffff;
}
@media (900px <= width < 1200px) {
  .qa-box li {
    border-radius: 16px;
  }
}
@media (1200px <= width ) {
  .qa-box li {
    border-radius: 16px;
  }
}
.qa-box li:not(:first-child) {
  margin-top: 12.3px;
}
@media (900px <= width < 1200px) {
  .qa-box li:not(:first-child) {
    margin-top: 24px;
  }
}
@media (1200px <= width ) {
  .qa-box li:not(:first-child) {
    margin-top: 24px;
  }
}

.qa-box__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 13px;
  padding: 10.5px 14px 8.5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
@media (900px <= width < 1200px) {
  .qa-box__heading {
    padding: 20.5px 22px 19.5px 22px;
  }
}
@media (1200px <= width ) {
  .qa-box__heading {
    padding: 20px;
    gap: 19px;
  }
}

.qa-box li:nth-child(1) .qa-box__heading {
  padding: 10.5px 14px;
}
@media (900px <= width < 1200px) {
  .qa-box li:nth-child(1) .qa-box__heading {
    padding: 20.5px 22px 19.5px 22px;
  }
}
@media (1200px <= width ) {
  .qa-box li:nth-child(1) .qa-box__heading {
    padding: 20px;
  }
}

.qa-box__heading-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.4rem;
  color: #9ed0e0;
  line-height: 1;
}
@media (900px <= width < 1200px) {
  .qa-box__heading-icon {
    font-size: 3.2rem;
  }
}
@media (1200px <= width ) {
  .qa-box__heading-icon {
    font-size: 3.2rem;
  }
}

/*アコーディオンタイトル*/
.title {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.qa-box__heading-toggle {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  display: inline-block;
  width: 26.182px;
  height: 26.182px;
  border-radius: 50%;
  background-color: #9ed0e0;
}
@media (900px <= width < 1200px) {
  .qa-box__heading-toggle {
    width: 48px;
    height: 48px;
  }
}
@media (1200px <= width ) {
  .qa-box__heading-toggle {
    width: 48px;
    height: 48px;
  }
}

/*アイコンの＋と-*/
.qa-box__heading-toggle::before,
.qa-box__heading-toggle::after {
  position: absolute;
  content: "";
  width: 10.182px;
  height: 1.455px;
  background-color: #ffffff;
  top: 48%;
  left: 32%;
}
@media (900px <= width < 1200px) {
  .qa-box__heading-toggle::before,
  .qa-box__heading-toggle::after {
    width: 18.667px;
    height: 2.667px;
  }
}
@media (1200px <= width ) {
  .qa-box__heading-toggle::before,
  .qa-box__heading-toggle::after {
    width: 18.667px;
    height: 2.667px;
  }
}

.qa-box__heading-toggle::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

/*　closeというクラスがついたら形状変化　*/
.qa-box__heading.close .qa-box__heading-toggle::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

/*アコーディオンで現れるエリア*/
.qa-box__body {
  display: none; /*はじめは非表示*/
  background: #f5f5f5;
  padding: 17px 14.5px 12.5px 14.5px;
  border-radius: 0 0 12px 12px;
}
@media (900px <= width < 1200px) {
  .qa-box__body {
    padding: 24px;
    border-radius: 0 0 16px 16px;
  }
}
@media (1200px <= width ) {
  .qa-box__body {
    padding: 26px 23px 22px;
    border-radius: 0 0 16px 16px;
  }
}

.qa-box-body__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15.5px;
}

.qa-box-body__inner h5 a {
  text-decoration: underline;
}

.qa-box__answer-icon {
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.4rem;
  color: #9ed0e0;
  line-height: 1.25;
}
@media (900px <= width < 1200px) {
  .qa-box__answer-icon {
    font-size: 3.2rem;
  }
}
@media (1200px <= width ) {
  .qa-box__answer-icon {
    font-size: 3.2rem;
  }
}

.qa-box__body h5 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.section__entry-requirements {
  margin-top: 30px;
}
@media (900px <= width < 1200px) {
  .section__entry-requirements {
    margin-top: 120px;
  }
}
@media (1200px <= width ) {
  .section__entry-requirements {
    margin-top: 120px;
  }
}

.entry-requirements__contents {
  border: 8px solid var(--lp-white, #fff);
  background: rgba(255, 255, 255, 0.5);
  padding-top: 16px;
  padding-bottom: 15px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (900px <= width < 1200px) {
  .entry-requirements__contents {
    padding: 32px 48px;
  }
}
@media (1200px <= width ) {
  .entry-requirements__contents {
    padding: 32px 48px 34px;
  }
}

.entry-requirements__heading-title-ja {
  border-bottom: 6px solid #ffee56;
  padding-bottom: 5px;
}
@media (1200px <= width ) {
  .entry-requirements__heading-title-ja {
    margin-top: -1px;
    border-bottom: 8px solid #ffee56;
    padding-bottom: 8px;
  }
}

.entry-requirements__items {
  margin-top: 24px;
}
@media (900px <= width < 1200px) {
  .entry-requirements__items {
    margin-top: 40px;
  }
}
@media (1200px <= width ) {
  .entry-requirements__items {
    margin-top: 40px;
  }
}

.entry-requirements__items dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}

.entry-requirements__item {
  padding-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
}
.entry-requirements__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
@media (900px <= width < 1200px) {
  .entry-requirements__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
    padding-left: 16px;
    padding-bottom: 12px;
  }
}
@media (1200px <= width ) {
  .entry-requirements__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 19px;
    padding-left: 16px;
    padding-bottom: 12px;
  }
}

.entry-requirements__item dt p {
  padding-left: 17px;
  position: relative;
  padding-top: 0.5px;
  font-size: 1.4rem;
  font-weight: 700;
}
@media (600px <= width < 900px) {
  .entry-requirements__item dt p {
    font-size: 1.6rem;
  }
}
@media (900px <= width < 1200px) {
  .entry-requirements__item dt p {
    font-size: 1.6rem;
    width: 204px;
  }
}
@media (1200px <= width ) {
  .entry-requirements__item dt p {
    font-size: 1.6rem;
    padding-left: 16px;
    width: 204px;
  }
}
.entry-requirements__item dt p::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #9ed0e0;
}

.entry-requirements__item dd {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-left: 1px;
}

.entry-requirements__item dd a {
  text-decoration: underline;
  cursor: pointer;
  text-underline-offset: 2px;
  padding-top: 1px;
}

.entry-requirements__item dd ul li {
  position: relative;
  padding-left: 1.5em;
}
.entry-requirements__item dd ul li:not(:first-child) {
  margin-top: -1px;
}
@media (1200px <= width ) {
  .entry-requirements__item dd ul li:not(:first-child) {
    margin-top: 1px;
  }
}
.entry-requirements__item dd ul li:nth-child(7) {
  margin-top: 1px;
}
@media (1200px <= width ) {
  .entry-requirements__item dd ul li:nth-child(7) {
    margin-top: -1px;
  }
}
.entry-requirements__item dd ul li::before {
  content: "・";
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0.2em;
}

.entry-requirements__item dd ul li span {
  display: inline-block;
}

.entry-requirements__item dd ul li a {
  line-height: 1;
}

.entry-requirements_bgimg {
  margin-top: 32.5px;
  padding-top: 26.4%;
  background: url(../img/entry-requirements=bg_bottom.png) no-repeat center center/cover;
}
@media (900px <= width < 1200px) {
  .entry-requirements_bgimg {
    margin-top: 120px;
  }
}
@media (1200px <= width ) {
  .entry-requirements_bgimg {
    margin-top: 120px;
  }
}

.section__contact {
  background-color: #ffffff;
}

@media (900px <= width < 1200px) {
  .contact__inner {
    width: min(848px, 100% - 60px);
    padding: 0;
  }
}
@media (1200px <= width ) {
  .contact__inner {
    width: min(848px, 100% - 60px);
    padding: 0;
  }
}

.contact__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media (900px <= width < 1200px) {
  .contact__contents {
    gap: 40px;
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
@media (1200px <= width ) {
  .contact__contents {
    padding-top: 120px;
    padding-bottom: 116px;
  }
}

.contact__section-title-en {
  margin-top: 0;
}

.contact-subhead {
  margin-top: 24px;
  text-align: center;
}
@media (1200px <= width ) {
  .contact-subhead {
    margin-top: 32px;
  }
}

.contact__form {
  margin-top: 26px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.contact__fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}
@media (1200px <= width ) {
  .contact__fields {
    margin-top: 14px;
    gap: 24px;
  }
}

.form-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media (900px <= width < 1200px) {
  .form-field {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (1200px <= width ) {
  .form-field {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.form-field__head {
  width: 184px;
}

.form-field__label {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
}
@media (900px <= width < 1200px) {
  .form-field__label {
    line-height: 56px;
    font-size: 1.6rem;
  }
}
@media (1200px <= width ) {
  .form-field__label {
    line-height: 56px;
    font-size: 1.6rem;
  }
}

@media (1200px <= width ) {
  .contact__field:last-child .form-field__label {
    line-height: 27px;
  }
}

.form-field__tag {
  font-size: 1.2rem;
  padding: 5px 8px 4px;
  background-color: #ce2073;
  color: #ffffff;
  margin-left: 9px;
  border-radius: 4px;
}
@media (1200px <= width ) {
  .form-field__tag {
    margin-top: -1px;
    padding: 6px 8px 4px;
  }
}

.form-field__item {
  width: 100%;
  font-size: 1.4rem;
}
@media (900px <= width < 1200px) {
  .form-field__item {
    font-size: 1.6rem;
    width: calc(100% - 184px - 40px);
  }
}
@media (1200px <= width ) {
  .form-field__item {
    font-size: 1.6rem;
    width: calc(100% - 184px - 36px);
  }
}
.form-field__item input[type=text],
.form-field__item input[type=email],
.form-field__item input[type=checkbox],
.form-field__item textarea {
  outline: none;
}
.form-field__item input[type=text]:focus,
.form-field__item input[type=email]:focus,
.form-field__item input[type=checkbox]:focus,
.form-field__item textarea:focus {
  border: 1px solid #9ed0e0;
  background: #e9f6f8;
}
.form-field__item input[type=text]::-webkit-input-placeholder, .form-field__item input[type=email]::-webkit-input-placeholder, .form-field__item input[type=checkbox]::-webkit-input-placeholder, .form-field__item textarea::-webkit-input-placeholder {
  color: #ccc;
}
.form-field__item input[type=text]::-moz-placeholder, .form-field__item input[type=email]::-moz-placeholder, .form-field__item input[type=checkbox]::-moz-placeholder, .form-field__item textarea::-moz-placeholder {
  color: #ccc;
}
.form-field__item input[type=text]:-ms-input-placeholder, .form-field__item input[type=email]:-ms-input-placeholder, .form-field__item input[type=checkbox]:-ms-input-placeholder, .form-field__item textarea:-ms-input-placeholder {
  color: #ccc;
}
.form-field__item input[type=text]::-ms-input-placeholder, .form-field__item input[type=email]::-ms-input-placeholder, .form-field__item input[type=checkbox]::-ms-input-placeholder, .form-field__item textarea::-ms-input-placeholder {
  color: #ccc;
}
.form-field__item input[type=text]::placeholder,
.form-field__item input[type=email]::placeholder,
.form-field__item input[type=checkbox]::placeholder,
.form-field__item textarea::placeholder {
  color: #ccc;
}

.form-text {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  border-radius: 8px;
  border: none;
  width: 100%;
  background-color: #f5f5f5;
  padding: 16px;
}
@media (1200px <= width ) {
  .form-text {
    padding: 16px 16px 14px;
  }
}

.form-select {
  margin-top: 1px;
  margin-bottom: -3px;
  border-radius: 8px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: none;
  outline: none;
  background: url(../img/contact=control-arrow.png) no-repeat center right 10px/32px 32px, linear-gradient(to left, #9ed0e0 0% 52px, #f5f5f5 52px 100%);
  padding: 16px;
}
.form-select:focus {
  border: 1px solid #9ed0e0;
  background: url(../img/contact=control-arrow.png) no-repeat center right 10px/32px 32px, linear-gradient(to left, #9ed0e0 0% 52px, #e9f6f8 52px 100%);
}
@media (1200px <= width ) {
  .form-select {
    padding: 14.5px 16px;
  }
}

.form--checks {
  margin-top: -1px;
  margin-bottom: -1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media (1200px <= width ) {
  .form--checks {
    gap: 22px;
  }
}

@media (900px <= width < 1200px) {
  .form--check {
    line-height: 56px;
  }
}
@media (1200px <= width ) {
  .form--check {
    line-height: 56px;
  }
}

.form--check__input {
  width: 1px;
  height: 1px;
  position: absolute;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  overflow: hidden;
  opacity: 0;
}
.form--check__input:checked + .form--check__text {
  font-weight: 700;
}
.form--check__input:checked + .form--check__text::after {
  opacity: 1;
}
.form--check__input:focus + .form--check__text::before {
  border: 1px solid #9ed0e0;
}

.form--check__text {
  position: relative;
  padding-left: 32px;
}
.form--check__text::before, .form--check__text::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form--check__text::before {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f5f5f5;
}
.form--check__text::after {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #9ed0e0;
  left: 6px;
  opacity: 0;
}
@media (1200px <= width ) {
  .form--check__text {
    padding-left: 34px;
  }
}

.form-textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  border-radius: 8px;
  border: none;
  width: 100%;
  background-color: #f5f5f5;
  padding: 16px;
  height: 160px;
  width: 100%;
}

/* ===============================================
# privacy
=============================================== */
.contact__privacy {
  margin-top: 24px;
  text-align: center;
}
@media (1200px <= width ) {
  .contact__privacy {
    margin-top: 40.5px;
  }
}

.form-checkbox__input {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}
.form-checkbox__input:checked + .form-checkbox__text::after {
  opacity: 1;
}

.form-checkbox__text {
  position: relative;
  padding-left: 35px;
  font-size: 1.4rem;
}
@media (900px <= width < 1200px) {
  .form-checkbox__text {
    font-size: 1.6rem;
  }
}
@media (1200px <= width ) {
  .form-checkbox__text {
    font-size: 1.6rem;
  }
}
.form-checkbox__text::before, .form-checkbox__text::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form-checkbox__text::before {
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: #f5f5f5;
}
.form-checkbox__text::after {
  width: 14px;
  height: 9px;
  left: 5px;
  background: url(../img/contact=privacycheck.png) no-repeat center center/contain;
  opacity: 0;
}
.form-checkbox__text a {
  text-decoration-line: underline;
  text-underline-offset: 2px;
}

/* ===============================================
# 送信ボタン
=============================================== */
.contact__button {
  margin-top: 25.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (1200px <= width ) {
  .contact__button {
    margin-top: 40px;
  }
}
.contact__button input {
  padding: 5px 22px 5.5px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #4a3636;
}
@media (900px <= width < 1200px) {
  .contact__button input {
    padding: 4px 38px 5px;
  }
}
@media (1200px <= width ) {
  .contact__button input {
    padding: 4px 38px 5px;
  }
}

/* ===============================================
#エラー
=============================================== */
/* 未入力時のスタイル */
.error {
  border: 1px solid #ce2073;
  background: #fff0f7;
}

.error-select {
  border: 1px solid #ce2073;
  background: url(../img/contact=control-arrow.png) no-repeat center right 10px/32px 32px, linear-gradient(to left, #ce2073 0% 52px, #fff0f7 52px 100%);
}

.error-label {
  color: #ce2073; /* ラベルの色を赤に変更 */
}

input:-internal-autofill-selected {
  -webkit-box-shadow: 0 0 0 1000px #f5f5f5 inset;
          box-shadow: 0 0 0 1000px #f5f5f5 inset;
  border: none;
}

.form-checkbox__input.error-checkbox + .form-checkbox__text::before {
  background: #fff0f7;
  border: 1px solid #ce2073;
}

.section__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  overflow: hidden;
}

.footer__bgimg {
  position: absolute;
  top: 80px;
  text-align: right;
  pointer-events: none;
}
@media (900px <= width < 1200px) {
  .footer__bgimg {
    width: min(1100px, 100vw);
  }
}
@media (1200px <= width ) {
  .footer__bgimg {
    width: 1352px;
  }
}

.footer__bgimg--wrapper {
  display: inline-block;
}
@media (900px <= width < 1200px) {
  .footer__bgimg--wrapper {
    width: 70px;
  }
}
@media (1200px <= width ) {
  .footer__bgimg--wrapper {
    width: 100px;
  }
}

.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(600px, 100vw - 40px);
}
@media (900px <= width < 1200px) {
  .footer__inner {
    width: min(1024px, 100vw - 60px);
  }
}
@media (1200px <= width ) {
  .footer__inner {
    width: min(1024px, 100vw - 60px);
  }
}

.footer-head {
  font-family: "Josefin Sans", sans-serif;
  padding-top: 37px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (900px <= width < 1200px) {
  .footer-head {
    padding-top: 120px;
  }
}
@media (1200px <= width ) {
  .footer-head {
    padding-top: 116px;
  }
}

.footer-head__heading {
  font-size: 2rem;
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
}
@media (900px <= width < 1200px) {
  .footer-head__heading {
    font-size: 2.4rem;
  }
}
@media (1200px <= width ) {
  .footer-head__heading {
    font-size: 2.4rem;
  }
}
.footer-head__heading::before {
  position: absolute;
  content: "\\";
  left: -5px;
}
@media (1200px <= width ) {
  .footer-head__heading::before {
    left: -7px;
  }
}
.footer-head__heading::after {
  position: absolute;
  content: "/";
  right: -4px;
}
@media (1200px <= width ) {
  .footer-head__heading::after {
    right: -7px;
  }
}

.footer-head__snsIcons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-top: 20px;
}

.footer-head__snsIcon {
  width: 32px;
}
@media (900px <= width < 1200px) {
  .footer-head__snsIcon {
    width: 40px;
  }
}
@media (1200px <= width ) {
  .footer-head__snsIcon {
    width: 40px;
  }
}
.footer-head__snsIcon a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer-head__snsIcon a:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}

.footer-head__iconOnomichi {
  width: 101%;
  margin-top: 14px;
}
@media (900px <= width < 1200px) {
  .footer-head__iconOnomichi {
    margin-top: 30px;
    width: 755px;
  }
}
@media (1200px <= width ) {
  .footer-head__iconOnomichi {
    margin-top: 43px;
    width: 744px;
  }
}

.footer__body--wrapper {
  width: 100%;
  margin-top: -1px;
}

.footer__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}
@media (900px <= width < 1200px) {
  .footer__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (1200px <= width ) {
  .footer__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.iframe-wrap {
  width: 100%;
  padding-top: 80.8955223881%;
  position: relative;
}
@media (900px <= width < 1200px) {
  .iframe-wrap {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-top: 39.0625%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media (1200px <= width ) {
  .iframe-wrap {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-top: 39.0625%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 22px 21px 23px 21px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (900px <= width < 1200px) {
  .footer__info {
    padding: 0;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media (1200px <= width ) {
  .footer__info {
    padding: 0;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.footer__info--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (1200px <= width ) {
  .footer__info--wrap {
    gap: 18px;
  }
}

.footer__logo {
  width: 153px;
  margin-left: auto;
  margin-right: auto;
}
@media (900px <= width < 1200px) {
  .footer__logo {
    width: 183px;
    margin: 0;
  }
}
@media (1200px <= width ) {
  .footer__logo {
    padding-top: 3px;
    width: 183px;
    margin: 0;
  }
}
.footer__textbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding: 6px 0;
}
@media (1200px <= width ) {
  .footer__textbox {
    gap: 12.5px;
  }
}

.footer__textbox--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer__textbox--row dt {
  padding-left: 16px;
  width: 80px;
  position: relative;
  font-size: 1.2rem;
  font-weight: 700;
}
@media (width < 375px) {
  .footer__textbox--row dt {
    font-size: 3vmin;
  }
}
@media (600px <= width < 900px) {
  .footer__textbox--row dt {
    font-size: 1.4rem;
  }
}
@media (900px <= width < 1200px) {
  .footer__textbox--row dt {
    width: 120px;
    font-size: 1.4rem;
  }
}
@media (1200px <= width ) {
  .footer__textbox--row dt {
    width: 120px;
    font-size: 1.6rem;
  }
}
.footer__textbox--row dt::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #9ed0e0;
}
.footer__textbox--row dd {
  font-size: 1.2rem;
}
@media (width < 375px) {
  .footer__textbox--row dd {
    font-size: 3vmin;
  }
}
@media (600px <= width < 900px) {
  .footer__textbox--row dd {
    font-size: 1.4rem;
  }
}
@media (900px <= width < 1200px) {
  .footer__textbox--row dd {
    font-size: 1.4rem;
  }
}
@media (1200px <= width ) {
  .footer__textbox--row dd {
    font-size: 1.6rem;
  }
}
@media (900px <= width < 1200px) {
  .footer__textbox--row dd a[href^="tel:"] {
    pointer-events: none;
  }
}
@media (1200px <= width ) {
  .footer__textbox--row dd a[href^="tel:"] {
    pointer-events: none;
  }
}

.to-top {
  width: 78px;
  margin-top: 22.5px;
  z-index: 100;
}
@media (900px <= width < 1200px) {
  .to-top {
    position: fixed;
    right: 40px;
    bottom: 40px;
    margin: 0;
    width: 80px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
@media (1200px <= width ) {
  .to-top {
    position: fixed;
    right: 40px;
    bottom: 40px;
    margin: 0;
    width: 100px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.to-top.is-show {
  opacity: 1;
  visibility: visible;
}
.to-top:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
.footer__bottom {
  padding-bottom: 24px;
  background-color: #67b0c7;
  text-align: center;
  margin-top: 67px;
  position: relative;
  width: 100vw;
}
@media (900px <= width < 1200px) {
  .footer__bottom {
    margin-top: 240px;
  }
}
@media (1200px <= width ) {
  .footer__bottom {
    margin-top: 240px;
    padding-bottom: 31px;
  }
}
.footer__bottom::before {
  content: "";
  position: absolute;
  height: 45.9px;
  width: 100vw;
  background-image: url(../img/prizes=bgbottom_wave.png);
  background-repeat: repeat-x;
  background-position: left -7.5px center;
  background-size: contain;
  top: -44.4px;
  left: 0;
}
@media (900px <= width < 1200px) {
  .footer__bottom::before {
    height: 120px;
    top: -118px;
  }
}
@media (1200px <= width ) {
  .footer__bottom::before {
    height: 120px;
    top: -119px;
    background-position: left -5.5px center;
  }
}

.footer__copyright {
  padding-top: 2px;
  color: #ffffff;
  font-size: 1rem;
}
@media (900px <= width < 1200px) {
  .footer__copyright {
    font-size: 1.4rem;
  }
}
@media (1200px <= width ) {
  .footer__copyright {
    font-size: 1.4rem;
  }
}