@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

html {
  overscroll-behavior-y: none;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  body {
    background-color: #f3e8c4;
  }
  body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/pc/background.png);
    background-repeat: repeat;
    background-position: center top;
    opacity: 0.5;
    mix-blend-mode: overlay;
    z-index: -1;
    pointer-events: none;
  }
}

body.is-modal-open {
  overflow: hidden;
}

img {
  width: 100%;
}

.kv .kv-underline {
  display: block;
}

.container {
  position: relative;
}
.container .decorations {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.container .decorations .deco {
  position: absolute;
}
.container .decorations .ch1 {
  left: 0;
  top: calc(480 / 1920 * 100vw);
  width: calc(1100 / 1920 * 100vw);
}
.container .decorations .ch2 {
  left: 0;
  top: calc(1820 / 1920 * 100vw);
  width: calc(1100 / 1920 * 100vw);
}
.container .decorations .ch3 {
  left: 0;
  top: calc(3000 / 1920 * 100vw);
  width: calc(1100 / 1920 * 100vw);
}
.container .decorations .ch4 {
  left: 0;
  top: calc(4680 / 1920 * 100vw);
  width: calc(800 / 1920 * 100vw);
}
.container .decorations .ch5 {
  right: 0;
  top: 0;
  width: calc(750 / 1920 * 100vw);
}
.container .decorations .ch6 {
  right: 0;
  top: calc(1350 / 1920 * 100vw);
  width: calc(1020 / 1920 * 100vw);
}
.container .decorations .ch7 {
  right: 0;
  top: calc(2670 / 1920 * 100vw);
  width: calc(760 / 1920 * 100vw);
}
.container .decorations .ch8 {
  right: 0;
  top: calc(3950 / 1920 * 100vw);
  width: calc(990 / 1920 * 100vw);
}
.container .decorations .pattern-bg1 {
  left: 0;
  top: calc(100 / 1920 * 100vw);
  width: calc(260 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg2 {
  left: calc(150 / 1920 * 100vw);
  top: calc(350 / 1920 * 100vw);
  width: calc(400 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg3 {
  left: calc(80 / 1920 * 100vw);
  top: calc(1670 / 1920 * 100vw);
  width: calc(500 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg4 {
  left: 0;
  top: calc(1790 / 1920 * 100vw);
  width: calc(175 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg5 {
  left: 0;
  top: calc(3070 / 1920 * 100vw);
  width: calc(300 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg6 {
  left: calc(85 / 1920 * 100vw);
  top: calc(4450 / 1920 * 100vw);
  width: calc(450 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg7 {
  left: 0;
  top: calc(4670 / 1920 * 100vw);
  width: calc(300 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg8 {
  left: calc(120 / 1920 * 100vw);
  bottom: 0;
  width: calc(400 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg9 {
  right: calc(120 / 1920 * 100vw);
  top: calc(1170 / 1920 * 100vw);
  width: calc(300 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg10 {
  right: 0;
  top: calc(1320 / 1920 * 100vw);
  width: calc(220 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg11 {
  right: calc(120 / 1920 * 100vw);
  top: calc(2550 / 1920 * 100vw);
  width: calc(400 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg12 {
  right: 0;
  top: calc(3850 / 1920 * 100vw);
  width: calc(290 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg13 {
  right: calc(240 / 1920 * 100vw);
  top: calc(4000 / 1920 * 100vw);
  width: calc(250 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg14 {
  right: calc(70 / 1920 * 100vw);
  top: calc(5500 / 1920 * 100vw);
  width: calc(400 / 1920 * 100vw);
  z-index: -1;
}
.container .decorations .pattern-bg15 {
  right: 0;
  bottom: 0;
  width: calc(250 / 1920 * 100vw);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .container main {
    width: calc(1120 / 1920 * 100vw);
    margin: 0 auto;
    padding: 0;
    position: relative;
  }
  .container main::before, .container main::after {
    content: "";
    position: absolute;
    top: 0;
    width: calc(6 / 1920 * 100vw);
    height: 100%;
    background-color: #b8a48e;
    z-index: 2;
    pointer-events: none;
  }
  .container main::before {
    left: 0;
  }
  .container main::after {
    right: 0;
  }
}
.container main .certification-content {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  background-color: #fff8dd;
  width: 100%;
}
.container main .certification-content::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url(../images/pc/pc_repeat_grid.jpg) repeat center center;
  opacity: 0.5;
}
.container main .certification-content .petal1 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .container main .certification-content .petal1 {
    width: calc(777 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .certification-content .petal1 {
    width: calc(430 / 750 * 100vw);
  }
}
.container main .certification-content .petal2 {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .container main .certification-content .petal2 {
    width: calc(1050 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .certification-content .petal2 {
    width: calc(700 / 750 * 100vw);
  }
}
.container main .certification-content .download-method {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .container main .certification-content .download-method .method {
    width: calc(472 / 1920 * 100vw);
    margin-top: calc(120 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .certification-content .download-method .method {
    width: calc(472 / 750 * 100vw);
    margin-top: calc(80 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container main .certification-content .download-method .download-method-explanation {
    width: calc(890 / 1920 * 100vw);
    margin-top: calc(48 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .certification-content .download-method .download-method-explanation {
    width: calc(702 / 750 * 100vw);
    margin-top: calc(48 / 750 * 100vw);
  }
}
.container main .certification-content .certification-here-btn {
  display: block;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 768px) {
  .container main .certification-content .certification-here-btn {
    width: calc(420 / 1920 * 100vw);
    margin-top: calc(48 / 1920 * 100vw);
  }
  .container main .certification-content .certification-here-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/pc_certification_here_btn_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
  }
  .container main .certification-content .certification-here-btn:hover:not(.disabled)::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .container main .certification-content .certification-here-btn {
    width: calc(702 / 750 * 100vw);
    margin-top: calc(48 / 750 * 100vw);
  }
  .container main .certification-content .certification-here-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/sp/sp_certification_here_btn_tap.png);
    background-size: 100% 100%;
    opacity: 0;
    pointer-events: none;
  }
  .container main .certification-content .certification-here-btn:active:not(.disabled)::after {
    opacity: 1;
  }
}
.container main #auth {
  scroll-margin-top: calc(32 / 1920 * 100vw);
}
@media screen and (max-width: 767px) {
  .container main #auth {
    scroll-margin-top: calc(32 / 750 * 100vw);
  }
}
.container main .download-period {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .container main .download-period .download-period-title {
    width: calc(380 / 1920 * 100vw);
    margin-top: calc(128 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .download-period .download-period-title {
    width: calc(384 / 750 * 100vw);
    margin-top: calc(128 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container main .download-period .download-period-explanation {
    width: calc(890 / 1920 * 100vw);
    margin-top: calc(48 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .download-period .download-period-explanation {
    width: calc(702 / 750 * 100vw);
    margin-top: calc(48 / 750 * 100vw);
  }
}
.container main .auth {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .container main .auth {
    margin: calc(48 / 1920 * 100vw) 0 calc(160 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth {
    margin: calc(48 / 750 * 100vw) 0 calc(120 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container main .auth .form {
    background: url(../images/pc/pc_authentication1_bg.png) no-repeat center top/100% auto;
    width: calc(890 / 1920 * 100vw);
    height: calc(876 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form {
    background: url(../images/sp/sp_authentication1_bg.png) no-repeat center top/100% auto;
    width: calc(702 / 750 * 100vw);
    height: calc(942 / 750 * 100vw);
  }
}
.container main .auth .form input {
  color: #2a0404;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .container main .auth .form input {
    padding-left: calc(20 / 1920 * 100vw);
    font-size: calc(18 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form input {
    padding-left: calc(20 / 750 * 100vw);
    font-size: calc(20 / 750 * 100vw);
  }
}
.container main .auth .form .games-id-input {
  border: solid transparent;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#900c0c, #2a0404) border-box;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .container main .auth .form .games-id-input {
    width: calc(730 / 1920 * 100vw);
    height: calc(56 / 1920 * 100vw);
    border-radius: calc(50 / 1920 * 100vw);
    margin: calc(218 / 1920 * 100vw) calc(80 / 1920 * 100vw) 0;
    border-width: calc(4 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form .games-id-input {
    width: calc(638 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    border-radius: calc(50 / 750 * 100vw);
    margin: calc(218 / 750 * 100vw) calc(32 / 750 * 100vw) 0;
    border-width: calc(4 / 750 * 100vw);
  }
}
.container main .auth .form .games-id-txt {
  color: #2a0404;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .container main .auth .form .games-id-txt {
    font-size: calc(18 / 1920 * 100vw);
    margin: calc(18 / 1920 * 100vw) 0 0 calc(92 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form .games-id-txt {
    font-size: calc(20 / 750 * 100vw);
    margin: calc(18 / 750 * 100vw) 0 0 calc(44 / 750 * 100vw);
  }
}
.container main .auth .form .games-id-txt span {
  text-decoration: underline;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .container main .auth .form .games-id-txt span {
    text-underline-offset: calc(3 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form .games-id-txt span {
    text-underline-offset: calc(3 / 750 * 100vw);
  }
}
.container main .auth .form .password-input {
  border: solid transparent;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#900c0c, #2a0404) border-box;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .container main .auth .form .password-input {
    width: calc(730 / 1920 * 100vw);
    height: calc(56 / 1920 * 100vw);
    border-radius: calc(50 / 1920 * 100vw);
    margin: calc(93 / 1920 * 100vw) calc(80 / 1920 * 100vw) 0;
    border-width: calc(4 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form .password-input {
    width: calc(638 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    border-radius: calc(50 / 750 * 100vw);
    margin: calc(100 / 750 * 100vw) calc(32 / 750 * 100vw) 0;
    border-width: calc(4 / 750 * 100vw);
  }
}
.container main .auth .form .password-txt {
  color: #2a0404;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .container main .auth .form .password-txt {
    font-size: calc(18 / 1920 * 100vw);
    margin: calc(18 / 1920 * 100vw) calc(80 / 1920 * 100vw) calc(32 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form .password-txt {
    font-size: calc(20 / 750 * 100vw);
    line-height: calc(36 / 750 * 100vw);
    margin: calc(18 / 750 * 100vw) calc(44 / 750 * 100vw) calc(32 / 750 * 100vw);
    padding-left: 1em;
    text-indent: -1em;
  }
}
.container main .auth .form .auth-btn {
  position: relative;
}
@media screen and (min-width: 768px) {
  .container main .auth .form .auth-btn {
    width: calc(280 / 1920 * 100vw);
    margin: 0 calc(305 / 1920 * 100vw);
  }
  .container main .auth .form .auth-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/pc_authentication_btn_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
  }
  .container main .auth .form .auth-btn:hover:not(.disabled)::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .container main .auth .form .auth-btn {
    width: calc(280 / 750 * 100vw);
    margin: 0 calc(211 / 750 * 100vw);
  }
  .container main .auth .form .auth-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/pc_authentication_btn_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    pointer-events: none;
  }
  .container main .auth .form .auth-btn:active:not(.disabled)::after {
    opacity: 1;
  }
}
.container main .auth .form .auth-btn.disabled {
  cursor: not-allowed;
  filter: grayscale(1);
  pointer-events: none;
}
.container .download-content {
  position: relative;
  background-color: rgba(32, 26, 13, 0.98);
}
.container .download-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../images/pc/background_dl.png);
  background-repeat: repeat;
  background-position: center top;
  opacity: 0.5;
  mix-blend-mode: overlay;
  z-index: 0;
  pointer-events: none;
}
.container .download-content .roof {
  width: 100%;
  position: relative;
  z-index: 1;
}
.container .download-content .benefits {
  position: relative;
  z-index: 1;
}
.container .download-content .benefits .benefit-1 .title {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-1 .title {
    padding-top: calc(87 / 1920 * 100vw);
    width: calc(720 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-1 .title {
    padding-top: calc(63 / 750 * 100vw);
    width: calc(630 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor {
    display: flex;
    justify-content: center;
    margin-top: calc(48 / 1920 * 100vw);
    gap: calc(16 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: calc(686 / 750 * 100vw);
    margin: calc(48 / 750 * 100vw) auto 0;
    gap: calc(42 / 750 * 100vw);
  }
}
.container .download-content .benefits .benefit-1 .mouse-cursor .aigis,
.container .download-content .benefits .benefit-1 .mouse-cursor .oshiro,
.container .download-content .benefits .benefit-1 .mouse-cursor .monmusu,
.container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh {
  position: relative;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh {
    width: calc(204 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh {
    width: calc(298 / 750 * 100vw);
  }
}
.container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn,
.container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn,
.container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn,
.container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn {
    bottom: calc(50 / 1920 * 100vw);
    width: calc(174 / 1920 * 100vw);
  }
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/mouse_cursor_dl_btn_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
  }
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn:hover:not(.disabled)::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn:hover:not(.disabled)::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn:hover:not(.disabled)::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn:hover:not(.disabled)::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn {
    bottom: calc(60 / 750 * 100vw);
    width: calc(174 / 750 * 100vw);
  }
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/mouse_cursor_dl_btn_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    pointer-events: none;
  }
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn:active:not(.disabled)::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn:active:not(.disabled)::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn:active:not(.disabled)::after,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn:active:not(.disabled)::after {
    opacity: 1;
  }
}
.container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-btn.disabled,
.container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-btn.disabled,
.container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-btn.disabled,
.container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-btn.disabled {
  cursor: not-allowed;
  filter: grayscale(1);
  pointer-events: none;
}
.container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-count-txt,
.container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-count-txt,
.container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-count-txt,
.container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-count-txt {
  white-space: nowrap;
  opacity: 0.6;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #2a0404;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-count-txt,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-count-txt,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-count-txt,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-count-txt {
    bottom: calc(25 / 1920 * 100vw);
    font-size: calc(11 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-1 .mouse-cursor .aigis .download-count-txt,
  .container .download-content .benefits .benefit-1 .mouse-cursor .oshiro .download-count-txt,
  .container .download-content .benefits .benefit-1 .mouse-cursor .monmusu .download-count-txt,
  .container .download-content .benefits .benefit-1 .mouse-cursor .rlyeh .download-count-txt {
    bottom: calc(30 / 750 * 100vw);
    font-size: calc(14 / 750 * 100vw);
  }
}
.container .download-content .benefits .benefit-2,
.container .download-content .benefits .benefit-3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2,
  .container .download-content .benefits .benefit-3 {
    margin-top: calc(50 / 1920 * 100vw);
    gap: calc(48 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2,
  .container .download-content .benefits .benefit-3 {
    margin-top: calc(148 / 750 * 100vw);
    gap: calc(48 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2 .title {
    width: calc(751 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2 .title {
    width: calc(657 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2 .illustration {
    width: calc(890 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2 .illustration {
    width: calc(686 / 750 * 100vw);
  }
}
.container .download-content .benefits .benefit-2 .download-info-txt {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2 .download-info-txt {
    margin-top: calc(-24 / 1920 * 100vw);
    margin-bottom: calc(-24 / 1920 * 100vw);
    font-size: calc(14 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2 .download-info-txt {
    margin-top: calc(-24 / 750 * 100vw);
    margin-bottom: calc(-24 / 750 * 100vw);
    font-size: calc(14 / 750 * 100vw);
  }
}
.container .download-content .benefits .benefit-2 .download-btn {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2 .download-btn {
    width: calc(433 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2 .download-btn {
    width: calc(686 / 750 * 100vw);
  }
}
.container .download-content .benefits .benefit-2 .download-btn#download_btn_2:not(.disabled) {
  position: relative;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2 .download-btn#download_btn_2:not(.disabled)::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/pc_illustration_dl_btn_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
  }
  .container .download-content .benefits .benefit-2 .download-btn#download_btn_2:not(.disabled):hover:not(.disabled)::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2 .download-btn#download_btn_2:not(.disabled)::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/sp/sp_illustration_dl_btn_tap.png);
    background-size: 100% 100%;
    opacity: 0;
    pointer-events: none;
  }
  .container .download-content .benefits .benefit-2 .download-btn#download_btn_2:not(.disabled):active:not(.disabled)::after {
    opacity: 1;
  }
}
.container .download-content .benefits .benefit-2 .download-btn.disabled {
  cursor: not-allowed;
  filter: grayscale(1);
  pointer-events: none;
}
.container .download-content .benefits .benefit-2 .download-count-txt {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefits .benefit-2 .download-count-txt {
    margin-top: calc(-24 / 1920 * 100vw);
    font-size: calc(14 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefits .benefit-2 .download-count-txt {
    margin-top: calc(-24 / 750 * 100vw);
    font-size: calc(14 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container .download-content .benefit-3 .title {
    width: calc(655 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefit-3 .title {
    width: calc(573 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container .download-content .benefit-3 .figure {
    width: calc(890 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefit-3 .figure {
    width: calc(686 / 750 * 100vw);
  }
}
.container .download-content .benefit-3 .address-form {
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .container .download-content .benefit-3 .address-form {
    width: calc(420 / 1920 * 100vw);
  }
  .container .download-content .benefit-3 .address-form::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/pc/pc_address_form_hover.png);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
  }
  .container .download-content .benefit-3 .address-form:hover:not(.disabled)::after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .benefit-3 .address-form {
    width: calc(686 / 750 * 100vw);
  }
  .container .download-content .benefit-3 .address-form::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/sp/sp_address_form_tap.png);
    background-size: 100% 100%;
    opacity: 0;
    pointer-events: none;
  }
  .container .download-content .benefit-3 .address-form:active:not(.disabled)::after {
    opacity: 1;
  }
}
.container .download-content .benefit-3 .address-form.disabled {
  cursor: not-allowed;
  filter: grayscale(1);
  pointer-events: none;
}
.container .download-content .benefit-3 .address-form .link {
  display: block;
}
.container .download-content .caution {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .container .download-content .caution .precautions-title {
    width: calc(267 / 1920 * 100vw);
    margin: calc(148 / 1920 * 100vw) auto calc(48 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .caution .precautions-title {
    width: calc(267 / 750 * 100vw);
    margin: calc(128 / 750 * 100vw) auto calc(48 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .container .download-content .caution .caution-content {
    background: url(../images/pc/pc_caution_bg1.png) no-repeat center top/100% auto;
    width: calc(890 / 1920 * 100vw);
    height: calc(531 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .caution .caution-content {
    background: url(../images/sp/sp_caution_bg1.png) no-repeat center top/100% auto;
    width: calc(686 / 750 * 100vw);
    height: calc(1000 / 750 * 100vw);
  }
}
.container .download-content .caution .caution-content ul {
  list-style-type: disc;
}
@media screen and (min-width: 768px) {
  .container .download-content .caution .caution-content ul {
    padding: calc(45 / 1920 * 100vw) calc(75 / 1920 * 100vw) 0;
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .caution .caution-content ul {
    padding: calc(60 / 750 * 100vw) calc(90 / 750 * 100vw) 0;
  }
}
.container .download-content .caution .caution-content ul li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #4a0000;
}
@media screen and (min-width: 768px) {
  .container .download-content .caution .caution-content ul li {
    font-size: calc(16 / 1920 * 100vw);
    line-height: calc(30 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .caution .caution-content ul li {
    font-size: calc(20 / 750 * 100vw);
    line-height: calc(36 / 750 * 100vw);
  }
}
.container .download-content .banner {
  display: block;
}
@media screen and (min-width: 768px) {
  .container .download-content .banner {
    width: calc(630 / 1920 * 100vw);
    margin: calc(128 / 1920 * 100vw) auto 0;
    padding-bottom: calc(120 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .container .download-content .banner {
    width: calc(686 / 750 * 100vw);
    margin: calc(48 / 750 * 100vw) auto 0;
    padding-bottom: calc(120 / 750 * 100vw);
  }
}

footer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to right, #715e40, #ae8c6a);
}
@media screen and (min-width: 768px) {
  footer {
    padding: calc(8 / 1920 * 100vw) 0;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding: calc(8 / 750 * 100vw) 0;
  }
}
footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/pc/footer1.jpg) repeat center center/auto;
  opacity: 0.8;
  mix-blend-mode: multiply;
  pointer-events: none;
}
footer .copyright {
  position: relative;
  z-index: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  footer .copyright {
    font-size: calc(11 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  footer .copyright {
    font-size: calc(11 / 750 * 100vw);
  }
}

.check-modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 999;
}
@media screen and (max-width: 767px) {
  .check-modal {
    padding: calc(48 / 750 * 100vw) 0;
    box-sizing: border-box;
  }
}
.check-modal.active {
  display: flex;
}
.check-modal .modal-content {
  position: relative;
  display: flex;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .check-modal .modal-content {
    background-image: url(../images/pc/pc_overlay.png);
    width: calc(1110 / 1920 * 100vw);
    aspect-ratio: 1110/626;
    margin: auto calc(405 / 1920 * 100vw);
    padding: 0 calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .check-modal .modal-content {
    background-image: url(../images/sp/sp_overlay.png);
    background-size: 100% auto;
    width: min(100%, 670 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(32 / 750 * 100vw);
  }
}
.check-modal .modal-content .close-btn {
  position: absolute;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .check-modal .modal-content .close-btn {
    width: calc(48 / 1920 * 100vw);
    top: calc(46 / 1920 * 100vw);
    right: calc(54 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .check-modal .modal-content .close-btn {
    width: calc(48 / 750 * 100vw);
    top: calc(72 / 750 * 100vw);
    right: calc(22 / 750 * 100vw);
  }
}
.check-modal .modal-content .modal-title {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .check-modal .modal-content .modal-title {
    width: calc(445 / 1920 * 100vw);
    top: calc(80 / 1920 * 100vw);
    left: calc(110 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .check-modal .modal-content .modal-title {
    width: calc(445 / 750 * 100vw);
    top: calc(120 / 750 * 100vw);
    left: calc(55 / 750 * 100vw);
  }
}
.check-modal .modal-content .modal-scroll {
  position: relative;
}
@media screen and (min-width: 768px) {
  .check-modal .modal-content .modal-scroll {
    width: calc(879 / 1920 * 100vw);
    margin: 15% auto 3%;
    max-height: 70vh;
  }
}
@media screen and (max-width: 767px) {
  .check-modal .modal-content .modal-scroll {
    width: calc(560 / 750 * 100vw);
    margin: 25% auto 10%;
    height: 110vw;
    max-height: 98vh;
  }
}
.check-modal .modal-content .modal-scroll .modal-procedure {
  position: relative;
  width: 100%;
}
.check-modal .modal-content .modal-scroll .modal-procedure p {
  color: #2a0404;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .check-modal .modal-content .modal-scroll .modal-procedure p {
    font-size: calc(24 / 1920 * 100vw);
    margin-top: calc(16 / 1920 * 100vw);
    margin-bottom: calc(16 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .check-modal .modal-content .modal-scroll .modal-procedure p {
    font-size: calc(19 / 750 * 100vw);
    margin-top: calc(16 / 750 * 100vw);
    margin-bottom: calc(16 / 750 * 100vw);
  }
}
.check-modal .modal-content .modal-scroll .modal-procedure .accent {
  color: #dd3134;
}
.check-modal .modal-content .modal-scroll .modal-procedure p a {
  position: static;
  display: inline;
  color: inherit;
  text-decoration: underline;
}
.check-modal .modal-content .modal-scroll .modal-procedure a:not(p a) {
  position: absolute;
  z-index: 1000;
  display: block;
}
@media screen and (min-width: 768px) {
  .check-modal .modal-content .modal-scroll .modal-procedure a:not(p a) {
    left: 4.7%;
    top: 0.23%;
    width: 17.4%;
  }
}
@media screen and (max-width: 767px) {
  .check-modal .modal-content .modal-scroll .modal-procedure a:not(p a) {
    left: 6%;
    top: 4.75%;
    width: calc(177 / 750 * 100vw);
  }
}
.check-modal .modal-content .modal-scroll .modal-procedure a:not(p a) img {
  display: block;
}

.modal-scroll .simplebar-track.simplebar-vertical {
  width: 1.7%;
  background: #9f9f9f;
  border-radius: 9999px;
}
@media screen and (min-width: 768px) {
  .modal-scroll .simplebar-track.simplebar-vertical {
    right: -5%;
  }
}
@media screen and (max-width: 767px) {
  .modal-scroll .simplebar-track.simplebar-vertical {
    right: -4%;
  }
}

.modal-scroll .simplebar-scrollbar::before {
  border-radius: 9999px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(#900c0c, #2a0404);
  opacity: 1;
}

.loading-modal {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  z-index: 999;
  background: rgba(0, 0, 0, 0.8);
}
.loading-modal.active {
  display: flex;
}
@media screen and (max-width: 767px) {
  .loading-modal.safari {
    position: absolute;
    margin-top: -45%;
    height: 150dvh;
  }
}
.loading-modal .loading-content {
  --loading-intro-duration: 0.95s;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: loading_content_intro var(--loading-intro-duration) cubic-bezier(0.2, 0.9, 0.2, 1) both;
}
.loading-modal .loading-content .property1,
.loading-modal .loading-content .property2 {
  position: relative;
  will-change: transform;
  animation: loading_property_bounce 1.05s cubic-bezier(0.4, 0, 0.6, 1) var(--loading-intro-duration) infinite both;
}
.loading-modal .loading-content .property1,
.loading-modal .loading-content .property2 {
  display: block;
}
@media screen and (min-width: 768px) {
  .loading-modal .loading-content .property1,
  .loading-modal .loading-content .property2 {
    width: calc(145 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .loading-modal .loading-content .property1,
  .loading-modal .loading-content .property2 {
    width: calc(145 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .loading-modal .loading-content .property1 {
    left: calc(10 / 1920 * 100vw);
    top: calc(-20 / 1920 * 100vw);
    --loading-move-y: calc(40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .loading-modal .loading-content .property1 {
    left: calc(10 / 750 * 100vw);
    top: calc(-20 / 750 * 100vw);
    --loading-move-y: calc(40 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .loading-modal .loading-content .property2 {
    right: calc(10 / 1920 * 100vw);
    top: calc(20 / 1920 * 100vw);
    --loading-move-y: calc(-40 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .loading-modal .loading-content .property2 {
    right: calc(10 / 750 * 100vw);
    top: calc(20 / 750 * 100vw);
    --loading-move-y: calc(-40 / 750 * 100vw);
  }
}
.loading-modal .loading-content .property3 {
  position: absolute;
  will-change: transform;
  animation: loading_property_scale 1.05s cubic-bezier(0.4, 0, 0.6, 1) var(--loading-intro-duration) infinite both;
}
@media screen and (min-width: 768px) {
  .loading-modal .loading-content .property3 {
    width: calc(29 / 1920 * 100vw);
    left: calc(-5 / 1920 * 100vw);
    bottom: calc(-50 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .loading-modal .loading-content .property3 {
    width: calc(29 / 750 * 100vw);
    left: calc(-5 / 750 * 100vw);
    bottom: calc(-50 / 750 * 100vw);
  }
}
.loading-modal .loading-content .property4 {
  position: absolute;
  will-change: transform;
  animation: loading_property_scale_reverse 1.05s cubic-bezier(0.4, 0, 0.6, 1) var(--loading-intro-duration) infinite both;
}
@media screen and (min-width: 768px) {
  .loading-modal .loading-content .property4 {
    width: calc(71 / 1920 * 100vw);
    right: calc(-20 / 1920 * 100vw);
    top: calc(-65 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .loading-modal .loading-content .property4 {
    width: calc(71 / 750 * 100vw);
    right: calc(-5 / 750 * 100vw);
    top: calc(-50 / 750 * 100vw);
  }
}
.loading-modal .loading-content .property5 {
  position: absolute;
  will-change: opacity;
  animation: loading_property_opacity 1.05s cubic-bezier(0.4, 0, 0.6, 1) var(--loading-intro-duration) infinite both;
}
@media screen and (min-width: 768px) {
  .loading-modal .loading-content .property5 {
    width: calc(168 / 1920 * 100vw);
    left: calc(65 / 1920 * 100vw);
    bottom: calc(-65 / 1920 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .loading-modal .loading-content .property5 {
    width: calc(168 / 750 * 100vw);
    left: calc(65 / 750 * 100vw);
    bottom: calc(-65 / 750 * 100vw);
  }
}

@keyframes loading_content_intro {
  0% {
    transform: translateY(120vh);
  }
  58% {
    transform: translateY(-16%);
  }
  72% {
    transform: translateY(6%);
  }
  84% {
    transform: translateY(-4%);
  }
  93% {
    transform: translateY(1.5%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes loading_property_bounce {
  0%, 22% {
    transform: translateY(0);
  }
  36%, 64% {
    transform: translateY(var(--loading-move-y));
  }
  78%, 100% {
    transform: translateY(0);
  }
}
@keyframes loading_property_scale {
  0%, 22% {
    transform: scale(1);
  }
  36%, 64% {
    transform: scale(2.448);
  }
  78%, 100% {
    transform: scale(1);
  }
}
@keyframes loading_property_scale_reverse {
  0%, 22% {
    transform: scale(1);
  }
  36%, 64% {
    transform: scale(0.408);
  }
  78%, 100% {
    transform: scale(1);
  }
}
@keyframes loading_property_opacity {
  0%, 22% {
    opacity: 1;
  }
  36%, 64% {
    opacity: 0.1;
  }
  78%, 100% {
    opacity: 1;
  }
}
html.is-loading {
  overflow: hidden;
}

body.is-loading {
  overflow: hidden;
  height: 100%;
}