:root {
  --white: white;
  --black: black;
}

.top-navi {
  z-index: 3;
  margin-top: 220px;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  inset: auto 0%;
}

.image {
  max-width: none;
  height: 40px;
  display: block;
}

.container {
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin-top: auto;
  display: block;
}

.container.navi {
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
  padding: 15px 40px;
  display: flex;
}

.section {
  background-image: url('../images/bg_2.png');
  background-position: 50%;
  background-size: auto;
  height: 1000px;
}

.home {
  color: #fff;
  background-image: url('../images/bg_2.png');
  background-position: 50%;
  background-size: cover;
  margin-top: auto;
  padding-top: 220px;
  padding-bottom: 40px;
  font-family: Poppins, sans-serif;
}

.contents {
  align-items: center;
  max-width: 1040px;
  margin-top: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  display: block;
}

.contents.sp {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: static;
}

.menu {
  opacity: .5;
  color: #fff;
  padding: 20px;
  font-family: Poppins, sans-serif;
  font-weight: 400;
  text-decoration: none;
  display: inline-block;
}

.menu:hover {
  opacity: 1;
}

.navi-logo.w--current {
  flex: 1;
}

.paragraph {
  color: #fff;
  text-align: center;
  margin-bottom: 0;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 400;
}

.paragraph-2 {
  color: #fff;
  text-align: center;
  font-family: PT Serif, serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 48px;
}

.heading {
  color: #fff;
  text-align: center;
  font-family: PT Serif, serif;
}

.heading.top {
  margin-top: 60px;
  font-size: 36px;
}

.bold-text {
  color: #fff;
  text-transform: uppercase;
  font-family: PT Serif, serif;
  font-size: 78px;
  font-weight: 700;
  line-height: 120%;
}

.bold-text.top {
  text-transform: none;
  font-size: 36px;
}

.bold-text.black {
  color: #000;
}

.download-btn {
  position: fixed;
  inset: auto auto 0% 0%;
}

.download-btn.sns {
  z-index: 3;
  padding-bottom: 40px;
  padding-left: 40px;
  position: fixed;
}

.download-btn.sns.left {
  z-index: 8;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  padding-bottom: 0;
  padding-left: 60px;
  display: flex;
  position: static;
}

.download-btn.sns.right {
  z-index: 8;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 60px;
  display: flex;
  position: static;
  inset: auto 0% 0% auto;
}

.btn-sns {
  padding: 10px;
}

.btn-sns.webgl, .btn-sns.hyperplay, .btn-sns.medium {
  display: none;
}

.btn-sns.instagram {
  display: block;
}

.image-2 {
  width: 45px;
}

.body {
  background-color: #000;
}

.lottie-animation {
  display: none;
}

.game {
  mix-blend-mode: normal;
  background-color: #0000;
  background-image: linear-gradient(151deg, #ff5146e6 31%, #9152e1e6), url('../images/bg.png');
  background-position: 0 0, 50%;
  background-size: auto, cover;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 100px;
  padding-bottom: 160px;
}

.assassin {
  width: 800px;
}

.div-block {
  width: 100%;
  height: 100%;
}

.contents-title {
  background-image: url('../images/badge.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 220px 220px;
  background-attachment: scroll;
  justify-content: center;
  align-items: center;
  height: 220px;
  margin-bottom: 60px;
  display: flex;
}

.contents-title.pc {
  margin-bottom: auto;
}

.contents-title.nomargin {
  margin-bottom: 0;
}

.chara-title {
  color: #fff;
  margin-top: auto;
  margin-bottom: auto;
  font-family: PT Serif, serif;
  font-size: 78px;
  line-height: 120%;
}

.game-ss {
  margin-top: 20px;
  position: static;
}

.youtube {
  width: 860px;
}

.nemu-overlay, .navi-overlay-list {
  display: none;
}

.navi-overlay-link {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
}

.hamburger {
  display: none;
}

.top-navi-list {
  flex: 0 auto;
  justify-content: space-between;
  align-items: center;
  display: block;
}

.div-block-2 {
  flex: 1;
}

.list-txt {
  opacity: .5;
  color: #fff;
  object-fit: fill;
  justify-content: center;
  align-items: center;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  list-style-type: none;
  display: flex;
}

.list-txt:hover {
  opacity: 1;
}

.list-2 {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: auto;
  padding-left: 0;
  display: flex;
}

.list-item-txt {
  padding: 20px 0 20px 50px;
  display: flex;
}

.chara {
  background-image: url('../images/bg_1.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: scroll;
  height: 1200px;
  padding-top: 100px;
  padding-bottom: 100px;
}

.chara.paladin {
  background-image: url('../images/paladin.png'), url('../images/bg_1.png');
  background-position: 120% 200px, 0 0;
  background-repeat: no-repeat, repeat;
  background-size: 950px, auto;
  height: 920px;
}

.chara.assassin {
  background-image: url('../images/assassin.png'), url('../images/bg_1.png');
  background-position: 100% 200px, 0 0;
  background-repeat: no-repeat, repeat;
  background-size: 820px, auto;
  height: 900px;
}

.chara.demon-hunter {
  background-image: url('../images/dh.png'), url('../images/bg_1.png');
  background-position: 100% 300px, 0 0;
  background-repeat: no-repeat, repeat;
  background-size: 800px, auto;
}

.chara-name {
  color: #fff;
  margin-bottom: 60px;
  font-family: PT Serif, serif;
  font-size: 54px;
  line-height: 100%;
}

.chara-text {
  z-index: 2;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-self: auto;
  align-items: flex-start;
  width: 55%;
  max-width: 600px;
  margin-top: 60px;
  margin-right: -80px;
  display: flex;
  position: absolute;
}

.chara-img {
  z-index: 1;
  background-image: url('../images/paladin.png');
  background-position: 100%;
  flex-flow: row;
  place-content: flex-end;
  align-items: center;
  width: auto;
  height: auto;
  margin-top: -120px;
  margin-left: -220px;
  margin-right: auto;
  display: flex;
  position: static;
}

.chara-contents {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 40px;
  margin-bottom: auto;
  display: flex;
}

.main-p {
  color: #fff;
  height: auto;
  padding-bottom: 0;
  font-family: Poppins, sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 32px;
  list-style-type: none;
}

.main-p.center {
  text-align: center;
  height: auto;
  padding-left: 140px;
  padding-right: 140px;
}

.main-p.black {
  color: #000;
  white-space: normal;
  direction: ltr;
  height: auto;
  margin-bottom: 20px;
  font-weight: 300;
}

.main-p.black.bold {
  text-align: left;
  margin-bottom: 0;
  font-weight: 700;
}

.main-p.bold {
  text-align: center;
  height: auto;
  margin-top: 20px;
  padding-top: 10px;
  padding-left: 0;
  padding-right: 10px;
  font-weight: 600;
}

.image-3 {
  z-index: -1;
  float: none;
  object-fit: fill;
  width: 900px;
  max-width: none;
  display: block;
  position: relative;
  inset: 0% 0% auto auto;
}

.chara-illust {
  background-image: url('../images/paladin.png');
  background-repeat: no-repeat;
  background-size: 900px;
  flex-direction: row;
  justify-content: flex-end;
  width: auto;
  height: 710px;
  display: block;
  position: absolute;
  inset: -150px 0% auto 0;
}

.chara-illust.paladin {
  background-image: url('../images/paladin.png');
  background-position: 50% 0;
}

.chara-illust.assassin {
  background-image: url('../images/assassin.png');
  background-position: 50% -10%;
  background-size: 800px;
}

.chara-illust.demon-hunter {
  background-image: url('../images/dh.png');
  background-position: 50% -15%;
  background-size: 800px;
}

.image-4 {
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  width: 900px;
  max-width: none;
  margin-top: -130px;
  margin-left: -180px;
  display: none;
}

.div-block-4 {
  -webkit-text-fill-color: inherit;
  background-color: #fff;
  background-image: url('../images/background-image.svg');
  background-position: 0 0;
  background-size: auto;
  background-clip: padding-box;
}

.charaimg {
  flex: 1;
  position: relative;
}

.chara-assassin {
  height: auto;
  overflow: hidden;
}

.text-block {
  color: #fff;
  text-align: center;
  margin-top: 68px;
  font-family: Poppins, sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 100%;
}

.div-block-5 {
  justify-content: center;
  margin-top: 40px;
  display: flex;
}

.image-6 {
  height: 72px;
}

.download, .download.ios {
  padding-left: 20px;
  padding-right: 20px;
}

.paragraph-3 {
  color: #fff;
  text-align: center;
  margin-top: 20px;
  margin-bottom: auto;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  text-decoration: none;
}

.footer {
  height: auto;
  padding-top: 40px;
  padding-bottom: 40px;
  display: block;
}

.footer-logo {
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.image-7 {
  width: 180px;
  display: none;
}

.paragraph-4 {
  color: #fff;
}

.paragraph-5 {
  color: #ffffff80;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  font-family: Poppins, sans-serif;
  display: flex;
}

.nav-link {
  opacity: .5;
  color: #fff;
  text-transform: uppercase;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 600;
  display: block;
}

.nav-link:hover {
  opacity: 1;
}

.nav-link.w--current {
  opacity: 1;
  color: #fff;
  text-decoration: none;
}

.navbar {
  z-index: 9;
  background-color: #0000;
  height: 90px;
  margin-top: 10px;
  position: fixed;
  top: 0%;
  left: 0%;
  right: 0%;
}

.container-nav {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: none;
  height: 100%;
  margin-top: 0;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
}

.nav-menu {
  justify-content: flex-end;
  display: flex;
  position: relative;
}

.brand {
  flex: 1;
}

.greyback {
  display: none;
}

.link-block {
  display: flex;
}

.top-btn {
  justify-content: center;
  align-items: center;
  margin-top: 60px;
  display: flex;
}

.button {
  color: #000;
  text-align: center;
  background-color: #0000;
  background-image: url('../images/Btn_open.png');
  background-position: 50%;
  background-size: auto;
  width: 416px;
  height: 70px;
  padding-top: 25px;
  font-family: Poppins, sans-serif;
  font-size: 24px;
  font-weight: 600;
  text-decoration: none;
  display: block;
}

.pt-serif {
  opacity: .3;
  padding-top: 17px;
  padding-right: 20px;
  font-family: PT Serif, serif;
  font-size: 20px;
  line-height: 30px;
}

.features {
  background-color: #2c1912;
  background-image: url('../images/ftBg.png');
  background-position: 50% 0;
  background-size: 100% 100%;
  padding-top: 100px;
  padding-bottom: 100px;
}

.container-2 {
  max-width: 1210px;
}

.contents-img {
  width: 50%;
  max-width: 100%;
  position: static;
  right: auto;
}

.contents-img.txt {
  position: relative;
}

.features-con {
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 100px;
  display: flex;
}

.features-con.con2 {
  justify-content: center;
  margin-bottom: 60px;
}

.title {
  color: #fff;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-top: 0;
  font-family: Poppins, sans-serif;
  font-size: 42px;
  font-weight: 600;
  line-height: 56px;
}

.contents-txt {
  z-index: 2;
  justify-content: flex-end;
  width: 50%;
  display: flex;
  position: relative;
  left: auto;
}

.contents-txt._2nd {
  justify-content: flex-start;
}

.con-paragraph {
  color: #fff;
  background-color: #5c3a1e;
  flex: 0 auto;
  width: 100%;
  margin-bottom: 0;
  padding: 25px;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  line-height: 28px;
}

.image-8 {
  width: 874px;
  max-width: none;
  height: 100%;
}

.contents-img-div {
  align-items: flex-end;
  width: 100%;
  height: 415px;
  display: flex;
  position: relative;
}

.contents-img-div.con1 {
  width: auto;
  height: auto;
  right: auto;
}

.contents-img-div._2nd {
  justify-content: flex-end;
}

.contents-img-div-ss {
  width: auto;
  position: static;
  inset: 0% 0% auto auto;
}

.contents-txt-wrapper {
  z-index: 3;
  flex-direction: column;
  justify-content: center;
  max-width: 570px;
  height: 100%;
  display: flex;
  position: absolute;
}

.contents-txt-wrapper.con1 {
  width: 100%;
  position: static;
  left: auto;
}

.contents-txt-wrapper.con3 {
  padding-top: 80px;
}

.div-block-8, .div-block-9 {
  width: 100%;
}

.paragraph-7 {
  color: #fff;
  text-align: center;
  font-family: Poppins, sans-serif;
  font-size: 44px;
  line-height: 48px;
}

.features-sp {
  display: none;
}

.slide {
  width: 100%;
  height: 100%;
}

.slider {
  background-color: #0000;
  height: 1100px;
  display: none;
}

.chara-illust-div {
  object-fit: fill;
  height: 872px;
  margin-left: auto;
  padding-left: 0;
  position: relative;
  inset: -32px 35% 105px 181px;
  overflow: hidden;
}

.chara-illust-div.paladin {
  height: 985px;
  inset: -145px auto auto 270px;
}

.chara-illust-div.assassin {
  height: 912px;
  top: -72px;
  left: 137px;
}

.paladin {
  width: 1000px;
  display: block;
  position: relative;
  top: -70px;
  left: 133px;
}

.slide-nav {
  inset: 49% 0% 0%;
  overflow: visible;
}

.chara-skill {
  margin-top: 60px;
  display: block;
}

.text-block-2 {
  color: #fff;
  margin-left: 10px;
  padding-top: 1px;
  font-family: PT Serif, serif;
  font-size: 20px;
}

.chara-skill-tit {
  display: flex;
  overflow: visible;
}

.chara-skill-item {
  display: flex;
}

.skill-icon {
  background-image: url('../images/bg_skill.png');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100px 100px;
  justify-content: center;
  align-self: center;
  align-items: center;
  width: 100px;
  height: 100px;
  margin-bottom: 10px;
  margin-right: 20px;
  display: flex;
}

.image-10 {
  width: 79px;
  height: 79px;
  display: block;
}

.skill-list {
  margin-top: 20px;
}

.skill-name {
  opacity: .6;
  color: #fff;
  text-align: center;
  width: 100px;
  font-family: Poppins, sans-serif;
}

.demon {
  width: 840px;
}

.chara-demon {
  height: auto;
  overflow: hidden;
}

.paladin-sp, .image-12, .image-13 {
  display: none;
}

.nft {
  background-image: url('../images/bg_ntrs.png');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-top: 100px;
  padding-bottom: 140px;
}

.totem-nft {
  flex-direction: column;
  display: flex;
}

.title.center {
  text-align: center;
}

.title.black {
  color: #000;
  margin-bottom: 20px;
}

.nft-img {
  justify-content: center;
  align-items: center;
  display: flex;
  position: static;
  top: -60px;
  overflow: visible;
}

.nft-txt {
  z-index: 2;
  object-fit: fill;
  margin-top: -80px;
  padding-top: 0;
  display: block;
  position: static;
  top: -100px;
}

.image-14 {
  width: 660px;
  max-width: none;
}

.image-15 {
  width: 960px;
  max-width: none;
  position: relative;
}

.container-3 {
  max-width: 1200px;
}

.presale {
  background-image: url('../images/bg_presale.png');
  background-position: 50% 0;
  background-size: auto 100%;
  margin-bottom: 0;
  padding-top: 100px;
  padding-bottom: 100px;
  display: none;
}

.container-self {
  max-width: 1200px;
  display: flex;
}

.image-16 {
  width: 450px;
  max-width: none;
}

.sale-img {
  width: 40%;
  position: static;
  left: -50px;
}

.sale-btn {
  justify-content: center;
  margin-top: -70px;
  display: flex;
  position: static;
  top: -79px;
}

.button-2 {
  text-align: center;
  background-color: #0000;
  background-image: url('../images/button2.png');
  background-position: 0 0;
  background-size: auto;
  width: 362px;
  height: 70px;
  margin-left: 10px;
  margin-right: 10px;
  padding-top: 25px;
  padding-bottom: 0;
  font-family: Poppins, sans-serif;
  font-size: 24px;
  text-decoration: none;
  display: block;
}

.tab-link-tab-2 {
  opacity: .5;
  background-color: #0000;
  margin-right: 50px;
  padding-left: 4px;
  padding-right: 4px;
}

.tab-link-tab-2.w--current {
  opacity: 1;
  color: #fff;
  background-color: #0000;
  border-bottom: 2px solid #fff;
  font-size: 20px;
}

.tab-link-tab-3 {
  opacity: .5;
  background-color: #0000;
  margin-right: 50px;
  padding-left: 4px;
  padding-right: 4px;
}

.tab-link-tab-3.w--current {
  opacity: 1;
  background-color: #0000;
  border-bottom: 2px solid #fff;
}

.tab-link-tab-1 {
  opacity: .5;
  background-color: #0000;
  border-radius: 2px;
  margin-right: 50px;
  padding-left: 4px;
  padding-right: 4px;
}

.tab-link-tab-1.w--current {
  opacity: 1;
  color: #fff;
  background-color: #0000;
  border-bottom: 2px solid #fff;
  margin-right: 50px;
  padding-left: 4px;
  padding-right: 4px;
}

.text-block-3 {
  opacity: 1;
  color: #fff;
  font-size: 20px;
}

.tabs-menu {
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  font-family: PT Serif, serif;
  display: flex;
}

.text-block-4 {
  font-weight: 700;
}

.text-block-5 {
  color: #fff;
  font-size: 20px;
}

.assassin-sp, .demon-sp {
  display: none;
}

.section-2 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.roadmap {
  background-image: url('../images/bg_roadmap.png');
  background-position: 50% 0;
  background-size: 100% 100%;
  height: 1350px;
  padding-top: 100px;
  padding-bottom: 100px;
}

.container-map {
  max-width: 1200px;
  display: flex;
}

.container-map.table, .container-map.sp {
  display: none;
}

.roadmap-txt {
  z-index: 2;
  width: 100%;
  margin-left: auto;
  position: static;
  inset: 0% 0% 0% -12%;
}

.roadmap-chara {
  height: 1200px;
  position: relative;
  inset: -222px 0 0;
  overflow: hidden;
}

.map-div {
  justify-content: flex-start;
  width: auto;
  display: flex;
}

.map-line-start {
  background-image: url('../images/roadmap_line_start.png');
  background-position: 50%;
  background-repeat: repeat-y;
  width: 16px;
  height: 116px;
}

.map-line-start.start {
  background-image: url('../images/roadmap_line_start_1.png');
  background-position: 50% 100%;
  background-size: 16px;
}

.mai-txt-date {
  background-image: url('../images/chara_roadmap_date01.png');
  background-position: 0 0;
  background-size: 165px 52px;
  width: 165px;
  height: 52px;
}

.mai-txt-date.white {
  margin-top: 20px;
}

.mai-txt-date.soild {
  background-image: url('../images/chara_roadmap_date02.png');
}

.map-div-date {
  width: 200px;
  display: block;
}

.div-block-11 {
  width: auto;
}

.map-div-txt {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: 40px;
  display: flex;
}

.map-h {
  color: #fff;
  margin-top: 0;
  margin-bottom: 15px;
  font-family: Poppins, sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 110%;
}

.bold-text-3 {
  font-weight: 500;
}

.map-list {
  margin-left: 0;
  display: flex;
}

.map-list-defult {
  margin-right: auto;
  padding-left: 0;
}

.map-red {
  color: red;
  font-size: 14px;
  font-style: italic;
  font-weight: 400;
}

.map-line {
  background-image: url('../images/roadmap_line_bg.png');
  background-position: 0 0;
  background-repeat: repeat-y;
  background-size: auto;
  width: 16px;
  padding-top: 36px;
}

.map-line-end {
  background-image: url('../images/roadmap_line_end.png');
  background-position: 50% 0;
  background-repeat: repeat-y;
  background-size: auto;
  width: 16px;
  height: 116px;
}

.list-3 {
  padding-left: 20px;
}

.map-chara {
  width: 40%;
  height: 1000px;
  display: flex;
  position: relative;
}

.map {
  z-index: 3;
  width: 60%;
  position: relative;
  left: 140px;
}

.image-18 {
  width: 450px;
  max-width: none;
}

.partners {
  background-image: url('../images/bg_3.png');
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: auto;
  height: auto;
  padding-top: 100px;
  padding-bottom: 100px;
}

.container-4 {
  max-width: 1200px;
}

.partner-logo {
  justify-content: space-between;
  margin-bottom: 10px;
  display: flex;
}

.div-block-13, .div-block-14, .div-block-15 {
  width: 30%;
}

.partner-div {
  width: 30%;
  padding: 10px;
}

.movie {
  z-index: 9;
  background-color: #000000ad;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.button-3 {
  display: flex;
}

.sns-menu {
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 100px;
  display: flex;
}

.floating-movie {
  z-index: 10;
  width: 330px;
  padding-bottom: 20px;
  padding-left: 20px;
  display: block;
  position: fixed;
  inset: auto 0% 0%;
}

.btn-play {
  background-image: url('../images/movie_img.png');
  background-position: 0 0;
  background-size: auto;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 180px;
  display: flex;
}

.button-4 {
  opacity: .6;
  background-color: #0000;
  background-image: url('../images/movie_btn.png');
  background-position: 0 0;
  background-size: auto;
  width: 100px;
  height: 100px;
}

.popup {
  z-index: 20;
  opacity: 1;
  background-color: #000000e6;
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
}

.popup.movie {
  display: none;
}

.popup.pre {
  background-image: url('../images/Pre_bg.png');
  background-position: 100%;
  background-size: 100%;
}

.div-block-16 {
  width: 800px;
}

.btn-close {
  opacity: .3;
  height: auto;
  margin-top: 40px;
  margin-right: 40px;
  position: absolute;
  inset: 0% 0% auto auto;
}

.link-block-2 {
  opacity: .5;
}

.image-22 {
  opacity: 1;
  margin-top: 20px;
  padding-top: 0;
}

.div-block-17 {
  opacity: 1;
}

.video {
  width: 860px;
  height: auto;
}

.movie-wrap {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.heading-2 {
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  display: flex;
}

.div-block-19 {
  text-align: center;
  width: 300px;
  margin-bottom: 10px;
}

.bold-text-4 {
  opacity: .4;
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.pre-popup {
  z-index: 20;
  mix-blend-mode: darken;
  background-image: linear-gradient(#000, #fff);
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
}

.preregistration_overlay {
  z-index: 30;
  background-image: url('../images/Pre_bg.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: auto 100%;
  border-bottom: 1px solid #776444;
  width: 100%;
  height: 1200px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 100px;
  display: none;
  position: absolute;
}

.image-23 {
  width: 400px;
  max-width: none;
}

.contents-pre {
  flex-direction: column;
  align-items: center;
  width: 880px;
  height: auto;
  margin-left: 0;
  padding-top: 40px;
  display: flex;
}

.pre-title {
  width: 760px;
  margin-bottom: 20px;
}

.image-24 {
  width: 760px;
  max-width: none;
}

.pre-contents {
  justify-content: space-between;
  width: 100%;
  margin-bottom: 40px;
  display: flex;
}

.pre-item {
  background-image: url('../images/Pre_box.png');
  background-position: 50%;
  background-size: auto;
  flex-direction: column;
  align-items: center;
  width: 430px;
  height: 325px;
  margin-right: -1px;
  padding-top: 50px;
  display: flex;
}

.item-tit {
  justify-content: center;
  margin-bottom: 20px;
  display: flex;
}

.item-txt {
  color: #8d7c5f;
  text-align: center;
  width: 90%;
  font-family: Poppins, sans-serif;
  font-size: 18px;
  font-weight: 500;
}

.item-txt.left {
  text-align: left;
  font-weight: 400;
  line-height: 24px;
}

.item-img {
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 120px;
  margin-bottom: 20px;
  padding-bottom: 0;
  display: flex;
}

.image-25, .image-26 {
  width: 200px;
  max-width: none;
}

.button-5 {
  background-color: #0000;
  background-image: url('../images/Pre_btn.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 460px 96px;
  width: 460px;
  height: 96px;
}

.pre-howto {
  width: 100%;
  margin-top: 60px;
}

.pre-howto-list {
  display: flex;
}

.pre-howto-bl {
  margin-left: 20px;
  margin-right: 10px;
}

.image-27 {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.btn-close-preregistration {
  opacity: .3;
  height: auto;
  margin-top: 40px;
  margin-right: 40px;
  position: absolute;
  inset: 0% 0% auto auto;
}

.nav-link-2 {
  opacity: .5;
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
  border-bottom: 1px solid #fff;
  width: auto;
  padding: 25px 110px 25px 0;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
  display: block;
}

.nav-link-2:hover {
  opacity: 1;
}

.nav-link-2.w--current {
  opacity: 1;
  color: #fff;
  text-decoration: none;
}

.bold-text-5 {
  color: #000;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.bold-text-5.w--current {
  color: #dbdbdb;
}

.dropdown-list.w--open {
  background-color: #dddddd9c;
}

.icon-4 {
  color: #cfc2c2;
  border: 1px solid #0000;
}

.nav-menu-2 {
  justify-content: flex-end;
  width: auto;
  display: flex;
  position: relative;
}

.bold-text-6 {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.paragraph-8 {
  text-align: center;
  font-size: 20px;
}

.bold-text-jp {
  color: #fff;
  text-transform: uppercase;
  font-size: 78px;
  font-weight: 700;
  line-height: 120%;
}

.bold-text-jp.top {
  text-transform: none;
  font-family: Noto Sans JP, sans-serif;
  font-size: 36px;
}

.bold-text-jp.black {
  color: #000;
}

.jp-title {
  color: #fff;
  font-family: Noto Sans JP, sans-serif;
  font-size: 50px;
}

.chara-title-copy {
  color: #fff;
  margin-top: auto;
  margin-bottom: auto;
  font-family: Noto Sans JP, sans-serif;
  font-size: 78px;
  line-height: 120%;
}

.text-block-5-copy {
  color: #fff;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
}

.chara-name-jp {
  color: #fff;
  margin-bottom: 60px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 54px;
  line-height: 100%;
}

.chara-name-copy {
  color: #fff;
  margin-bottom: 60px;
  font-family: PT Serif, serif;
  font-size: 54px;
  line-height: 100%;
}

.chara-name-copy.sp {
  font-family: Noto Sans JP, sans-serif;
}

.section-3 {
  background-color: #242424;
  background-image: none;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: auto;
  padding-top: 0;
  padding-bottom: 60px;
  display: flex;
}

.div-block-20 {
  flex-direction: column;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  margin-top: 0;
  display: flex;
}

.div-block-21 {
  margin-top: 20px;
}

.button-6 {
  color: #0c0c0c;
  background-color: #eee;
  border-radius: 10px;
  padding: 10px 60px;
  font-family: Poppins, sans-serif;
  font-size: 18px;
  display: flex;
}

.image-29 {
  width: 100%;
  max-width: 900px;
  display: block;
}

.body-2 {
  background-color: #000;
  height: auto;
}

.div-block-22 {
  width: auto;
  padding-left: 0;
  padding-right: 0;
}

@media screen and (min-width: 1280px) {
  .paragraph {
    font-size: 18px;
  }

  .bold-text.top, .btn-sns.hyperplay {
    display: none;
  }

  .chara-skill {
    display: flex;
  }

  .nav-link-2 {
    mix-blend-mode: normal;
    display: block;
  }

  .bold-text-5 {
    color: #202020;
  }

  .bold-text-5.w--current {
    color: #fff7f7;
    border: 1px solid #666;
  }

  .dropdown-list {
    background-color: #dddddd70;
  }

  .bold-text-6.w--current {
    color: #3f3d3d;
    border: 1px solid #666;
  }

  .dropdown-list-2 {
    background-color: #dddddd70;
  }

  .section-3 {
    background-image: none;
    width: auto;
    height: auto;
    min-height: 100vh;
  }

  .div-block-20 {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .div-block-21 {
    margin-top: 20px;
  }

  .button-6 {
    color: #000;
    background-color: #fff;
    border-radius: 10px;
    padding-left: 60px;
    padding-right: 60px;
    font-family: Varela Round, sans-serif;
    font-size: 20px;
    line-height: 30px;
  }

  .link-block-3 {
    background-color: #c2c2c2;
  }

  .body-2 {
    height: auto;
  }
}

@media screen and (max-width: 991px) {
  .top-navi {
    margin-top: 15px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .image {
    height: 26px;
  }

  .container {
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    max-width: 90%;
    display: block;
  }

  .contents {
    max-width: 95%;
  }

  .contents.sp {
    justify-content: flex-start;
    max-width: 100%;
  }

  .menu {
    font-size: 12px;
  }

  .paragraph {
    font-size: 14px;
  }

  .bold-text {
    font-size: 64px;
    line-height: 64px;
  }

  .download-btn.sns.left, .download-btn.sns.right {
    z-index: 8;
  }

  .lottie-animation {
    display: none;
  }

  .game {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .assassin {
    width: 480px;
    max-width: none;
  }

  .contents-title {
    color: #fff;
    background-size: 200px 200px;
    align-items: center;
    height: 200px;
    font-family: PT Serif, serif;
  }

  .contents-title.nomargin {
    margin-bottom: 10px;
  }

  .chara-title {
    padding-bottom: 0;
    line-height: 0;
  }

  .youtube {
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    display: flex;
  }

  .nemu-overlay, .navi-overlay-list {
    display: none;
  }

  .list-txt {
    font-size: 13px;
  }

  .list-item-txt {
    padding: 10px;
  }

  .chara.paladin {
    background-position: 120% 100px, 0 0;
    background-size: 500px, auto;
    height: 840px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .chara.assassin {
    background-image: url('../images/assassin.png'), url('../images/bg_1.png');
    background-position: 90% 180px, 0 0;
    background-repeat: no-repeat, repeat;
    background-size: 350px, auto;
    height: 840px;
  }

  .chara.demon-hunter {
    background-image: url('../images/dh.png'), url('../images/bg_1.png');
    background-position: 95% 200px, 0 0;
    background-repeat: no-repeat, repeat;
    background-size: 400px, auto;
    height: 840px;
  }

  .chara-name {
    margin-top: auto;
    margin-bottom: 40px;
    font-size: 34px;
  }

  .chara-text {
    z-index: 2;
    flex-wrap: nowrap;
    flex: 1;
    width: 320px;
    max-width: none;
    margin-top: 0;
    margin-left: 60px;
    margin-right: auto;
    padding-top: 60px;
    display: block;
    position: absolute;
  }

  .chara-contents {
    margin-top: 60px;
    margin-left: 50px;
    padding-left: 0;
    padding-right: 0;
  }

  .main-p {
    z-index: 2;
    width: auto;
    height: auto;
    font-size: 16px;
    line-height: 26px;
    position: static;
  }

  .main-p.center {
    width: 80%;
    padding-left: 0;
    padding-right: 0;
  }

  .main-p.black {
    width: auto;
    line-height: 24px;
  }

  .chara-illust.paladin {
    z-index: 1;
    background-position: 0 0;
    background-size: 600px;
    height: 790px;
    margin-top: auto;
    margin-left: auto;
    top: -63px;
    left: -29px;
    right: 0;
  }

  .chara-illust.assassin {
    z-index: 1;
    background-position: 70% 0;
    background-size: 400px;
    height: 790px;
    margin-left: auto;
    top: -95px;
    left: -73px;
  }

  .chara-illust.demon-hunter {
    background-size: 450px;
    height: 790px;
    margin-left: -63px;
    top: -38px;
    left: 95px;
  }

  .image-4 {
    margin-top: -120px;
  }

  .charaimg.paladin {
    margin-left: -100px;
    margin-right: auto;
    display: flex;
    left: auto;
    right: auto;
  }

  .bold-text-2 {
    font-size: 38px;
    line-height: 38px;
  }

  .image-5 {
    min-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .text-block {
    margin-top: 40px;
  }

  .image-6 {
    height: 45px;
  }

  .download {
    padding-left: 10px;
    padding-right: 10px;
  }

  .paragraph-3 {
    font-size: 11px;
  }

  .nav-link {
    z-index: 3;
    opacity: .6;
    background-color: #0000;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 64px;
  }

  .navbar {
    z-index: 20;
    height: 65px;
  }

  .container-nav {
    opacity: 1;
    -webkit-text-fill-color: inherit;
    background-clip: border-box;
    width: 100%;
    height: 100%;
    padding-right: 20px;
  }

  .nav-menu {
    z-index: 20;
    background-color: #444;
    flex-direction: row;
    align-self: auto;
    align-items: stretch;
    width: 100%;
    height: auto;
    margin-top: 80px;
    position: fixed;
    overflow: visible;
  }

  .menu-button {
    padding: 10px;
    display: block;
  }

  .menu-button.w--open {
    background-color: #0000;
  }

  .div-block-6 {
    width: 100%;
    height: 100%;
    min-height: 100%;
    position: relative;
  }

  .icon {
    color: #fff;
    font-size: 40px;
    line-height: 40px;
    display: none;
  }

  .greyback {
    z-index: 9999;
    opacity: 0;
    object-fit: fill;
    background-color: #000c;
    width: 100%;
    height: 100%;
    display: none;
    position: fixed;
    inset: 0%;
  }

  .hamburger-lottie {
    width: 70px;
    height: 70px;
  }

  .button {
    background-position: 50%;
  }

  .pt-serif {
    padding-right: 0;
    font-size: 14px;
  }

  .features {
    background-repeat: no-repeat;
    background-size: 70%;
    flex-direction: column;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    display: flex;
  }

  .contents-img {
    width: 100%;
    position: static;
  }

  .features-con {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: none;
  }

  .title {
    line-height: 53px;
  }

  .contents-txt {
    width: 100%;
    height: 250px;
    padding-left: 20px;
    top: -30px;
  }

  .con-paragraph {
    opacity: .5;
    background-color: #0000;
    width: 100%;
    padding: 0;
  }

  .image-8 {
    width: 690px;
  }

  .contents-img-div.con1 {
    height: 330px;
    right: auto;
  }

  .contents-img-div-ss, .contents-txt-wrapper {
    width: 100%;
  }

  .contents-txt-wrapper.con1 {
    width: auto;
    max-width: 100%;
    height: auto;
    inset: 0% auto auto 0%;
  }

  .paragraph-7 {
    font-size: 26px;
  }

  .features-sp {
    display: block;
  }

  .features-sp-con {
    margin-bottom: 60px;
    padding-top: 0;
  }

  .features-sp-txt {
    padding-left: 20px;
    position: relative;
    top: -30px;
  }

  .chara-illust-div {
    position: static;
    top: -25px;
    left: auto;
    right: auto;
  }

  .chara-illust-div.paladin {
    width: auto;
    height: auto;
    top: -114px;
    left: 152px;
  }

  .chara-illust-div.assassin {
    top: -40px;
    left: -6px;
  }

  .paladin {
    width: 700px;
    max-width: none;
    top: 3px;
    left: -22px;
  }

  .chara-skill {
    margin-top: 60px;
  }

  .skill-icon {
    background-size: 80px 80px;
    width: 80px;
    height: 80px;
  }

  .image-10 {
    width: 62px;
    height: 62px;
  }

  .chara-paladin {
    position: relative;
    inset: auto 0% 8% 152px;
  }

  .chara-paladin.pc {
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .demon {
    width: 540px;
  }

  .chara-demon {
    position: relative;
    left: 89px;
  }

  .paladin-sp, .image-12, .image-13 {
    display: none;
  }

  .totem-nft {
    align-items: center;
    height: auto;
  }

  .nft-img {
    position: static;
    top: -60px;
  }

  .nft-txt {
    flex-direction: column;
    align-items: center;
    display: flex;
    top: -50px;
  }

  .image-14 {
    width: 600px;
  }

  .image-15 {
    width: 650px;
    max-width: 100%;
  }

  .presale {
    padding-bottom: 140px;
  }

  .container-self.sp {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 90%;
    display: flex;
  }

  .image-16 {
    width: 400px;
  }

  .sale-img {
    justify-content: center;
    width: auto;
    display: flex;
    position: static;
    top: auto;
  }

  .sale-txt {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 550px;
    margin-top: -60px;
    display: block;
    position: static;
  }

  .sale-btn {
    margin-top: 40px;
    position: static;
    top: auto;
  }

  .button-2 {
    background-size: 280px 54px;
    width: 280px;
    height: 54px;
    padding-top: 20px;
    font-size: 18px;
  }

  .tab-link-tab-2, .tab-link-tab-2.w--current, .tab-link-tab-3, .tab-link-tab-1, .tab-link-tab-1.w--current {
    margin-right: 40px;
  }

  .tabs-menu {
    padding-left: 76px;
  }

  .assassin-sp {
    display: none;
  }

  .demon-sp {
    display: none;
    overflow: visible;
  }

  .tabs {
    flex-direction: column;
    display: flex;
  }

  .roadmap {
    height: 1250px;
  }

  .container-map.pc {
    display: none;
  }

  .container-map.table {
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 100%;
    display: flex;
    position: relative;
  }

  .container-map.sp {
    display: none;
  }

  .roadmap-txt {
    z-index: 4;
    width: 90%;
    margin-left: 40px;
    display: block;
    position: absolute;
    inset: 0% auto;
  }

  .roadmap-chara {
    z-index: 1;
    justify-content: flex-end;
    width: 100%;
    height: 950px;
    margin-left: 0;
    margin-right: 0;
    display: flex;
    position: relative;
    inset: 0% 0% auto auto;
    overflow: hidden;
  }

  .map-chara {
    z-index: 2;
    width: 100%;
    position: relative;
  }

  .map {
    flex: 0 auto;
    width: 100%;
    height: 100%;
    display: block;
    position: static;
    overflow: hidden;
  }

  .image-18 {
    width: 400px;
    height: 1100px;
    position: relative;
    left: 60px;
  }

  .div-block-12 {
    display: flex;
    position: relative;
  }

  .partners {
    height: auto;
  }

  .popup {
    display: none;
  }

  .btn-close {
    background-image: none;
    width: 60px;
    height: 60px;
    top: 5px;
  }

  .video {
    width: 100%;
  }

  .div-block-18 {
    background-color: #000c;
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0%;
  }

  .preregistration_overlay {
    background-image: url('../images/Pre_bg_sp.png');
    background-position: 50% 0;
    background-size: 100%;
    justify-content: center;
    height: 1300px;
    padding-left: 0;
    display: none;
  }

  .image-23 {
    width: 300px;
  }

  .contents-pre {
    width: 660px;
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .pre-logo {
    margin-bottom: 300px;
  }

  .pre-title {
    width: auto;
  }

  .image-24 {
    width: 520px;
  }

  .pre-item {
    background-size: 320px 242px;
    width: 320px;
    height: 242px;
    padding-top: 30px;
  }

  .item-tit {
    margin-bottom: 0;
  }

  .item-txt {
    font-size: 16px;
  }

  .item-img {
    height: auto;
    margin-bottom: 10px;
    padding-top: 10px;
  }

  .image-25, .image-26 {
    width: 160px;
  }

  .button-5 {
    background-size: 360px;
    width: 360px;
    height: 75px;
  }

  .pre-howto {
    margin-bottom: 60px;
  }

  .btn-close-preregistration {
    background-image: none;
    width: 60px;
    height: 60px;
    top: 5px;
  }

  .nav-link-2 {
    z-index: 3;
    opacity: .6;
    background-color: #0000;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 64px;
    position: static;
  }

  .dropdown-list.w--open {
    background-color: #444;
  }

  .dropdown-list.items-1.w--open {
    background-color: #5f5f5f;
  }

  .nav-menu-2 {
    z-index: 20;
    background-color: #0000;
    flex-direction: row;
    align-self: auto;
    align-items: stretch;
    width: 100%;
    height: auto;
    margin-top: 80px;
    position: fixed;
    overflow: visible;
  }

  .bold-text-6, .bold-text-6.w--current {
    color: #fff;
  }

  .dropdown-list-2.w--open {
    background-color: #5f5f5f;
  }

  .dropdown-link {
    color: #000;
    font-family: Poppins, sans-serif;
    font-size: 15px;
    font-weight: 500;
  }

  .bold-text-jp {
    font-size: 64px;
    line-height: 64px;
  }

  .chara-title-copy {
    padding-bottom: 0;
    line-height: 0;
  }

  .chara-name-jp, .chara-name-copy {
    margin-top: auto;
    margin-bottom: 40px;
    font-size: 34px;
  }

  .section-3 {
    padding-bottom: 30px;
  }

  .div-block-20 {
    width: 90%;
    padding-left: 0;
    padding-right: 0;
  }

  .div-block-22 {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .top-navi {
    z-index: 3;
    margin-top: 0;
    padding: 15px 24px;
  }

  .container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .container.navi {
    padding: 0;
  }

  .home {
    padding-top: 160px;
    padding-bottom: 70px;
  }

  .contents {
    padding-left: 30px;
    padding-right: 30px;
  }

  .contents.sp {
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
  }

  .navi-logo {
    flex: 1;
    margin-left: 20px;
  }

  .navi-logo.w--current {
    margin-left: 0;
    margin-right: 0;
  }

  .heading.top {
    margin-top: 40px;
  }

  .bold-text {
    margin-top: 10px;
    font-size: 32px;
  }

  .bold-text.top {
    font-size: 28px;
    line-height: 38px;
  }

  .download-btn.sns {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    padding-bottom: 0;
    padding-left: 0;
    display: flex;
    position: static;
  }

  .download-btn.sns.left {
    padding-left: 0;
  }

  .download-btn.sns.right {
    flex-direction: column;
    margin-top: 20px;
    padding-right: 0;
    display: flex;
  }

  .btn-sns {
    padding: 5px;
  }

  .image-2 {
    width: 40px;
  }

  .image-2.sp {
    width: 36px;
  }

  .nevi-hanburger {
    mix-blend-mode: normal;
    object-fit: fill;
    background-color: #0000;
    border: 1px solid #0000;
    width: 35px;
    height: 35px;
  }

  .lottie-animation {
    width: 60px;
    height: 50px;
    display: flex;
  }

  .assassin {
    display: none;
  }

  .contents-title {
    background-size: 120px 120px;
    height: 120px;
    margin-bottom: 40px;
  }

  .contents-title.pc {
    margin-bottom: 20px;
  }

  .youtube {
    flex-flow: column;
    place-content: center;
    align-items: center;
    width: 95%;
    height: auto;
    margin: auto 0;
    display: flex;
  }

  .nemu-overlay {
    z-index: 3;
    opacity: .9;
    transform-origin: 50% 0;
    background-color: #000;
    width: 100vw;
    height: 100vh;
    display: none;
    position: fixed;
    inset: 0%;
  }

  .navi-overlay-list {
    z-index: 3;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    padding-left: 0;
    list-style-type: none;
    display: none;
    position: fixed;
    inset: 0%;
  }

  .navi-overlay-link {
    opacity: .7;
    color: #fff;
    font-family: PT Serif, serif;
    font-size: 2em;
    text-decoration: none;
  }

  .list-item {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .hamburger {
    width: 40px;
    height: 40px;
    margin-right: auto;
    display: flex;
  }

  .top-navi-list {
    display: none;
  }

  .chara {
    height: auto;
    padding-top: 50px;
    padding-bottom: 100px;
  }

  .chara.paladin {
    background-image: url('../images/paladin_sm.png'), url('../images/bg_1.png');
    background-position: 60% 160px, 0 0;
    background-repeat: no-repeat, repeat;
    background-size: 400px, auto;
    height: 800px;
  }

  .chara.assassin {
    background-image: url('../images/assassin_sm.png'), url('../images/bg_1.png');
    background-position: 50% 200px, 0 0;
    background-size: 420px, auto;
    height: 800px;
  }

  .chara.demon-hunter {
    background-image: url('../images/dh_sm.png'), url('../images/bg_1.png');
    background-position: 50% 200px, 0 0;
    background-size: 420px, auto;
    height: 800px;
  }

  .chara-text {
    text-align: center;
    flex: 1;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: none;
    margin-top: auto;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    display: flex;
    position: static;
    left: 0;
  }

  .chara-contents {
    margin-left: 10px;
  }

  .chara-contents.sp {
    margin-top: 220px;
    margin-right: 10px;
  }

  .main-p {
    width: auto;
    height: auto;
    margin-bottom: 0;
    font-size: 13px;
  }

  .main-p.center {
    text-align: left;
    width: 90%;
    padding-left: 0;
    padding-right: 0;
    line-height: 26px;
  }

  .main-p.black {
    width: auto;
    line-height: 22px;
  }

  .main-p.bold {
    width: auto;
    margin-top: auto;
    padding-top: 8px;
    padding-left: 6px;
    padding-right: 0;
  }

  .chara-illust.paladin {
    background-position: 50%;
    margin-top: -60px;
    margin-left: -200px;
    margin-right: 200px;
    top: -200px;
    left: -89px;
  }

  .chara-illust.paladin.sp {
    background-image: url('../images/paladin_sm.png');
    background-position: 50% 0;
    background-size: 400px;
    width: 80%;
    margin-top: -13px;
    left: 32px;
    right: -200px;
  }

  .chara-illust.paladin.sp-copy {
    background-image: url('../images/paladin_sm.png');
    background-position: 50% 0;
    background-size: 400px;
    margin-top: -13px;
  }

  .charaimg.paladin {
    flex-wrap: nowrap;
    margin: auto -200px;
    position: relative;
  }

  .charaimg.paladin.sp {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    left: -200px;
  }

  .chara-assassin {
    flex: none;
    justify-content: center;
    display: block;
    position: absolute;
  }

  .image-5 {
    padding-left: 0;
    padding-right: 0;
  }

  .nav-link {
    z-index: 2;
    opacity: .6;
    background-color: #0000;
    display: block;
  }

  .nav-link.w--current {
    z-index: 2;
    display: block;
  }

  .navbar {
    height: 60px;
    margin-top: 10px;
  }

  .container-nav {
    padding-left: 20px;
    padding-right: 10px;
  }

  .nav-menu {
    flex: 0 auto;
    align-items: stretch;
    width: 100%;
    min-width: 500px;
    margin-top: 75px;
  }

  .menu-button {
    padding: 10px;
  }

  .icon {
    color: #fff;
    font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 100;
    line-height: 36px;
    text-decoration: none;
  }

  .greyback {
    opacity: 0;
    display: none;
  }

  .top-btn {
    margin-top: 40px;
  }

  .button {
    background-repeat: no-repeat;
    background-size: 300px 50px;
    width: 300px;
    height: 50px;
    padding-top: 15px;
    font-size: 18px;
  }

  .pt-serif {
    padding-top: 0;
  }

  .features {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .title {
    font-size: 32px;
    line-height: 40px;
  }

  .con-paragraph {
    font-size: 14px;
    line-height: 22px;
  }

  .features-sp-con {
    margin-bottom: 40px;
  }

  .features-sp-con.end {
    margin-bottom: 0;
  }

  .features-sp-txt {
    top: -20px;
  }

  .sns-btn-sp {
    opacity: .4;
  }

  .chara-illust-div {
    flex-flow: row;
    place-content: flex-start center;
    align-items: flex-start;
    width: auto;
    height: 500px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    display: flex;
    position: static;
    top: 0;
    left: 0;
    right: 0%;
  }

  .chara-illust-div.paladin {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    display: flex;
    inset: 0;
  }

  .chara-illust-div.assassin {
    justify-content: center;
    width: auto;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    display: flex;
    top: 0;
    left: auto;
    right: auto;
  }

  .paladin {
    display: none;
  }

  .slide-nav {
    top: 68%;
  }

  .chara-skill {
    margin-top: 40px;
    display: flex;
  }

  .chara-skill-tit {
    margin-right: 40px;
    padding-top: 26px;
  }

  .skill-name {
    width: 80px;
  }

  .chara-paladin {
    flex: 0 auto;
    width: 100%;
    height: auto;
    position: absolute;
    inset: 0% auto;
  }

  .demon {
    display: none;
  }

  .chara-demon {
    flex: none;
    justify-content: center;
    height: auto;
    display: block;
    position: absolute;
    left: auto;
  }

  .paladin-sp {
    width: 100%;
    max-width: none;
    display: block;
  }

  .image-12, .image-13 {
    display: block;
  }

  .nft {
    padding-top: 50px;
    padding-bottom: 80px;
  }

  .nft-txt {
    margin-top: -40px;
  }

  .image-14 {
    width: 450px;
  }

  .image-15 {
    width: 700px;
  }

  .presale {
    padding-top: 50px;
    padding-bottom: 80px;
  }

  .container-self.sp {
    flex-direction: column;
    align-items: center;
    max-width: none;
    display: flex;
  }

  .image-16 {
    width: 300px;
  }

  .sale-img {
    width: 60%;
  }

  .sale-txt {
    flex-direction: column;
    align-items: flex-start;
    width: 90%;
    margin-top: -50px;
    display: block;
    position: static;
    top: -70px;
  }

  .sale-btn {
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }

  .button-2 {
    margin-bottom: 20px;
  }

  .tab-link-tab-2.w--current {
    border-bottom-width: 1px;
  }

  .tab-link-tab-3.end {
    margin-right: 0;
  }

  .tab-link-tab-3.end.w--current, .tab-link-tab-1.w--current {
    border-bottom-width: 1px;
  }

  .tabs-menu {
    justify-content: center;
    align-items: center;
    max-width: none;
    padding-left: 0;
  }

  .assassin-sp, .demon-sp {
    width: 100%;
    max-width: none;
    display: block;
  }

  .roadmap {
    background-position: 50%;
    background-size: auto;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .container-map.table {
    display: none;
  }

  .container-map.sp {
    max-width: none;
    display: block;
    position: relative;
  }

  .roadmap-txt {
    width: 100%;
    margin-left: 0;
    padding-left: 80px;
    left: 0;
    right: 0;
  }

  .roadmap-chara {
    width: 100%;
    height: 1150px;
    position: static;
    inset: 0% 0 auto;
  }

  .map-line-start {
    height: 70px;
  }

  .mai-txt-date.white {
    background-image: url('../images/chara_roadmap_date03.png');
    background-repeat: no-repeat;
    background-size: 100%;
    width: 130px;
    height: 42px;
    margin-top: 0;
  }

  .mai-txt-date.soild {
    background-image: url('../images/chara_roadmap_date04.png');
    background-size: 100%;
    width: 130px;
    height: 42px;
    margin-bottom: 20px;
  }

  .map-div-date {
    width: 150px;
    padding-bottom: 20px;
  }

  .map-div-txt {
    margin-bottom: 15px;
    margin-left: 20px;
  }

  .map-h {
    margin-bottom: 5px;
    font-size: 22px;
  }

  .map-red {
    font-size: 13px;
  }

  .map-line {
    padding-top: 28px;
  }

  .map-line-end {
    height: 70px;
  }

  .map {
    width: 100%;
  }

  .image-18 {
    width: 400px;
    position: relative;
    inset: 0% 0% 0% 5%;
  }

  .image-19 {
    width: 20px;
    max-width: none;
    padding: 4px;
  }

  .image-20, .image-21 {
    padding: 4px;
  }

  .partners {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .sns-menu {
    display: block;
  }

  .btn-play {
    background-size: 100% 100%;
    width: 200px;
    height: 126px;
  }

  .popup {
    padding-top: 0;
    display: none;
  }

  .btn-close {
    flex-direction: row;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-top: auto;
    margin-bottom: 40px;
    margin-right: auto;
    display: block;
    position: absolute;
    inset: auto auto 0%;
  }

  .link-block-2 {
    width: 60px;
  }

  .image-22 {
    margin-top: 20px;
  }

  .video {
    width: 100%;
  }

  .movie-wrap {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .div-block-18 {
    background-color: #000c;
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0%;
  }

  .bold-text-4 {
    font-size: 14px;
  }

  .preregistration_overlay {
    background-color: #201c21;
    height: 1700px;
    display: none;
  }

  .contents-pre {
    width: 100%;
  }

  .image-24 {
    width: 400px;
  }

  .pre-contents {
    flex-direction: column;
    align-items: center;
  }

  .pre-item {
    margin-bottom: 20px;
  }

  .pre-howto {
    margin-bottom: 0;
  }

  .image-28 {
    padding-left: 10px;
  }

  .btn-close-preregistration {
    flex-direction: row;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin: auto auto 40px;
    display: flex;
    position: absolute;
    inset: 0%;
  }

  .nav-link-2 {
    z-index: 2;
    opacity: .6;
    background-color: #0000;
    display: block;
  }

  .nav-link-2.w--current {
    z-index: 2;
    display: block;
  }

  .dropdown-list.items-1.w--open {
    background-color: #5f5f5f;
  }

  .nav-menu-2 {
    flex: 0 auto;
    align-items: stretch;
    width: 100%;
    min-width: 500px;
    margin-top: 75px;
  }

  .bold-text-jp {
    margin-top: 10px;
    font-size: 32px;
  }

  .bold-text-jp.top {
    font-size: 28px;
    line-height: 38px;
  }

  .div-block-20 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .button-6 {
    font-size: 16px;
  }

  .div-block-22 {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width: 479px) {
  .top-navi {
    margin-top: auto;
    padding-left: 15px;
    padding-right: 15px;
  }

  .image {
    height: 20px;
  }

  .container {
    margin-top: 20px;
  }

  .container.navi {
    justify-content: space-between;
    margin-top: auto;
  }

  .home {
    padding-top: 120px;
    padding-bottom: 50px;
  }

  .contents {
    padding-left: 10px;
    padding-right: 10px;
  }

  .contents.sp {
    max-width: 90%;
    margin-top: auto;
  }

  .navi-logo {
    flex: 1;
    margin-left: 20px;
  }

  .paragraph {
    font-size: 12px;
    line-height: 16px;
  }

  .heading {
    font-size: 16px;
    line-height: 20px;
  }

  .heading.top {
    margin-top: 20px;
    font-size: 18px;
    line-height: 120%;
  }

  .bold-text {
    font-size: 32px;
    line-height: 22px;
  }

  .bold-text.top {
    font-size: 16px;
    line-height: 100%;
  }

  .download-btn.sns {
    margin-top: 40px;
    padding-bottom: 0;
  }

  .download-btn.sns.right {
    margin-top: 10px;
  }

  .btn-sns {
    padding: 5px;
  }

  .lottie-animation {
    display: flex;
  }

  .game {
    padding-top: 40px;
    padding-bottom: 80px;
  }

  .contents-title {
    background-position: 50%;
    background-size: 94px;
    height: 94px;
    margin-bottom: 20px;
  }

  .chara-title {
    font-size: 62px;
  }

  .youtube {
    width: 300px;
  }

  .nemu-overlay, .navi-overlay-list {
    display: none;
  }

  .hamburger {
    justify-content: flex-end;
    width: 30px;
    height: 30px;
    margin-right: auto;
  }

  .chara {
    height: auto;
    padding-top: 50px;
    padding-bottom: 80px;
  }

  .chara.paladin {
    background-position: 50% 150px, 0 0;
    height: 850px;
    padding-top: 60px;
    padding-bottom: 100px;
  }

  .chara.assassin {
    background-position: 50% 150px, 0 0;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .chara.demon-hunter {
    background-position: 50% 140px, 0 0;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .chara-name.sp {
    font-size: 32px;
  }

  .chara-text {
    margin-top: -200px;
    padding-top: 0;
    overflow: visible;
  }

  .main-p {
    text-align: left;
    width: 100%;
    height: auto;
    margin-bottom: 0;
    padding-left: 0;
    font-size: 13px;
    line-height: 22px;
  }

  .main-p.center {
    width: auto;
    margin-bottom: auto;
    padding-left: 0;
    padding-right: 0;
    font-size: 13px;
    line-height: 22px;
  }

  .main-p.bold {
    padding-left: 2px;
  }

  .chara-assassin {
    flex: none;
    justify-content: center;
    height: auto;
    display: block;
  }

  .image-5 {
    padding-left: 0;
    padding-right: 0;
  }

  .nav-link {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
  }

  .navbar {
    height: 50px;
    margin-top: 10px;
  }

  .container-nav {
    padding-left: 10px;
    padding-right: 0;
  }

  .nav-menu {
    opacity: 1;
    outline-offset: 0px;
    color: #0000;
    background-color: #333;
    outline: 3px solid #0000;
    flex: 1;
    width: 280px;
    min-width: 280px;
    position: fixed;
  }

  .menu-button {
    padding: 10px;
  }

  .icon {
    text-align: center;
    font-size: 30px;
    line-height: 30px;
  }

  .div-block-7 {
    width: 100%;
    height: 100%;
    position: fixed;
  }

  .greyback {
    opacity: 0;
    width: 100%;
    height: 100%;
    display: none;
  }

  .button {
    background-size: 250px 42px;
    width: 250px;
    height: 42px;
    padding-top: 12px;
    font-size: 15px;
  }

  .pt-serif {
    padding-top: 0;
  }

  .features {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .title {
    text-align: center;
    letter-spacing: 2px;
    font-size: 24px;
    line-height: 30px;
  }

  .con-paragraph {
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
  }

  .paragraph-7 {
    font-size: 18px;
    line-height: 32px;
  }

  .features-sp-txt {
    padding-left: 10px;
  }

  .sns-btn-sp {
    opacity: 1;
  }

  .chara-illust-div {
    flex: none;
    justify-content: center;
    width: 100%;
    max-width: none;
    height: 500px;
    margin-left: 0;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    top: 0;
  }

  .chara-illust-div.paladin {
    justify-content: center;
    width: 100%;
    height: 600px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    display: flex;
    top: 0;
    left: auto;
  }

  .chara-illust-div.assassin {
    height: 820px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    bottom: 0;
  }

  .chara-skill {
    justify-content: center;
    width: 100%;
    margin-top: 20px;
  }

  .text-block-2 {
    font-size: 14px;
  }

  .chara-skill-tit {
    margin-right: auto;
    padding-left: 0;
  }

  .skill-icon {
    background-size: 60px 60px;
    width: 60px;
    height: 60px;
    margin-right: 15px;
  }

  .skill-icon.end {
    margin-right: 0;
  }

  .image-10 {
    width: 50px;
    height: auto;
  }

  .skill-name {
    width: 60px;
    font-size: 12px;
  }

  .chara-paladin {
    flex: none;
    overflow: hidden;
  }

  .chara-demon {
    flex: none;
    justify-content: center;
    display: block;
  }

  .paladin-sp {
    width: 400px;
    max-width: none;
    margin-top: 0;
    display: block;
    position: relative;
    left: -29px;
  }

  .icon-2 {
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
    inset: 23% auto auto 0%;
  }

  .icon-3 {
    width: auto;
    margin-right: 10px;
    inset: 23% 0% auto auto;
  }

  .nft {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .nft-txt {
    margin-top: -20px;
    top: -30px;
  }

  .image-14 {
    width: 90%;
  }

  .image-15 {
    width: 100%;
  }

  .sale-txt {
    width: 90%;
    margin-top: -20px;
  }

  .button-2 {
    padding-top: 18px;
    font-size: 16px;
  }

  .tab-link-tab-2, .tab-link-tab-2.w--current {
    margin-right: 20px;
  }

  .tab-link-tab-3.end {
    margin-right: 0;
  }

  .tab-link-tab-1, .tab-link-tab-1.w--current {
    margin-right: 20px;
  }

  .text-block-3 {
    font-size: 14px;
  }

  .tabs-menu {
    height: auto;
    padding-left: 0;
  }

  .text-block-5 {
    font-size: 14px;
  }

  .image-17 {
    height: 14px;
  }

  .assassin-sp {
    flex: 0 auto;
    align-self: auto;
    width: 400px;
    max-width: none;
  }

  .demon-sp {
    width: 400px;
    max-width: none;
  }

  .tabs-content {
    height: auto;
  }

  .roadmap {
    height: auto;
    padding-bottom: 0;
  }

  .roadmap-txt {
    width: 100%;
    margin-left: 0;
    padding-left: 20px;
    left: 0;
    right: 0;
  }

  .roadmap-chara {
    height: auto;
  }

  .map-div {
    padding-right: 0;
  }

  .mai-txt-date.white, .mai-txt-date.soild {
    width: 120px;
    height: 40px;
  }

  .map-list {
    flex-direction: row;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .map-list-defult {
    margin-bottom: auto;
  }

  .map-red, .list-3 {
    padding-left: 0;
  }

  .map {
    display: flex;
  }

  .image-18 {
    flex: 0 auto;
    width: 350px;
    height: auto;
    left: 30%;
    right: auto;
  }

  .btn-play {
    width: 120px;
    height: 76px;
  }

  .popup {
    background-color: #000c;
  }

  .btn-close {
    width: 40px;
    height: 40px;
    margin-top: 0;
    margin-right: 10px;
    inset: auto auto 20px;
  }

  .image-22 {
    margin-top: 0;
  }

  .bold-text-4 {
    letter-spacing: 0;
    font-size: 11px;
  }

  .text-block-6 {
    margin-top: -10px;
  }

  .preregistration_overlay {
    background-size: 380px;
    height: 1400px;
    margin-left: 0;
    margin-right: 0;
    text-decoration: none;
  }

  .image-23 {
    width: 200px;
  }

  .contents-pre {
    width: auto;
    padding-top: 0;
  }

  .pre-logo {
    margin-bottom: 220px;
  }

  .image-24 {
    width: 300px;
  }

  .pre-contents {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .pre-item {
    background-size: 300px;
    width: 300px;
    height: 227px;
    margin-bottom: 20px;
  }

  .item-txt {
    font-size: 14px;
  }

  .item-txt.left {
    width: 85%;
    font-size: 12px;
    line-height: 20px;
  }

  .button-5 {
    background-size: 300px;
    width: 300px;
    height: 63px;
  }

  .image-28 {
    width: 200px;
    max-width: none;
  }

  .btn-close-preregistration {
    flex-direction: column;
    width: 40px;
    height: 40px;
    margin: 0 auto 20px;
    inset: auto 0% 0%;
  }

  .nav-link-2 {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
  }

  .bold-text-5 {
    color: #181717;
    padding-left: 40px;
    position: static;
  }

  .bold-text-5.w--current {
    color: #fff;
  }

  .dropdown-list.w--open {
    background-color: #5f5f5f;
  }

  .icon-4 {
    opacity: 1;
  }

  .dropdown-toggle {
    object-fit: fill;
    display: block;
    position: relative;
  }

  .dropdown {
    display: block;
  }

  .dropdown-2 {
    margin-left: 0;
  }

  .lottie-animation-2 {
    display: block;
  }

  .nav-menu-2 {
    background-color: #686565;
    flex: 1;
    width: 280px;
    min-width: 280px;
  }

  .bold-text-6 {
    color: #adadad;
  }

  .bold-text-6.w--current {
    color: #fff;
  }

  .dropdown-list-2.w--open {
    background-color: #5f5f5f;
  }

  .bold-text-jp {
    font-size: 32px;
    line-height: 22px;
  }

  .bold-text-jp.top {
    font-size: 16px;
    line-height: 100%;
  }

  .chara-title-copy {
    font-size: 62px;
  }

  .text-block-5-copy {
    font-size: 14px;
  }

  .chara-name-jp.sp, .chara-name-copy.sp {
    font-size: 32px;
  }

  .section-3 {
    background-color: #242424;
    background-image: none;
    flex-direction: column;
    width: auto;
    padding: 0;
  }

  .div-block-20 {
    flex-direction: column;
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
    display: flex;
  }

  .div-block-21 {
    align-items: center;
    display: flex;
  }

  .button-6 {
    padding-left: 40px;
    padding-right: 40px;
    font-size: 14px;
  }

  .image-29 {
    width: auto;
  }

  .div-block-22 {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Keep the exported trailer controls visible on both desktop and mobile. */
.popup.movie .btn-close { z-index: 1; opacity: .7 !important; }
.popup.movie .btn-close:hover, .popup.movie .btn-close:focus-visible { opacity: 1 !important; }
