@charset "UTF-8";
body {
  background: #FFF;
  color: #000;
  font-family: "Hiragino Kaku Gothic Pro", sans-serif, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 21px;
  line-height: 31px;
}

.reserve {
  width: 100%;
  height: 112px;
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
}
.reserve img {
  max-width: 438px;
  height: auto;
}

.kv {
  background: #000;
}
.kv__inner {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding-top: 112px;
}

.topics {
  padding-bottom: 8px;
  background: url(../img/topics/bg_topics.png) center;
}
.topics__inner {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 16px 16px;
}
.topics h2 {
  max-width: 745px;
  margin: 0 auto 8px;
  padding-top: 16px;
}
.topics h2 img {
  max-width: 100%;
}
.topics__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-bottom: 18px;
}
.topics__list div {
  width: 100%;
  max-width: calc(50% - 9px);
}
.topics .btn {
  display: block;
  max-width: 723px;
  margin: 0 auto 24px;
}
.topics p {
  color: #FFF;
  font-size: 21px;
  line-height: 31px;
}

.cpContent {
  padding: 124px 0 70px;
}
.cpContent__title {
  width: 100%;
  max-width: 790px;
  margin: 0 auto -32px;
  transform: translateY(-80px);
}
.cpContent__title img {
  margin: 0 auto;
}
.cpContent__inner {
  width: calc(100% - 80px);
  max-width: 840px;
  margin: 0 auto;
  padding: 0 32px 38px;
}

.linkBox {
  margin: 0 auto;
}
.linkBox p {
  margin-bottom: 24px;
}
.linkBox p img {
  margin: 0 auto;
}
.linkBox__inner {
  display: flex;
  gap: 0 20px;
  justify-content: center;
}
.linkBox__item:first-of-type {
  max-width: 140px;
}
.linkBox__area {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.cpContent.coupon {
  padding: 40px 0 0;
  background: #000;
}
.cpContent.coupon .cpContent__inner {
  padding: 0;
}

.cpContent.cp1 {
  padding: 124px 0 0;
}
.cpContent.cp1 .cpContent__inner {
  padding: 0 0 40px;
}

.cp1 {
  background: #000;
}
.cp1 .content1 {
  margin-bottom: 42px;
  padding: 0 40px 42px;
  background: url(../img/cp1/bg_cp1.png) top center no-repeat;
  background-size: 100% auto;
}
.cp1 .content1 h3 {
  margin-bottom: 20px;
}
.cp1 .content1 h4 {
  margin-bottom: 34px;
}
.cp1 .content1__txt {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 3px solid #f39800;
}
.cp1 .content1__caution {
  margin-bottom: 34px;
}
.cp1 .content2 {
  background: url(../img/cp1/bg_cp1_menu.png) top center no-repeat;
  background-size: 100% auto;
}
.cp1 .content2__inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 48px 4px;
}
.cp1 .content2__inner img {
  margin: 0 auto 14px;
}
.cp1 .content2 h3 img {
  margin-bottom: 8px;
}
.cp1 .content2 p {
  margin-bottom: 10px;
  color: #FFF;
}
.cp1 .content2 p.center {
  text-align: center;
}

.cpContent.cp2 .cpContent__inner {
  padding: 0 32px 98px;
  background: url(../img/cp2/bg_cp2_content.png) top center no-repeat;
  background-size: 100% auto;
}

.cp2 {
  background: url(../img/cp2/bg_cp2.png) top center;
}
.cp2__nav {
  margin-bottom: 42px;
}
.cp2__nav ul {
  display: flex;
  justify-content: center;
  gap: 0 16px;
}
.cp2__nav ul li {
  max-width: calc(33% - 8px);
}
.cp2 #cp2_content1 {
  margin-bottom: 36px;
}
.cp2 #cp2_content2 {
  margin-bottom: 46px;
}
.cp2 #cp2_content3 {
  margin-bottom: 42px;
  padding: 24px;
  background: url(../img/cp2/bg_cp2_content_2.png) top center no-repeat;
  background-size: 100% auto;
}
.cp2 #cp2_content3 h3 {
  margin-bottom: 16px;
}
.cp2 #cp2_content3 h4 {
  margin-bottom: 30px;
}
.cp2 .btn {
  max-width: 740px;
  margin: 0 auto 16px;
}
.cp2 .btnModal {
  cursor: pointer;
}
.cp2__link {
  font-size: 1.8rem;
  text-decoration: underline;
  text-align: center;
  cursor: pointer;
}

.cpContent.cp3 .cpContent__inner {
  padding: 0 32px 98px;
  background: url(../img/cp3/bg_cp3_content.png) top center no-repeat;
  background-size: 100% auto;
}
.cpContent.cp3.isApp .cpContent__inner {
  background: url(../img/cp3/bg_cp3_content_app.png) top center no-repeat;
  background-size: 100% auto;
}

.cp3 {
  background: url(../img/cp3/bg_cp3.png) top center;
}
.cp3__nav {
  margin-bottom: 16px;
}
.cp3 h3 {
  margin-bottom: 14px;
}
.cp3 .caution {
  margin-bottom: 20px;
}
.cp3__register {
  padding: 90px 20px 30px;
  background: url(../img/cp3/bg_cp3_howto.png) top center no-repeat;
  background-size: 100% auto;
}
.cp3__register__box {
  margin-bottom: 28px;
}
.cp3__register .desc, .cp3__register h5 {
  max-width: 545px;
  margin-left: auto;
}
.cp3__register .desc span, .cp3__register h5 span {
  color: #d50000;
  font-weight: bold;
}
.cp3__register h4 {
  margin-bottom: 20px;
}
.cp3__register h5 {
  font-size: 28px;
  font-weight: 900;
}
.cp3__register #cp3_content {
  margin-bottom: 50px;
}
.cp3__register p {
  padding-left: 1em;
  text-indent: -1em;
}
.cp3__register__flow {
  max-width: 532px;
  margin: 20px auto 20px;
}
.cp3 #app_link {
  margin-bottom: 42px;
}

.cpContent.cp4 .cpContent__title {
  margin: 0 auto -50px;
}
.cpContent.cp4 .cpContent__inner {
  padding: 0 32px 98px;
  background: url(../img/cp4/bg_cp4.png) top center no-repeat;
  background-size: 100% auto;
}

.cp4 {
  background: #000;
}
.cp4__nav {
  margin-bottom: 12px;
}
.cp4__nav ul {
  display: flex;
  justify-content: center;
  gap: 0 24px;
}
.cp4__nav ul li {
  max-width: calc(50% - 12px);
}
.cp4 #cp4_content1 {
  margin-bottom: 12px;
}
.cp4 #cp4_content1 h3 {
  margin-bottom: 12px;
}
.cp4 #cp4_content1 h3 img {
  margin-left: -16px;
}
.cp4 #cp4_content1 h4 {
  margin: 12px 0;
}
.cp4 #cp4_content1 p {
  padding-left: 1em;
  color: #FFF;
  text-indent: -1em;
}
.cp4 .linkBox {
  margin-bottom: 40px;
}
.cp4 #cp4_content2 h3 {
  margin-bottom: 28px;
}
.cp4 #cp4_content2 p {
  color: #FFF;
}

.cpContent.cp5 .cpContent__title {
  margin: 0 auto -50px;
}
.cpContent.cp5 .cpContent__inner {
  background: url(../img/cp5/bg_cp5_content.png) top center no-repeat;
  background-size: 100% auto;
}

.cp5 {
  background: url(../img/cp5/bg_cp5.png) top center;
}
.cp5 h3 {
  margin-bottom: 24px;
}
.cp5 .btn {
  max-width: 538px;
  margin: 0 auto 20px;
}

.about {
  background: #FFF;
}
.about__inner {
  width: calc(100% - 80px);
  max-width: 880px;
  margin: 0 auto;
  padding: 28px 0 90px;
}
.about h2 {
  margin-bottom: 48px;
}
.about h3 {
  margin-bottom: 36px;
}
.about p {
  font-size: 24px;
}
.about__link {
  display: block;
  max-width: 70.6%;
  margin: 0 auto 32px;
}
.about .btn {
  display: block;
  max-width: 81.25%;
  margin: 40px auto 0;
}

.footer {
  width: 100%;
  height: 135px;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
}
.footer img {
  max-width: 470px;
  height: auto;
}
.footer.type2 img {
  max-width: 530px;
}

.pageTop {
  position: fixed;
  bottom: 40px;
  right: 40px;
  max-width: 133px;
}

.modalBg, .modal {
  display: none;
}

.modalBg {
  z-index: 999;
  opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

.modal {
  z-index: 1000;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 40px);
  max-width: 880px;
  max-height: 80vh;
  overflow-y: scroll;
  margin: 0 auto;
  background: #FFF;
}
.modal__inner {
  position: relative;
  padding: 120px 24px 24px;
}
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  cursor: pointer;
}
.modal h2 {
  margin-bottom: 20px;
  text-align: center;
}
.modal p {
  margin-bottom: 40px;
  text-align: center;
}
.modal p img {
  margin: 0 auto;
}
.modal__btn {
  max-width: 500px;
  margin: 0 auto;
  border: 1px solid #000;
  text-align: center;
}
.modal__btn a {
  display: block;
  color: #000;
  text-decoration: none;
}

@media screen and (max-width: 1060px) {
  body {
    font-size: 2.27vw;
    line-height: 3.86vw;
  }
  .reserve {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 17.72vw;
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  .reserve img {
    display: block;
    width: 49.77vw;
    height: auto;
  }
  .kv__inner {
    padding-top: 17.0454545455vw;
  }
  .topics {
    padding-bottom: 0.9vw;
  }
  .topics__inner {
    padding: 0 1.81vw 1.81vw;
  }
  .topics h2 {
    max-width: 84.7vw;
    margin: 0 auto 0.9vw;
    padding-top: 1.81vw;
  }
  .topics__list {
    gap: 1.6vw 2vw;
    margin-bottom: 2vw;
  }
  .topics__list div {
    max-width: calc(50% - 1vw);
  }
  .topics .btn {
    max-width: 82.15vw;
    margin: 0 auto 2.7vw;
  }
  .topics p {
    font-size: 2.38vw;
    line-height: 3.52vw;
  }
  .cpContent {
    padding: 14.1vw 0 7.95vw;
  }
  .cpContent__title {
    width: 100%;
    max-width: 89.7vw;
    margin: 0 auto -4vw;
    transform: translateY(-9.1vw);
  }
  .cpContent__title img {
    margin: 0 auto;
  }
  .cpContent__inner {
    width: calc(100% - 9vw);
    padding: 0 4.54vw 3.41vw;
  }
  .linkBox p {
    margin-bottom: 2.72vw;
  }
  .linkBox__inner {
    gap: 0 2.27vw;
  }
  .linkBox__item:first-of-type {
    max-width: 16vw;
  }
  .linkBox__area {
    gap: 1.6vw;
    margin-bottom: 1.6vw;
  }
  .cpContent.coupon {
    padding: 4.54vw 0 0;
  }
  .cpContent.cp1 {
    padding: 14.1vw 0 0;
  }
  .cpContent.cp1 .cpContent__inner {
    padding: 0 0 4.5vw;
  }
  .cp1 .content1 {
    margin-bottom: 4.77vw;
    padding: 0 4.54vw 3.41vw;
  }
  .cp1 .content1 h3 {
    margin-bottom: 2.27vw;
  }
  .cp1 .content1 h4 {
    margin-bottom: 3.5vw;
  }
  .cp1 .content1__txt {
    margin-bottom: 2vw;
    padding-bottom: 2vw;
  }
  .cp1 .content1__caution {
    margin-bottom: 2vw;
  }
  .cp1 .content2__inner {
    padding: 0 6.6vw 3.41vw;
  }
  .cp1 .content2 h3 {
    margin-bottom: 1.8vw;
  }
  .cp1 .content2 p {
    margin-bottom: 1.13vw;
    letter-spacing: -0.05rem;
  }
  .cp1 .content2 img {
    margin-bottom: 1.6vw;
  }
  .cpContent.cp2 .cpContent__inner {
    padding: 0 2.84vw 11.13vw;
  }
  .cp2__nav {
    margin-bottom: 4.77vw;
  }
  .cp2__nav ul {
    gap: 0 1.8vw;
  }
  .cp2__nav ul li {
    max-width: calc(33% - 0.9vw);
  }
  .cp2 #cp2_content1 {
    margin-bottom: 4.1vw;
  }
  .cp2 #cp2_content2 {
    margin-bottom: 3.6vw;
  }
  .cp2 #cp2_content3 {
    margin-bottom: 4.77vw;
    padding: 2.7vw;
  }
  .cp2 #cp2_content3 h3 {
    margin-bottom: 1.6vw;
  }
  .cp2 #cp2_content3 h4 {
    margin-bottom: 3.4vw;
  }
  .cp2 .btn {
    max-width: 75.1vw;
    margin: 0 auto 1.8vw;
  }
  .cp2__link {
    font-size: 3vw;
  }
  .cpContent.cp3 .cpContent__inner {
    padding: 0 4.54vw 16vw;
  }
  .cp3__nav {
    margin-bottom: 5.45vw;
  }
  .cp3h3 {
    margin-bottom: 1.6vw;
  }
  .cp3 .caution {
    margin-bottom: 2.3vw;
  }
  .cp3__register {
    margin-bottom: 1.6vw;
    padding: 10.2vw 2.27vw 3.4vw;
  }
  .cp3__register__box {
    margin-bottom: 0;
  }
  .cp3__register .desc, .cp3__register h5 {
    max-width: 58vw;
    letter-spacing: -0.05rem;
  }
  .cp3__register h4 {
    margin-bottom: 1.2vw;
  }
  .cp3__register h5 {
    margin-bottom: 1.6vw;
    font-size: 3.2vw;
  }
  .cp3__register .desc {
    margin-bottom: 0.9vw;
    line-height: 2.84vw;
  }
  .cp3__register #cp3_content {
    margin-bottom: 1vw;
  }
  .cp3__register__flow {
    max-width: 60.45vw;
    margin: 2.27vw auto;
  }
  .cp3 #app_link {
    margin-bottom: 4.77vw;
  }
  .cpContent.cp4 .cpContent__title {
    margin: 0 auto -8vw;
  }
  .cpContent.cp4 .cpContent__inner {
    padding: 0 4.54vw 11.1vw;
  }
  .cp4__nav {
    margin-bottom: 1.36vw;
  }
  .cp4__nav ul {
    gap: 0 2.7vw;
  }
  .cp4__nav ul li {
    max-width: calc(50% - 1.36vw);
  }
  .cp4 #cp4_content1 {
    margin-bottom: 1.36vw;
  }
  .cp4 #cp4_content1 h3 img {
    margin-left: -2.2vw;
  }
  .cp4 #cp4_content1 h4 {
    margin-bottom: 1.36vw;
  }
  .cp4 .linkBox {
    margin-bottom: 4.54vw;
  }
  .cp4 #cp4_content2 h3 {
    margin-bottom: 3.2vw;
  }
  .cpContent.cp5 .cpContent__title {
    margin: 0 auto -5.7vw;
  }
  .cpContent.cp5 .cpContent__inner {
    padding: 0 4.54vw 12vw;
  }
  .cp5 h3 {
    margin-bottom: 1.3vw;
  }
  .cp5 .btn {
    max-width: 61.1vw;
    margin: 0 auto 2.27vw;
  }
  .about__inner {
    width: calc(100% - 9.1vw);
    padding: 3.2vw 0 10.2vw;
  }
  .about h2 {
    margin-bottom: 5.45vw;
  }
  .about h3 {
    margin-bottom: 4.1vw;
  }
  .about p {
    font-size: 2.72vw;
  }
  .about__link {
    margin: 0 auto 3.6vw;
  }
  .about .btn {
    margin: 4.54vw auto 0;
  }
  .footer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 15.6vw;
  }
  .footer img {
    display: block;
    width: 60.2vw;
    height: auto;
  }
  .pageTop {
    bottom: 4.5vw;
    right: 4.5vw;
    max-width: 15.1vw;
  }
  .modalBg {
    z-index: 999;
    opacity: 0.5;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
  }
  .modal {
    width: calc(100% - 4.54vw);
  }
  .modal__inner {
    padding: 13.6vw 2.72vw 2.72vw;
  }
  .modal__close {
    width: 6.8vw;
    height: 6.8vw;
  }
  .modal h2 {
    margin-bottom: 2.27vw;
  }
  .modal p {
    margin-bottom: 4.54vw;
  }
  .modal__btn {
    max-width: 56.8vw;
  }
}/*# sourceMappingURL=style.css.map */