@charset "UTF-8";

/* 簡易リセットCSS */
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: Inter, Inter Fallback;
}

tbody,
td,
tfoot,
th,
thead,
tr {
  border: none;
}

.particle-network-animation {
  display: none;
}

input:focus {
  outline: none;
}

html {
  font-size: 2.1333vw;
}

html::-webkit-scrollbar {
  display: none;
}

li,ul {
  margin: 0;
  padding: 0;
  list-style: none inside;
  line-height: 1;
}

body {
  position: relative;
  width: 100%;
  color: var(--color_text);
  font-size: 2.1333vw;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background-color: var(--color_bg);
  -webkit-text-size-adjust: 100%;
  z-index: -10;
  background: url(../img/sp/loop_bg.jpg) no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.section_title {
  display: block;
  width: 90% !important;
  margin: 0 auto .4267vw auto;
}

.vertical-slider__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
  align-content: center;
  align-items: center;
  overflow: hidden;
  flex-direction: column;
  flex-wrap: nowrap;
}

header {
  width: 100%;
  height: 14vw;
}

.no_scroll {
  overflow: hidden;
}

#header {
  width: 100%;
  height: 8vw;
  background: #000;
  position: fixed;
  top: 0;
  z-index: 100;
}

header #header {
  /*ハンバーガーメニュー開閉ボタン*/
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  background: #000000;
  height: 14vw;
}

#header .sns {
  width: auto;
  height: 12vw;
  display: flex;
  align-items: center;
  z-index: 9999;
  position: absolute;
  right: 12.8vw;
}

#header .sns a {
  width: 9vw;
  height: 9vw;
  border-radius: 1.6vw;
  margin: 0 1vw;
  box-sizing: border-box;
}

#header .sns a.x {
  background: #000;
  padding: .8vw;
  border: .2vw solid #fff;
}

#header .sns a.youtobe {
  background: #ff0000;
}

nav {
  height: 14vw;
  display: flex;
  align-items: center;
  position: relative;
}

header #header .m_logo img {
  height: 5.33vw;
  margin: .67vw 0 0 1.33vw;
}

header #header #menu_wrap {
  visibility: hidden;
  -webkit-transition: all .2s;
  transition: all .2s;
}

header #header #menu_wrap .menu {
  width: 100%;
  position: fixed;
  top: 14vw;
  height: calc(100% - 5px);
  background: rgb(24 0 45);
}

header #header #menu_wrap .menu li {
  background-size: 75%;
  text-align: center;
  font-size: 4vw;
  line-height: 15vw;
  border-bottom: .05vw solid #fff;
}

header #header #menu_wrap .menu li.sp_sns {
  width: 100%;
  display: flex;
  align-items: center;
  z-index: 9999;
  border-bottom: 0;
  justify-content: space-around;
  padding: 5vw 0 0;
}

header #header #menu_wrap .menu li.sp_sns a {
  width: 11vw;
  height: 11vw;
  border-radius: 1.07vw;
  box-sizing: border-box;
  padding: .7vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

header #header #menu_wrap .menu li.sp_sns a svg {
  width: 100%;
  max-width: 8vw;
}

header #header #menu_wrap .menu li.sp_sns a.x {
  background: #000;
  border: .05vw solid #fff;
}

header #header #menu_wrap .menu li.sp_sns a.youtobe {
  background: #ff0000;
}

header #header #menu_wrap .menu li.sp_sns a.discord {
  background: #5460e8;
}

header #header #menu_wrap .menu li.sp_sns a.line {
  background: #00c854;
}

header #header #menu_wrap .menu li.sp_sns a.facebook {
  background: #007ffe;
}

header #header #menu_wrap .menu li .init-bottom {
  display: none;
}

header #header #menu_wrap .menu li a {
  color: #FFF;
  display: block;
  width: 100%;
  height: auto;
  text-decoration: none;
}

header #header #menu_wrap .menu .menu_title {
  color: #fff;
  background-color: #2c0460eb;
}

header #header #menu_wrap .menu .menu_top {
  background-position: center 11%;
}

header #header #menu_wrap .menu .menu_news {
  background-position: center 22%;
}

header #header #menu_wrap .menu .menu_info {
  background-position: center 33%;
}

header #header #menu_wrap .menu .menu_guide {
  background-position: center 44%;
}

header #header #menu_wrap .menu .menu_etc {
  background: none;
}

header #header #menu_wrap .menu .menu__second-level {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

header #header #menu_wrap .menu .menu__second-level li {
  background-size: 100%;
  width: 50%;
}

header #header #menu_wrap .menu .menu__second-level li a {
  display: block;
  width: 100%;
  height: 100%;
}

header #header #menu_wrap .menu .menu__second-level li:nth-child(odd) {
  border-right: .05vw solid #fff;
}

header #header #menu_wrap .menu .menu__second-level li.menu_world {
  border-bottom: none !important;
}

header #header #menu_wrap .menu .menu__second-level li.menu_gift {
  background-position: center 55.5%;
}

header #header #menu_wrap .menu .menu__second-level li.menu_faq {
  background-position: center 66.5%;
}

header #header #menu_wrap .menu .menu__second-level li.menu_support {
  background-position: center 78.5%;
}

header #header #menu_wrap .menu .menu__second-level li.menu_terms {
  background-position: center 89.5%;
}

header #header #menu_wrap .menu .menu__second-level li.menu_privacy {
  background-position: center 101.5%;
  border-bottom: none;
}

header #header #menu_wrap .sublink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

header #header #menu_wrap .sublink li {
  width: 5.33vw;
  margin: 1.07vw;
}

header #header #menu_wrap .sublink li a img {
  display: block;
  width: 100%;
}

header #header #menu_wrap .sublink li a img:hover {
  opacity: 0.6;
}

header #header .open {
  visibility: visible !important;
}

header #header .menu_open .menu_button {
  position: absolute;
  right: 1vw;
  top: 50%;
  transform: translateY(-50%);
  width: 10vw;
  height: 10vw;
  background-color: #000000;
  border-radius: .67vw;
  border: none;
}

header #header .menu_open .menu_button:focus {
  outline: none;
}

header #header .menu_open span {
  display: block;
  width: 80%;
  margin: auto;
  height: 1vw;
  background-color: #fff;
  border-radius: .4vw;
  position: absolute;
  left: 0;
  right: 0;
  top: calc((100% - .75vw)/2);
  -webkit-transition: .2s;
  transition: .2s;
}

header #header .menu_open .menu_lineTop {
  -webkit-transform: translateY(-2.5vw);
  transform: translateY(-2.5vw);
}

header #header .menu_open .menu_lineBottom {
  -webkit-transform: translateY(2.5vw);
  transform: translateY(2.5vw);
}

header #header .menu--isOpen .menu_lineTop {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

header #header .menu--isOpen .menu_lineMiddle {
  opacity: 0;
}

header #header .menu--isOpen .menu_lineBottom {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.top_icon {
  display: flex;
  position: absolute;
  top: 50%;
  transform: translate(4%, -50%);
  align-items: center;
}

.top_icon img {
  width: 10.5vw;
  height: 10.5vw;
}

.top_icon p {
  margin: 0;
  font-size: 3.5vw;
  color: #ffffff;
  line-height: 1.5;
  margin-left: 1.0667vw;
}

.swiper-pagination {
  display: none;
}

header .sp_header {
  width: 100%;
  display: block;
  padding-top: .64vw;
}

#top {
  width: 100%;
  height: 160vw;
  clear: both;
  position: relative;
  /* margin-top: 4vw; */
}

.top_logo {
  width: 41vw;
  position: absolute;
  right: 2vw;
  top: 17vw;
  z-index: 0;
  display: none;
}

.top_logo img{
  width:100%;
}

.sp_header {
  width: 100%;
  margin-top: 0vw;
}

#top .top_cont {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 8vw;
  margin: 0 auto;
  width: 90%;
  height: auto;
  color: #1e1e1e;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#top .top_cont .main_title {
  width: 70%;
  height: 100%;
  z-index: 6;
  margin: 0 0 1vw 0;
  display: block;
}

#top .top_cont .main_title img {
  width: 100%;
}

#top .top_bg img{
  width:100%
}

#top .top_cont .scroll {
  position: relative;
  font-size: 4vw;
  font-weight: 600;
  color: #1e1e1e;
  text-align: center;
  width: 7vw;
  height: 4vw;
}

#top .top_cont .scroll::after {
  position: absolute;
  top: 5vw;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-animation: updown 2s infinite ease-in-out;
  animation: updown 2s infinite ease-in-out;
  content: "";
  width: 100%;
  height: 5vw;
  background: url(../img/scroll.png) no-repeat;
  background-size: 100%;
}

@-webkit-keyframes updown {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  50% {
    -webkit-transform: translate(0, -1.5vw);
    transform: translate(0, -1.5vw);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes updown {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  50% {
    -webkit-transform: translate(0, -1.5vw);
    transform: translate(0, -1.5vw);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.top_links{
  /* position: absolute; */
  width: 100%;
  max-width: 86vw;
  height: 29.87vw;
  margin: 0 auto;
  background: #ffffffc9;
  border: .13vw solid #f30000;
  border-radius: 1.33vw;
  display: flex;
  padding: 3.2vw 2.13vw;
  justify-content: center;
}

.start{
  display: none;
}

.start_sp{
  display: flex;
  width: 100%;
}

.start_sp button{
  background:none;
  border:0;
  outline:none;
}

.start_btn3,.start_btn4,.start_btn_ed{
  margin: 0 1%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}

#foot_link .start_btn1{
  margin: 0vw 2% 0 0;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}

.start_btn3 img,.start_btn4 img,.start_btn_ed img{
    width:100%;
}

.head_lule_box {
    display: flex;
    justify-content: space-around;
    width: 99%;
    margin: .5vw auto 0;
    line-height: 2 !important;
    color: #000000 !important;
    text-align: left!important;
    text-decoration: none !important;
    font-size: 2.2vw !important;
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif !important;
    font-weight: 600;
  }
.specification{
  display:flex;
  flex-direction: column;
}

.head_lule_box a{
  color:#ff0000;
}

.head_lule_box span {
  padding: 1vw;
}

.head_lule_box input {
  vertical-align: middle;
}


#float {
  background: #000000;
  z-index: 10000;
}

#float ul {
  display: flex;
  justify-content: space-around;
}

#float ul li {
  padding: 1% 0;
  font-size: 1.73vw;
}

#float ul li a {
  color: #ffffffb8;
  text-decoration: underline;
}
/*=============================== news =============================  */

#news_area {
  width: 100%;
  height: 100%;
  padding: 6vw 0;
  /* background: url(../img/sp/news_bg.jpg) no-repeat;
  background-size: 100%; */
  scroll-margin-top: 0vw;
}

#news_area {
  position: relative;
  z-index: 3;
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 8vw 3vw;
}

#news_area #banner {
  background: transparent;
  width: 100%;
  max-width: 98.67vw;
  height: auto;
  margin: 0vw auto;
  overflow: hidden;
}

#news_area #banner img {
  display: block;
  width: 100%;
  font-size: 1.33vw;
}

#news_area #banner .banner-pagination {
  width: 100%;
  text-align: center;
  height: 2.13vw;
  margin: 2.13vw 0;
}

#news_area #banner .banner-pagination .swiper-pagination-clickable,
#news_area #banner .banner-pagination .swiper-pagination-bullet {
  width: 3vw !important;
  height: 3vw !important;
  background-color: #000000 !important;
  display: inline-block;
  line-height: 0;
  border-radius: 10.67vw;
  margin: 0 1vw;
  opacity: 1;
}

#news_area #banner .banner-pagination .swiper-pagination-bullet-active {
  background: #bb00bf !important;
  width: 6vw !important;
  height: 3vw !important;
}

#news_area .tips_banner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 2vw 0;
}

#news_area .tips_banner li a {
  width: 97%;
  display: block;
}

#news_area .tips_banner li a img {
  width: 100%;
}

#news_area #news_wrapper {
  margin: 0 auto;
  display: flex;
  width: 100%;
  max-width: 160vw;
  background-size: 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
}


#news_area #news {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  padding: 2vw;
  border: 2vw double #bb00bf;
}

#news_area #news .news_body {
  position: relative;
  z-index: 2;
}

#news_area #news .news_body .notice_tabs_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 6vw;
  margin: 0;
  /* background: linear-gradient(to top, #6ac4e3, #01347f); */
}

#news_area #news .notice_tabs_list ul {
  padding: 0vw 0vw;
  display: flex;
  justify-content: space-between;
  width: 100%;
  border-radius: 2vw 0 2vw 0;
  overflow:hidden;
}

#news_area #news .notice_tabs_list ul li {
  display: flex;
  background: #610063;
  background-size: 100%;
  color: #ffffff;
  width: 69%;
  /* height: 6.2vw; */
  /* width: auto; */
  padding: 1.5vw 0;
  font-size: 3vw;
  justify-content: center;
  align-items: center;
}

#news_area #news .notice_tabs_list ul li.active {
  background: #bb00bf;
  background-size: 100%;
  color: #ffffff;
}

#news_area #news .notice_tabs_list ul li:nth-of-type(5) {
  margin-right: 0;
}

#news_area #news .tabs {
  flex: 1;
  width: 100%;
  padding: 1.07vw 1.6vw;
  margin: 0 auto;
  overflow: hidden;
  /* background: #fff; */
}

#news_area #news .tabs>ul>li {
  position: relative;
  display: none;
  overflow: hidden;
  width: 100%;
  padding: 0 0;
}

#news_area #news .tabs>ul>li ul {
  margin-bottom: .67vw;
  height: auto;
  overflow: hidden;
}

#news_area #news .tabs>ul>li ul li {
  display: flex;
  flex-direction: row;
  border-bottom: .13vw solid #000;
  align-items: center;
  padding: 1vw 0;
}

#news_area #news .tabs>ul>li ul li:nth-child(n+7) {
  display: none;
}

.icon {
  display: inline-block;
  background-size: cover;
  width: 12vw;
  height: 3vw;
  margin: 0 1.07vw 0 0;
  aspect-ratio: 4/1;
  transform-origin: 0 50%;
}

.ic_type22 {
  background: #fff url(../img/label_event.png) no-repeat center center/cover;
}

.ic_type21 {
  background: #fff url(../img/label_notice.png) no-repeat center center/cover;
}

.ic_type23 {
  background: #fff url(../img/label_update.png) no-repeat center center/cover;
}

.ic_type24 {
  background: #fff url(../img/label_maintenance.png) no-repeat center center/cover;
}

.ic_type26,
.ic_type218 {
  background: #fff url(../img/label_tips.png) no-repeat center center/cover;
}

#news_area #news .tabs>ul>li ul li .t1 {
  width: 70%;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.6vw;
}

#news_area #news .tabs>ul>li ul li .t3 {
  color: #626262;
  font-size: 2.8vw;
  white-space: nowrap;
  font-weight: 600;
}

#news_area #news .tabs>ul>li ul li a {
  color: #000000;
  text-decoration: none;
  width: 100%;
  max-width: 61vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
  display: block;
  font-size: 3vw;
}

#news_area #news .morebtn {
  width: 100%;
  text-align: right;
  margin: 1.07vw 0 0 0;
}

#news_area #news .morebtn a {
  display: inline-block;
  padding: .5vw 1vw;
  background-color: #591872;
  color: #fff;
  text-decoration-line: none;
  font-size: 2.5vw;
}

#twitter {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 60vw;
  background: #ffffffe6;
  padding: 0;
  border: 2vw double #bb00bf;
  margin-top: 2vw;
}

#twitter .t_twitter {
  display: none;
}

.twitter-tweet {
  width: 100%;
  margin-top: 0 !important;
  z-index: 10;
  position: sticky;
  overflow: hidden;
}

#twitter-widget-0 {
  height: 54vw !important;
  font-size: 3vw;
}

#twitter a {
  color: #00afff;
  text-decoration: underline;
  font-size: 4vw;
}

/*=============================== character =============================  */
#chara {
  width: 100%;
  /* height: 100%; */
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 24vw 0vw 0vw;
  background: #ebeff4 url(../img/pc/repeat_bg.png) center right;
  background-size: 100%;
}

#chara .team-slider {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  /* overflow: hidden; */
  flex-direction: column-reverse;
  line-height: 0;
}

#chara .team-slider .team_wrap {
  width: 100%;
}

#chara .team-slider .team_wrap .team-slide {
  width: 80%;
  position: relative;
  opacity: 0;
  /* background: #ebeff4 url(../img/pc/repeat_bg.png) center right; */
  /* background-size: 125%; */
}

#chara .team-slider .team_wrap .team-slide.swiper-slide-active {
  z-index: 1;
}

/* #chara .team-slider .team_wrap .team-slide:nth-child(1).swiper-slide-active {
background: center/contain no-repeat url("../img/pc/chara/team1_bg.jpg");
}
#chara .team-slider .team_wrap .team-slide:nth-child(2).swiper-slide-active {
background: center/contain no-repeat url("../img/pc/chara/team2_bg.jpg");
}
#chara .team-slider .team_wrap .team-slide:nth-child(3).swiper-slide-active {
background: center/contain no-repeat url("../img/pc/chara/team3_bg.jpg");
}
#chara .team-slider .team_wrap .team-slide:nth-child(4).swiper-slide-active {
background: center/contain no-repeat url("../img/pc/chara/team4_bg.jpg");
} */

#chara .team-slider .team_page {
  width: 100%;
  /* height: 47.4vw; */
  display: flex;
  position: static;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  margin-bottom: 2vw;
}

#chara .team-slider .team_page span {
  width: 100% !important;
  max-width: 22vw;
  height: 10vw !important;
  border-radius: 0.5vw;
  background: none;
  opacity: 1;
  margin: 0.5vw 0;
  position: relative;
  overflow: hidden;
  transition: transform .2s linear;
}

#chara .team-slider .team_page span:nth-child(1) {
  background: url(../img/pc/chara/team1.png) no-repeat;
  background-size: 100%;
}

#chara .team-slider .team_page span:nth-child(2) {
  background: url(../img/pc/chara/team2.png) no-repeat;
  background-size: 100%;
}

#chara .team-slider .team_page span:nth-child(3) {
  background: url(../img/pc/chara/team3.png) no-repeat;
  background-size: 100%;
}

#chara .team-slider .team_page span:nth-child(4) {
  background: url(../img/pc/chara/team4.png) no-repeat;
  background-size: 100%;
}

#chara .team-slider .team_page span:nth-child(1).swiper-pagination-bullet-active {
  background-image: url(../img/pc/chara/team1_on.png);
}

#chara .team-slider .team_page span:nth-child(2).swiper-pagination-bullet-active {
  background-image: url(../img/pc/chara/team2_on.png);
}

#chara .team-slider .team_page span:nth-child(3).swiper-pagination-bullet-active {
  background-image: url(../img/pc/chara/team3_on.png);
}

#chara .team-slider .team_page span:nth-child(4).swiper-pagination-bullet-active {
  background-image: url(../img/pc/chara/team4_on.png);
}

#chara .team1_info .fire-pagination {
  width: 100%;
  position: absolute;
  z-index: 1;
  left: 50%;
  transform: translateX(4vw);
  bottom: 2vw;
  transition: transform 0.5s ease;
}

#chara .team1_info .fire-slider .move_left {
  left: 0;
  transform: translateX(1vw);
}

#chara .team1_info .fire-pagination span {
  width: 6.35vw !important;
  height: 6.35vw !important;
  border-radius: 0.75vw;
  border: 0.3vw solid #79347b;
  opacity: 1;
  background: #fff;
}

#chara .team1_info .fire-pagination span:hover {
  border: 0.3vw solid #bb00bf;
}

#chara .team1_info .fire-pagination span.swiper-pagination-bullet-active {
  border: 0.3vw solid #bb00bf;
}

#chara .fire-pagination span:nth-child(1) {
  background: url(../img/pc/chara/icon_hero_1.jpg) center center no-repeat #fff;
  background-size: 100%;
}

#chara .fire-pagination span:nth-child(2) {
  background: url(../img/pc/chara/icon_hero_2.jpg) center center no-repeat #fff;
  background-size: 100%;
}

#chara .fire-pagination span:nth-child(3) {
  background: url(../img/pc/chara/icon_hero_3.jpg) center center no-repeat #fff;
  background-size: 100%;
}

#chara .fire-pagination span:nth-child(4) {
  background: url(../img/pc/chara/icon_hero_4.jpg) center center no-repeat #fff;
  background-size: 100%;
}

#chara .fire-pagination span:nth-child(5) {
  background: url(../img/pc/chara/icon_hero_5.jpg) center center no-repeat #fff;
  background-size: 100%;
}


.is-hidden {
  /* opacity: 0; */
  display: none;
  height: 0;
  margin: 0;
}

.is-visible {
  /* opacity: 1; */
  display: block;
  z-index: 1;
}

#chara .team_bg img {
  width: 100%;
  height: auto;
}

.hero_info {
  width: 100%;
  position: relative;
}

#chara::before {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  content:
  "";
  width: 60%;
  height: 12vw;
  background: url(
  ../img/chara_title.png) no-repeat;
  background-size: 100%;
  top: 7vw;
  z-index: 0;
}

.hero_list1::after {
  position: absolute;
  right: 0;
  content: "";
  width: 50vw;
  height: 50vw;
  background: url(../img/pc/chara/team1_logo.png) no-repeat;
  background-size: 100%;
  top: 0vw;
  z-index: -1;
  opacity: 0.3;
}

.hero_list2::after {
 position: absolute;
  right: 0;
  content: "";
  width: 50vw;
  height: 50vw;
  background: url(../img/pc/chara/team2_logo.png) no-repeat;
  background-size: 100%;
  top: 0vw;
  z-index: -1;
  opacity: 0.3;
}

.hero_list3::after {
  position: absolute;
  right: 0;
  content: "";
  width: 50vw;
  height: 50vw;
  background: url(../img/pc/chara/team3_logo.png) no-repeat;
  background-size: 100%;
  top: 0vw;
  z-index: -1;
  opacity: 0.3;
}

.hero_list4::after {
  position: absolute;
  right: 0;
  content: "";
  width: 50vw;
  height: 50vw;
  background: url(../img/pc/chara/team4_logo.png) no-repeat;
  background-size: 100%;
  top: 0vw;
  z-index: -1;
  opacity: 0.3;
}

.chara_area {
  position: relative;
  width: 100%;
  color: #1e1e1e;
  z-index: 9;
  margin: 0 auto;
}

.chara_area .chara_cont {
  position: absolute;
  width: 95%;
  display: block;
  bottom: 23vw;
  left: 0;
  right: 0;
  margin: auto;
  background: #ffffffc2;
  padding: 3vw;
}

.chara_area .chara_cont .name {
  font-size: 3.6vw;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 1vw;
}

.profile_area {
  /* background: rgba(255, 255, 255, 0.5); */
  border-bottom: .16vw solid #bb00bf;
  /* border-top: .16vw solid #bb00bf; */
  padding: 1vw 0;
  margin-bottom: 1vw;
}

.profile_area li {
  margin-bottom: 1vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  align-items: center;
}

.profile_area li:nth-of-type(2) {
  margin-bottom: 0;
}

.profile_area li p {
  font-size: 2.8vw;
  font-weight: 100;
  color: #ffffff;
  border-radius: .27vw;
  background: #bb00bf;
  width: 10vw;
  height: 4vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: .52vw;
}

.profile_area li span {
  font-size: 3vw;
  font-weight: 500;
  color: #1e1e1e;
  line-height: 1.5;
  /* width: 25vw; */
  word-wrap: break-word;
  word-break: break-word;
}

.chara_area .chara_cont .lines {
  font-size: 2.8vw;
  line-height: 1.5;
  /* text-shadow: .1vw 0 #ebeff4, 0 .1vw #ebeff4, -0.1vw 0 #ebeff4, 0 -0.1vw #ebeff4; */
  transition: transform 0.3s ease;
}
.chara_area .chara_cont .lines span{
  font-weight:500;
}

.p_hidden{
  height: 9vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient:vertical;
}

.chara_area .chara_cont .lines .down_arrow{
  width: 6vw;
  height: 6vw;
  display: block;
  margin: 0 auto;
  /* animation: bounce 2s infinite; */
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-8px);
  }
  60% {
    transform: translateY(-5px);
  }
}

.chara_area .pic_chara {
  width: 100%;
  height: auto;
  display: block;
  /* position: absolute; */
  right: 0;
  z-index: -1;
}

.chara_area .pic_chara img {
  width: 100%;
}

.thumbnails_btn {
  display: flex;
  margin: 2.13vw auto 0;
  padding: 0;
  justify-content: center;
  position: absolute;
  bottom: 4vw;
  left: 50%;
  transform: translateX(-50%);
  transition: transform .05s ease-in-out;
}

.move {
}

.thumbnails_btn .thumbnail {
  width: 16vw;
  height: 16vw;
  overflow: hidden;
  list-style: none;
  margin: 0 1vw;
  cursor: pointer;
  border: 0.75vw solid #79347b;
  border-radius: 1.5vw;
  transition: all 0.3s;
}

.thumbnails_btn .is-active {
  border: 0.75vw solid #bb00bf;
}

.thumbnails_btn .thumbnail img {
  width: 100%;
  height: auto;
}


/*=============================== feature =============================  */
#feature {
  width: 100%;
  height: auto;
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 9vw 0 16vw;
}

#feature h1 {
  width: 100%;
  max-width: 40vw;
  height: 13vw;
  margin: 0 auto 3vw;
}

#feature h1 img {
  width: 100%;
}

#feature .feature-slider {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
}

#feature .feature-slider .swiper-slide {
  width: 33.33vw;
  margin: 0 auto;
  overflow: hidden;
  transition: 0.7s;
  transform: scale(1);
  border: 0.4vw solid #000000;
  line-height: 0;
}

#feature .feature-slider .swiper-slide:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  /* background: #00000073; */
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#feature .feature-slider .swiper-slide img {
  width: 100%;
  line-height: 0;
}

#feature .feature-slider .swiper-slide-active {
  opacity: 1;
  z-index: 1;
  transform: scale(1);
}

#feature .feature-slider .swiper-slide-active:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #00000000;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#feature .feature_pagination {
  width: 100%;
  text-align: center;
  line-height: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 9vw;
}

#feature .feature_pagination .swiper-pagination-bullet {
  width: 3vw;
  height: 3vw;
  display: inline-block;
  border-radius: 100%;
  opacity: 1;
  background: #000000;
}

#feature .feature_pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: #db2ad4;
  width: 6vw;
  height: 3vw;
  border-radius: 2vw;
  box-shadow: none;
}

#feature .feature_pagination span {
  margin: 0 1vw;
}

#feature .feature_pagination span:focus {
  outline: -webkit-focus-ring-color auto 0vw;
}


/*=============================== world =============================  */
#world {
  width: 100%;
  height: auto;
  background: url(../img/sp/world/world_bg.jpg) no-repeat;
  background-size: 100%;
}

#world .world_img {
  display:none
}

#world .world_area {
  width: 95%;
  /* height: 100vh; */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10vw 0;
  margin: 0 auto;
}

#world .world_area h1 {
  width: 100%;
  max-width: 40vw;
  /* height: 3.96vw; */
  margin: 0 0 11vw 0;
}

#world .world_area h1 img {
  width: 100%;
}

#world .world_area .world_text {
  width: 100%;
}

#world .world_area .world_text img {
  width: 100%;
}

#spec {
  width: 100%;
  height: 100%;
  /* background: url(../img/spec_bg.jpg); */
  /* background-size: 12.8vw 12.5333vw; */
  padding: 8vw 0 20vw;
  color: #e3e3e3;
}

#spec .spec_inner {
  width: 100%;
  margin: 0vw auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
}

#spec .spec_inner img {
  display: block;
  width: 40vw;
  margin: 0 0 4vw 0;
  border-radius: 2.6667vw;
  border: 1vw solid #fff;
}

#spec .spec_inner .spec_table {
  width: 90%;
  font-size: 3vw;
  border-collapse: separate;
  border-spacing: .4vw;
  /* text-shadow: 0 0 .6667vw rgba(0, 0, 0, 0.4); */
  height: 4.2667vw;
  color: #ffffff;
}

#spec .spec_inner .spec_table th {
  border: 0;
  padding: 0.5em;
  text-align: center;
  margin-right: .4vw;
  vertical-align: middle;
  background-color: #6c3691ab;
  width: 30%;
}

#spec .spec_inner .spec_table td {
  vertical-align: middle;
  padding: 0.5em 1em;
  background-color: #6c3691ab;
  border: 0;
  font-weight: 600;
}

#spec .spec_inner .spec_table td span {
  font-size: 70%;
}

#spec .voice_info {
  margin: 4vw auto;
  width: 100%;
  /* text-align: center; */
  color: #333;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#spec .voice_info h2{
  font-size: 4.5vw;
  display:flex;
  flex-direction: column;
  align-items: center;
}

#spec .voice_info h2 span{
  font-size: 2.5vw;
  font-weight:400;
}

#spec .voice_info .voice_text,#spec .voice_info .voice_cv{
  margin: 2.5vw 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#spec .voice_info .voice_text p,#spec .voice_info .voice_cv p{
  font-weight: 600;
  font-size: 3.8vw;
  margin: 0 0 2vw;
  position:relative;
}
#spec .voice_info .voice_text p:after,#spec .voice_info .voice_cv p:after{
  content: "";
  width:100%;
  height:2.5vw;
  background: #8c55b278;
  position:absolute;
  left:0;
  right:0;
  z-index:-1;
  bottom:0;
}

#spec .voice_info .voice_text span{
  font-weight: 400;
  font-size: 3vw;
  border-bottom: 0.25vw dashed #84848459;
  padding: 0 0 2vw 0;
}

#spec .voice_info .voice_cv ul{font-size: 3vw;border-collapse: separate;border-spacing: .2083vw;color: #333;margin: 0 auto;}

#spec .voice_info .voice_cv ul li {
  text-align: center;
  font-weight: 400;
  width: 100%;
  margin: 0vw 0 3vw;
  padding: 0 0 2vw 0;
  border-bottom: 0.25vw dashed #84848459;
}
/*=============================== footer =============================  */

footer {
  bottom: 0;
  width: 100%;
  z-index: 101;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  padding: 0;
  background: #fff;
  margin-top: 0vw;
}

footer .company_info {
  padding: 6vw 0;
  position: relative;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-direction: column;
}

footer .company_info img {
  width: 40%;
}

footer .company_info div {
  margin: 0;
}

footer .company_info ul {
  margin-bottom: 0;
  font-size: 2.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 1.3333vw 0;
  width: 100%;
}

footer .company_info ul li {
  color: #0099cb;
  margin: 0 2.1333vw 0 0;
}

footer .company_info ul li a {
  text-decoration: none;
  color: #0099cb;
  font-size: 3.2vw;
  text-decoration: underline;
}

footer .company_info ul li:first-child {
  border: none;
  padding-left: 0;
  margin: 0 5vw;
}

footer p {
  width: 100%;
  text-align: center;
  font-size: 3vw;
  color: #313131;
  margin-bottom: 0;
}

#go_top {
  width: 8vw;
  height: 8vw;
  fill: #ffffff;
  position: fixed;
  right: 0;
  bottom: 61vw;
  background: #864cae;
  border-radius: 1.5vw 0 0 1.5vw;
  box-sizing: border-box;
  cursor: pointer;
  /* -webkit-transform: translateX(110%); */
  /* transform: translateX(110%); */
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

#go_top svg {
  width: 7vw;
  height: 7vw;
  fill: #fff;
}

#go_top:hover {
  background: #591872;
}

#go_top.is-visible {
  -webkit-transform: translateX(0);
  transform: translateX(-1vw);
}

#go_top.is-hidden {
  -webkit-transform: translateX(110%) !important;
  transform: translateX(110%) !important
}

#go_top img {
  width: 100%;
}

/* float */
#foot_link {
  position: fixed;
  display: flex;
  background: #864cae;
  background-size: contain;
  z-index: 100;
  bottom: 0;
  width: 100%;
  height: 19vw;
  /* border-top: .16vw solid #000; */
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  display: none;
  /* transition: .25s ease-in-out; */
}

#foot_link .footer_regist_area {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify !important;
  -ms-flex-pack: justify !important;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  z-index: 999;
  width: 90%;
  flex-direction: row;
}

.footer_list_item {
  margin-bottom: 2.13vw;
}

.footer_qr {
 display:none;
}

.regist_right {
  width: 100%;
  height: 12vw;
  display: block;
  background: url(../img/download.png);
  background-size: 75%;
  background-position: left;
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: none;
  margin-right: 3vw;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}

.regist_right .arrow_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 22%;
}

.regist_right .arrow_area .arrow {
  width: 3vw;
  height: 3vw;
  background-color: #ffffff;
  background: url(../img/regist_arrow.png) no-repeat center center;
  background-size: 100%;
  -webkit-mask-size: cover;
  -webkit-animation: move 1.3s infinite;
  animation: move 1.3s infinite;
  margin: 0;
}

.regist_right .arrow:nth-child(2) {
  -webkit-animation-delay: 0.15s;
  animation-delay: 0.15s;
}

.regist_right .arrow:nth-child(3) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

@-webkit-keyframes move {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
  }
}

@keyframes move {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
  }
}

#foot_link .foot_btn{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  margin-top: 1.07vw;
  align-items: flex-start;
}

#foot_link .foot_btn button {
  width: auto;
  display: flex;
}

#foot_link .foot_btn button .start_btn2{
  display:none;
}

#foot_link .foot_btn button img {
  width: 100%;
}

.rolling {
  background: url(../img/footer_bg.png) center;
  background-size: cover;
  height: 19vw;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: scroll 60s infinite linear;
  animation: scroll 30s infinite linear;
  z-index: 25;
}

@-webkit-keyframes scroll {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 100vw 0;
  }
}

@keyframes scroll {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 100vw 0;
  }
}

