@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
  background: #fddd00;
  color: #000;
  font-size: 30px;
  line-height: 50px;
}

.header {
  padding: 25px 25px 0;
}

.kv {
  max-width: 1040px;
  margin: 0 auto;
}
.kv img {
  max-width: 100%;
}

.btn a {
  display: block;
  width: 100%;
  transition: 0.3s;
}
.btn a:hover {
  opacity: 0.6;
}
.btn a img {
  max-width: 100%;
}

.cpContents__inner {
  position: relative;
  margin: 0 auto;
}
.cpContents__inner:before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 1.85vw;
  top: -1.8vw;
  background: url(../img/bg_content_top.png) bottom left 0.14vw no-repeat;
  background-size: 100% auto;
}
.cpContents__inner:after {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 2.68vw;
  bottom: -2.5vw;
  background: url(../img/bg_content_bottom.png) top center no-repeat;
  background-size: 100% auto;
}
.cpContents img {
  max-width: 100%;
}

.cp1.cpContents .cpContents__inner {
  max-width: 1000px;
  padding-top: 80px;
  padding-bottom: 70px;
  box-shadow: 10px 0 15px rgba(0, 0, 0, 0.1);
  background: url(../img/bg_cp_content.png) top center repeat-y;
  background-size: 100% auto;
}
.cp1.cpContents .cpContents__inner.soon {
  padding-bottom: 0;
}

.cp1 {
  padding-top: 0.65vw;
  padding-bottom: 74px;
  background-color: #fddd00;
  background-image: url(../img/cp1/bg_cp1_content_l.png), url(../img/cp1/bg_cp1_content_r.png);
  background-position: top left -4vw, top right -4vw;
  background-size: 18.9vw auto, 18.9vw auto;
  background-repeat: repeat-y;
}
.cp1 h2 {
  width: 83.5%;
  max-width: 835px;
  margin: 0 auto 80px;
}
.cp1 h3 {
  width: 86%;
  max-width: 860px;
  margin: 0 auto 48px;
}
.cp1__sub {
  margin-bottom: 24px;
  font-size: 48px;
  font-weight: 900;
  line-height: 62px;
  text-align: center;
  -webkit-text-stroke: 1px;
  -webkit-text-stroke-color: #000;
}
.cp1__sub span {
  color: #eb5e00;
  -webkit-text-stroke-color: #eb5e00;
}
.cp1__content1 {
  width: 84%;
  max-width: 840px;
  margin: 0 auto;
}
.cp1__content1 ul {
  margin: 70px auto 80px;
}
.cp1__content2 {
  width: 84%;
  max-width: 840px;
  margin: 0 auto;
}
.cp1__content2 ul {
  margin: 70px auto 80px;
}
.cp1__content3 {
  width: 84%;
  max-width: 840px;
  margin: 0 auto;
}
.cp1__content3 ul {
  margin: 70px auto 80px;
}
.cp1 .comingSoon {
  width: 100%;
}
.cp1 .isClosed:after {
  background-image: url(../img/txt_closed2.png);
  background-size: calc(100% - 140px);
  background-position: center;
  background-repeat: no-repeat;
}

.cp2.cpContents .cpContents__inner {
  max-width: 1000px;
  padding-top: 80px;
  padding-bottom: 70px;
  box-shadow: 10px 0 15px rgba(0, 0, 0, 0.1);
  background: url(../img/bg_cp_content.png) top center repeat-y;
  background-size: 100% auto;
}

.cp2 {
  padding-top: calc(94px + 0.7vw);
  padding-bottom: 74px;
  background: url(../img/cp2/bg_cp2_content.png) center;
}
.cp2 h2 {
  width: 83.5%;
  max-width: 835px;
  margin: 0 auto 80px;
}
.cp2 h3 {
  width: 86%;
  max-width: 860px;
  margin: 0 auto 48px;
}
.cp2__sub {
  font-size: 42px;
  font-weight: 900;
  line-height: 62px;
  text-align: center;
  -webkit-text-stroke: 1px;
  -webkit-text-stroke-color: #000;
}
.cp2__sub span {
  color: #eb5e00;
  -webkit-text-stroke-color: #eb5e00;
}
.cp2__sub .small {
  font-size: 21px;
  letter-spacing: 0.1rem;
}
.cp2__content1 {
  width: 90%;
  max-width: 900px;
  margin: 0 auto 48px;
}
.cp2__content2 {
  width: 90%;
  max-width: 900px;
  margin: 0 auto 80px;
}
.cp2__content3, .cp2__content4 {
  width: 90%;
  max-width: 900px;
}
.cp2__content3 h3, .cp2__content4 h3 {
  margin-bottom: 42px;
  font-size: 70px;
  text-align: center;
}
.cp2__content3 {
  margin: 0 auto 82px;
}
.cp2__content4 {
  margin: 0 auto 70px;
}
.cp2__content4__points {
  padding: 40px;
  border: 15px solid #b0dcd9;
  border-radius: 15px;
}
.cp2 .btn {
  width: 85%;
  max-width: 885px;
  margin: 0 auto 70px;
}
.cp2 ul {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}
.cp2 .terms {
  max-width: 100%;
  height: 100%;
  max-height: 510px;
  overflow-y: scroll;
}
.cp2 .terms pre {
  font-size: 16px;
  line-height: 1.5;
  text-wrap: wrap;
}

.cp3.cpContents .cpContents__inner {
  max-width: 1000px;
  padding-top: 80px;
  padding-bottom: 70px;
  box-shadow: 10px 0 15px rgba(0, 0, 0, 0.1);
  background: url(../img/bg_cp_content.png) top center repeat-y;
  background-size: 100% auto;
}

.cp3 {
  padding-top: calc(94px + 0.7vw);
  padding-bottom: 64px;
  background: url(../img/cp3/bg_cp3_content.png) center;
}
.cp3 h2 {
  width: 70%;
  max-width: 700px;
  margin: 0 auto 64px;
}
.cp3 h3 {
  width: 84%;
  max-width: 844px;
  margin: 0 auto 54px;
}
.cp3 h4 {
  width: 92.6%;
  max-width: 926px;
  margin: 0 auto 64px;
}
.cp3__content1 {
  width: 92.5%;
  max-width: 925px;
  margin: 0 auto 50px;
}
.cp3__content2 {
  width: 90%;
  max-width: 90%;
  margin: 0 auto 54px;
  padding: 76px 50px 50px;
  border: 10px solid #c9a063;
  border-radius: 16px;
  background: #FFF;
}
.cp3__content2 img:first-of-type {
  max-width: 92.9%;
  margin: 0 auto 72px;
}
.cp3__content2 img:first-of-type + img {
  margin-bottom: 30px;
}
.cp3__content2 h3 {
  width: 100%;
  max-width: 100%;
  margin: 0 0 46px;
  font-size: 6.6vw;
  text-align: center;
}
.cp3__content2 .btn {
  max-width: 540px;
  margin: 0 auto 0;
}
.cp3__content2 .btn img {
  margin: 0;
}
.cp3__link {
  width: 89%;
  max-width: 890px;
  margin: 0 auto;
}
.cp3 p {
  width: 89%;
  max-width: 890px;
  margin: 0 auto;
  font-size: 30px;
}

.about {
  padding-top: 76px;
  padding-bottom: 84px;
  background: url(../img/about/bg_about.png) center;
}
.about h2 {
  max-width: 1000px;
  margin: 0 auto 24px;
}
.about h2 img {
  max-width: 50%;
  max-width: 498px;
}
.about__inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 60px;
  border-radius: 60px;
  background: #FFF;
}
.about p {
  margin-bottom: 36px;
}
.about h3 {
  margin: 0 auto 30px;
}
.about__key {
  width: 72.3%;
  max-width: 723px;
  margin: 0 auto 24px;
}
.about .sub {
  width: 50%;
  max-width: 490px;
  margin: 0 auto 20px;
}
.about .btn {
  max-width: 545px;
  margin: 0 auto;
}

.footer {
  background: url(../img/bg_footer.png);
}
.footer__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 270px;
}
.footer .btn {
  width: 91%;
  max-width: 910px;
  margin: 0 auto;
}
.footer .btn:last-of-type {
  margin-bottom: 20px;
}
.footer h3 {
  width: 29%;
  max-width: 291px;
  margin: 0 auto 42px;
  padding: 0 55px;
  border-radius: 30px;
  background: #000;
  color: #FFF;
  font-size: 32px;
  line-height: 60px;
}
.footer ul {
  display: flex;
  justify-content: center;
  margin-bottom: 72px;
}
.footer ul li {
  max-width: 143px;
  margin: 0 27px;
}
.footer small {
  display: block;
  width: 90%;
  max-width: 902px;
  margin: 0 auto;
}

.pageTop {
  position: fixed;
  right: 30px;
  bottom: 30px;
  max-width: 100px;
}

.isClosed {
  position: relative;
}
.isClosed:after {
  display: block;
  position: absolute;
  content: "";
  width: calc(100% - 60px);
  height: calc(100% + 80px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(181, 181, 181, 0.8);
  background-image: url(../img/txt_closed.png);
  background-size: calc(100% - 140px);
  background-position: center;
  background-repeat: no-repeat;
}

.cp1 .isClosed:after {
  width: calc(100% - 40px);
  height: calc(100% + 40px);
}

/* faq */
.faqHeader {
  height: 146px;
  padding: 40px 0;
  background: #eb5e00;
}
.faqHeader img {
  margin: 0 auto;
}

.faq {
  padding-top: 36px;
}
.faq h1 {
  width: 51%;
  max-width: 510px;
  margin: 0 auto 100px;
  padding-top: 100px;
}
.faq__inner {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 64px;
  background: #FFF;
}
.faq__inner:before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 1.94vw;
  top: -1.94vw;
  background: url(../img/bg_content_top.png) bottom left no-repeat;
  background-size: 100% auto;
}
.faq__inner:after {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 2.68vw;
  bottom: -2.68vw;
  background: url(../img/bg_content_bottom.png) top center no-repeat;
  background-size: 100% auto;
}
.faq__box {
  width: 83%;
  max-width: 830px;
  margin: 0 auto;
}
.faq__question, .faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
.faq__question h2, .faq__question div, .faq__answer h2, .faq__answer div {
  width: 100%;
}
.faq__question h2, .faq__answer h2 {
  max-width: 7.44vw;
  font-size: 8vw;
  font-weight: 900;
}
.faq__question h3, .faq__answer h3 {
  margin-bottom: 40px;
  font-size: 3.3vw;
  font-weight: 900;
  line-height: 5vw;
}
.faq__question p, .faq__answer p {
  font-size: 25px;
}
.faq__question p + h3, .faq__answer p + h3 {
  margin-top: 48px;
}
.faq__question {
  margin-bottom: 80px;
}
.faq__question h2 {
  color: #00a476;
  -webkit-text-stroke: 1px;
  -webkit-text-stroke-color: #00a476;
}
.faq__question h3 {
  color: #00a476;
  -webkit-text-stroke: 1px;
  -webkit-text-stroke-color: #00a476;
}
.faq__answer {
  margin-bottom: 100px;
}
.faq__answer h2 {
  color: #eb5e00;
  -webkit-text-stroke: 1px;
  -webkit-text-stroke-color: #eb5e00;
}
.faq__answer h3 {
  color: #eb5e00;
  -webkit-text-stroke: 1px;
  -webkit-text-stroke-color: #eb5e00;
}
.faq__answer p + p {
  margin-top: 24px;
}
.faq__line {
  width: 67%;
  max-width: 670px;
  height: 70px;
  margin: 0 auto 100px;
  background: url(../img/img_faq_line.png) center no-repeat;
  background-size: 100% auto;
}
.faq + .footer {
  background: #eb5e00;
}
.faq + .footer__inner {
  padding-bottom: 140px;
}

@media screen and (min-width: 1000px) {
  .cp3__content2 h3 {
    font-size: 70px;
  }
  .faq__question h2, .faq__answer h2 {
    font-size: 80px;
  }
  .faq__question h3, .faq__answer h3 {
    font-size: 33px;
    line-height: 50px;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 2.68vw;
    line-height: 4.62vw;
    letter-spacing: -0.05rem;
  }
  .header img {
    max-width: 34%;
  }
  .kv {
    width: calc(100% - 64px);
  }
  .cpContents__inner:before {
    top: -0.5vw;
    background-size: 100%;
  }
  .cpContents__inner:after {
    bottom: -2.4vw;
    background-size: calc(100% - 0.11vw);
  }
  .cp1 {
    background: #fddd00;
  }
  .cp1.cpContents .cpContents__inner {
    width: calc(100% - 40px);
    padding-top: 40px;
    padding-bottom: 35px;
  }
  .cp1 {
    padding-top: 0;
    background-image: none;
  }
  .cp1 h2 {
    margin-bottom: 32px;
  }
  .cp1 h3 {
    margin-bottom: 16px;
  }
  .cp1__sub {
    font-size: 4.44vw;
    line-height: 5.7vw;
    -webkit-text-stroke: 0.5px;
  }
  .cp1__content1 ul, .cp1__content2 ul, .cp1__content3 ul {
    margin: 28px auto 36px;
  }
  .cp1__content2__caution {
    font-size: 2.5vw;
  }
  .cp1 .isClosed:after {
    width: calc(100% - 20px);
    height: calc(100% + 20px);
  }
  .cp2 {
    background-size: 50%;
  }
  .cp2.cpContents .cpContents__inner {
    width: calc(100% - 40px);
    padding-top: 40px;
    padding-bottom: 35px;
  }
  .cp2 {
    padding-top: calc(47px + 0.325vw);
  }
  .cp2 h2 {
    margin: 0 auto 32px;
  }
  .cp2 h3 {
    margin: 0 auto 16px;
  }
  .cp2__sub {
    font-size: 3.88vw;
    line-height: 5.7vw;
    -webkit-text-stroke: 0.5px;
  }
  .cp2__sub .small {
    font-size: 1.94vw;
  }
  .cp2__content1 {
    margin: 0 auto 24px;
  }
  .cp2__content2 {
    margin-bottom: 40px;
  }
  .cp2__content3 {
    margin-bottom: 42px;
  }
  .cp2__content3 h3 {
    margin-bottom: 21px;
    font-size: 6.48vw;
  }
  .cp2__content4 {
    margin-bottom: 35px;
  }
  .cp2__content4 h3 {
    margin-bottom: 21px;
    font-size: 6.48vw;
  }
  .cp2__content4__points {
    padding: 20px;
    border: 7.5px solid #b0dcd9;
  }
  .cp2 .btn {
    margin: 0 auto 35px;
  }
  .cp2 .terms pre {
    font-size: 12px;
  }
  .cp3 {
    background-size: 50%;
  }
  .cp3.cpContents .cpContents__inner {
    width: calc(100% - 40px);
    padding-top: 40px;
    padding-bottom: 35px;
  }
  .cp3 {
    padding-top: calc(47px + 0.325vw);
  }
  .cp3 h2 {
    margin-bottom: 32px;
  }
  .cp3 h3 {
    margin: 0 auto 23px;
  }
  .cp3 h4 {
    margin: 0 auto 32px;
  }
  .cp3__content1 {
    margin: 0 auto 25px;
  }
  .cp3__content2 {
    margin: 0 auto 27px;
    padding: 38px 25px 25px;
  }
  .cp3__content2 h3 {
    font-size: 6.2vw;
  }
  .cp3__content2 img:first-of-type {
    margin: 0 auto 36px;
  }
  .cp3__content2 img:first-of-type + img {
    margin-bottom: 15px;
  }
  .cp3 .btn {
    max-width: 270px;
  }
  .cp3 .btn img {
    margin: 0 auto;
  }
  .cp3 p {
    font-size: 2.67vw;
    text-align: center;
  }
  .about {
    padding-top: 38px;
    padding-bottom: 42px;
    background-size: 50%;
  }
  .about h2 {
    width: calc(100% - 40px);
  }
  .about h2 img {
    max-width: 240px;
  }
  .about p {
    margin-bottom: 18px;
  }
  .about__inner {
    width: calc(100% - 40px);
    padding: 25px 30px;
    border-radius: 30px;
  }
  .about .btn {
    max-width: 270px;
  }
  .footer__inner {
    padding-top: 50px;
    padding-bottom: 135px;
  }
  .footer h3 {
    max-width: 345px;
    padding: 0;
    font-size: 16px;
    line-height: 30px;
    text-align: center;
  }
  .footer .btn {
    width: 83%;
  }
  .footer ul li {
    max-width: 70px;
    margin: 0 13.5px;
  }
  .footer small {
    width: calc(100% - 80px);
  }
  .pageTop {
    right: 15px;
    bottom: 15px;
    max-width: 80px;
  }
  .isClosed:after {
    width: calc(100% - 20px);
    height: calc(100% + 40px);
  }
  .faqHeader {
    height: 73px;
    padding: 20px 0;
  }
  .faqHeader img {
    max-width: 200px;
  }
  .faq__inner {
    width: calc(100% - 40px);
  }
  .faq h1 {
    margin: 0 auto 50px;
  }
  .faq__question, .faq__answer {
    gap: 2.77vw;
  }
  .faq__question {
    margin-bottom: 5.55vw;
  }
  .faq__question h2 {
    font-size: 7.4vw;
  }
  .faq__question h3 {
    font-size: 3.05vw;
    line-height: 4.62vw;
    -webkit-text-stroke: 0;
  }
  .faq__answer {
    margin-bottom: 9.25vw;
  }
  .faq__answer h2 {
    font-size: 7.4vw;
  }
  .faq__answer h3 {
    font-size: 3.05vw;
    line-height: 4.62vw;
    -webkit-text-stroke: 0;
  }
  .faq__answer p {
    font-size: 2.31vw;
  }
  .faq p + p {
    margin-top: 12px;
  }
  .faq__line {
    margin-bottom: 9.25vw;
  }
  .faq + footer__inner {
    padding-top: 4.62vw;
    padding-bottom: 12.5vw;
  }
}
@media screen and (max-width: 768px) {
  .cp3__content2 h3 {
    font-size: 5.4vw;
  }
}
@media screen and (max-width: 420px) {
  .faq__question h2 {
    font-size: 7vw;
  }
  .faq__question h3 {
    font-size: 2.6vw;
    line-height: 4vw;
  }
  .faq__answer h2 {
    font-size: 7vw;
  }
  .faq__answer h3 {
    font-size: 2.6vw;
    line-height: 4vw;
  }
  _:lang(x) + _:-webkit-full-screen-document, .faq__question,
  _:lang(x) + _:-webkit-full-screen-document, .faq__answer {
    gap: 1.75vw;
  }
}/*# sourceMappingURL=style.css.map */