@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

caption, th, td {
  /*text-align: left;*/
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

a {
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

article, aside, details, figcaption, figure, footer, header, menu, nav, section, summary {
  display: block;
}

/* ------------------------------------------------------------------------------------------ */
/* 共通 */
/* ------------------------------------------------------------------------------------------ */
.sp-only {
  display: block;
}

.pc-only {
  display: none;
}

.bl {
  display: inline-block;
}

.small {
  display: inline-block;
  font-size: 80%;
}

@media screen and (min-width:768px) {
  .sp-only {
    display: none;
  }
  .pc-only {
    display: block;
  }
}
/* ------------------------------------------------------------------------------------------ */
/* cookie 詳細設定 */
/* ------------------------------------------------------------------------------------------ */
.ot-sdk #ot-sdk-btn.ot-sdk-show-settings {
  color: #7b7b7b;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  background-color: transparent;
  font-size: 12px;
}
.ot-sdk #ot-sdk-btn.ot-sdk-show-settings:hover {
  color: #7b7b7b;
  background-color: transparent;
}
.ot-sdk #ot-sdk-btn.ot-sdk-show-settings:hover, .ot-sdk #ot-sdk-btn.optanon-show-settings:hover {
  color: #7b7b7b;
  background-color: transparent;
}

/* ------------------------------------------------------------------------------------------ */
/* header */
/* ------------------------------------------------------------------------------------------ */
header {
  position: relative;
  background: #ffffff;
}

.logo-konami {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
}
.logo-konami img {
  width: 50%;
  height: auto;
}

/* ------------------------------------------------------------------------------------------ */
/* footer */
/* ------------------------------------------------------------------------------------------ */
footer {
  position: relative;
  padding: 10px;
  color: #7b7b7b;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  background: #fff;
  z-index: 50;
}
@media screen and (min-width:768px) {
  footer {
    padding: 10px 10px 10px;
  }
}
footer .footer-link ul li {
  display: inline-block;
}
footer .footer-link ul li:not(:nth-of-type(4)) :after {
  content: "｜";
}
footer .footer-link ul a {
  text-decoration: none;
}
footer .footer-link ul a:link {
  color: #7b7b7b;
}
footer .footer-link ul a:visited {
  color: #7b7b7b;
}
footer .copyright {
  text-align: left;
  display: inline-block;
  margin: 20px auto;
}
@media screen and (min-width: 768px) {
  footer .copyright {
    display: block;
    text-align: center;
  }
}

/* ------------------------------------------------------------------------------------------ */
/* pagetop-btn */
/* ------------------------------------------------------------------------------------------ */
.pagetop-btn {
  transition: all 0.5s ease;
  position: fixed;
  opacity: 0;
  right: 10px;
  bottom: 40px;
  z-index: 1000;
}
.pagetop-btn img {
  width: 45px;
  height: auto;
}
@media screen and (min-width:640px) {
  .pagetop-btn img {
    width: 65px;
  }
}
.pagetop-btn a {
  display: block;
}
.pagetop-btn.is-active {
  opacity: 1;
}

/* ------------------------------------------------------------------------------------------ */
/* body */
/* ------------------------------------------------------------------------------------------ */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", arial, Meiryo, メイリオ, "游ゴシック", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Osaka, "MS PGothic", sans-serif;
  position: relative;
  word-wrap: break-word;
  overflow-wrap: break-word;
  width: 100%;
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
}

.hero-area {
  background: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), url("../img/kv_bg.webp");
  background-size: contain;
}
.hero-area .title {
  position: relative;
  margin: 0 auto;
  width: 107.95918%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ffffff;
  max-width: 1058px;
}
@media screen and (min-width:980px) {
  .hero-area .title:before, .hero-area .title:after {
    display: block;
    position: absolute;
    top: 0;
    content: "";
    width: 5%;
    height: 100%;
  }
  .hero-area .title:before {
    left: -5%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  }
  .hero-area .title:after {
    right: -5%;
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  }
}
@media screen and (min-width: 1058px) {
  .hero-area .title {
    margin: 0;
    width: 100%;
  }
}

.contets-area {
  position: relative;
  font-family: "heisei-maru-gothic-std", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding-top: clamp(
          0.625rem,
          -0.537rem + 4.96vw,
          2.5rem
  );
  padding-bottom: clamp(
          0.625rem,
          -0.537rem + 4.96vw,
          2.5rem
  );
  overflow: hidden;
  transform: scale(1);
}
.contets-area:before {
  content: "";
  background: url(../img/ptn.png) repeat;
  position: fixed;
  width: 500%;
  height: 200%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: -1;
}
@media screen and (min-width:768px) {
  .contets-area:before {
    width: 300%;
  }
}
.contets-area:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  background: url(../img/bg.webp) top center no-repeat;
  background-size: cover;
  background-attachment: fixed;
  width: 100%;
  height: 100%;
  z-index: -1;
  mix-blend-mode: multiply;
}
.contets-area .contents-in {
  margin: 0 auto;
  padding-left: clamp(
          0.625rem,
          0.238rem + 1.65vw,
          1.25rem
  );
  padding-right: clamp(
          0.625rem,
          0.238rem + 1.65vw,
          1.25rem
  );
  max-width: 980px;
}

.default-style {
  margin-top: 10px;
  background-color: rgba(255, 255, 255, 0.95);
  border-style: solid;
  border-color: #02891a;
  border-width: clamp(
          0.25rem,
          0.095rem + 0.66vw,
          0.5rem
  );
  border-radius: clamp(
          0.625rem,
          0.238rem + 1.65vw,
          1.25rem
  );
  font-size: clamp(
          0.875rem,
          0.72rem + 0.66vw,
          1.125rem
  );
}

.about, .system, .momotetsu {
  padding: clamp(
          0.625rem,
          -0.537rem + 4.96vw,
          2.5rem
  );
  font-size: clamp(
          1rem,
          0.845rem + 0.66vw,
          1.25rem
  );
  line-height: 1.6;
}

.section-title {
  padding-top: 10px;
  font-size: clamp(
          1.125rem,
          0.04rem + 4.63vw,
          2.875rem
  );
  text-align: center;
  line-height: 1.2;
  color: #02891a;
}
.section-title + p {
  padding-top: clamp(
          0.625rem,
          -0.925rem + 6.61vw,
          3.125rem
  );
}

.section-title-left {
  display: inline-block;
  position: relative;
  font-size: clamp(
          1.5rem,
          0.88rem + 2.64vw,
          2.5rem
  );
  z-index: 1;
}
.section-title-left:before {
  position: absolute;
  bottom: clamp(
          0.5rem,
          0.268rem + 0.99vw,
          0.875rem
  );
  content: "";
  width: 102%;
  height: 25%;
  background: url("../img/subtitle_bg.webp");
  opacity: 0.5;
  border-radius: 30px;
  z-index: -1;
}
.section-title-left + p {
  padding-top: clamp(
          1.25rem,
          1.25rem + 0vw,
          1.25rem
  );
}

.about .attention {
  margin-top: clamp(
          2.1875rem,
          1.219rem + 4.13vw,
          3.75rem
  );
  font-size: clamp(
          0.75rem,
          0.595rem + 0.66vw,
          1rem
  );
  text-align: right;
}

.catch {
  text-align: center;
}
.catch img {
  max-width: 936px;
}

.app-link {
  display: flex;
  justify-content: space-between;
}
.app-link li {
  display: block;
  padding: clamp(
          0.625rem,
          0.238rem + 1.65vw,
          1.25rem
  );
  width: 49%;
  font-size: clamp(
          0.875rem,
          0.333rem + 2.31vw,
          1.75rem
  );
  font-weight: 800;
  text-align: center;
}
.app-link li a {
  display: block;
  margin-top: clamp(
          0.3125rem,
          0.119rem + 0.83vw,
          0.625rem
  );
}
.app-link li .apple {
  width: 86%;
}
@media screen and (min-width:768px) {
  .app-link li {
    padding-bottom: 30px;
  }
  .app-link li img {
    width: auto;
    height: 80px;
  }
  .app-link li .apple {
    width: auto;
  }
}

.link-aeon a {
  color: #b5007f;
  font-weight: 800;
  text-decoration: underline;
}

.attention {
  margin-top: 20px;
}
.attention li {
  position: relative;
  padding-left: 1rem;
  font-size: clamp(
          0.75rem,
          0.673rem + 0.33vw,
          0.875rem
  );
}
.attention li:before {
  position: absolute;
  content: "※";
  left: 0;
}

.ss-area {
  margin: 10px auto 30px;
  border-style: solid;
  border-color: #02891a;
  border-width: clamp(
          0.25rem,
          0.095rem + 0.66vw,
          0.5rem
  );
  border-radius: 10px;
  max-width: 600px;
}

.slick-arrow {
  position: absolute;
  top: calc(50% - 15px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #02891a;
  border-radius: 100px;
  width: clamp(
          3.125rem,
          1.188rem + 8.26vw,
          6.25rem
  );
  height: clamp(
          3.125rem,
          1.188rem + 8.26vw,
          6.25rem
  );
  cursor: pointer;
  z-index: 5;
}
.slick-arrow img {
  position: relative;
  border-width: clamp(
          0.375rem,
          0.607rem + -0.99vw,
          0rem
  );
  width: clamp(
          0.9375rem,
          0.356rem + 2.48vw,
          1.875rem
  );
  left: 2px;
  height: auto;
}

.prev-arrow {
  left: -20px;
  transform: rotate(180deg);
}

.next-arrow {
  right: -20px;
}

@media screen and (min-width:768px) {
  .prev-arrow {
    left: -60px;
    transform: rotate(180deg);
  }
  .next-arrow {
    right: -60px;
  }
}
@media screen and (min-width:980px) {
  .prev-arrow {
    left: -120px;
    transform: rotate(180deg);
  }
  .next-arrow {
    right: -120px;
  }
}
.system h4 {
  margin-top: 10px;
  padding-left: clamp(
          0.25rem,
          0.095rem + 0.66vw,
          0.5rem
  );
  border-left: 8px solid #02891a;
  font-size: clamp(
          1.125rem,
          1.048rem + 0.33vw,
          1.25rem
  );
}
.system h4 span {
  vertical-align: text-top;
}
.system h4 + p {
  margin-top: 5px;
}
.system .os {
  margin-top: 5px;
}
.system .os tr {
  display: flex;
}
.system .os td:nth-of-type(1) {
  width: clamp(
          5rem,
          4.225rem + 3.31vw,
          6.25rem
  );
  min-width: clamp(
          5.75rem,
          5.44rem + 1.32vw,
          6.25rem
  );
}

.world-bnr {
  margin-top: clamp(
          0.3125rem,
          -0.269rem + 2.48vw,
          1.25rem
  );
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}
.world-bnr img {
  border-radius: clamp(
          0.625rem,
          0.238rem + 1.65vw,
          1.25rem
  );
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.world-link {
  display: inline-block;
  color: #088eff;
  text-decoration: underline;
}

.endtext {
  margin-top: clamp(
          0.625rem,
          -0.537rem + 4.96vw,
          2.5rem
  );
  padding: 15px;
  background-color: #ff52a0;
  color: #ffffff;
  text-align: center;
  border-radius: 50px;
}

/*# sourceMappingURL=style.css.map */
