@charset "UTF-8";
/* ++++++++++++++++++++++++++++++++++
    global
++++++++++++++++++++++++++++++++++ */
body {
  width: 100%;
  min-width: 0;
  font-size: 14px;
}

section .section-title {
  font-size: 40px;
}
section .anchor {
  margin: 0;
}

.inner {
  width: 100% !important;
  overflow: hidden !important;
}

.sp_off {
  display: none !important;
}

.sp_on {
  display: block !important;
}

.list-store-banner ul {
  display: block;
  padding-top: 0;
}
.list-store-banner ul li {
  margin: 20px 0 0;
}
.list-store-banner ul li img {
  width: 100%;
}

/**SP表示非表示**/
.sp_none {
  display: none;
}

.pc_none {
  display: block;
}

/* ++++++++++++++++++++++++++++++++++
    header
++++++++++++++++++++++++++++++++++ */
#header {
  display: none;
}

header {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 0;
  padding: 0;
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
  border-bottom: 0;
}
header .innner {
  height: auto !important;
}
header .header-logo {
  position: relative;
  margin: 5px 0 5px 5px;
}
header.opened {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
}
header.opened .inner {
  height: 100%;
}

#nav-header-main {
  display: none;
  position: relative;
  width: 100%;
  top: 0;
  max-height: 100%;
  padding-left: 0 !important;
  opacity: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.opened #nav-header-main {
  display: block;
  opacity: 1;
}
.opened #nav-header-main .indicator {
  display: none !important;
}
.opened #nav-header-main ul {
  width: 100%;
  display: block;
  border-top: 1px solid #008484;
  margin-left: 0;
}
.opened #nav-header-main ul li {
  width: 100%;
  height: 12vh;
  display: block;
  border-bottom: 1px solid #008484;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
}
.opened #nav-header-main ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 10px;
  font-size: 200%;
}
.opened #nav-header-main ul li a:after {
  position: absolute;
  right: 5%;
  content: "";
  width: 22px;
  height: 40px;
  background: url(../images/btn/btn_arrow_right.svg) no-repeat right;
  background-size: cover;
}
.opened #nav-header-main ul li a img {
  position: relative;
  top: 0;
  left: 10px;
  height: auto;
}

#header-BGM {
  display: none;
}
#header-BGM.is_BGM {
  display: none;
}

#btn-hd-nav-open {
  display: block;
}

/* ++++++++++++++++++++++++++++++++++
    main-visual
++++++++++++++++++++++++++++++++++ */
#main-visual {
  height: auto;
}
#main-visual .catch_chara_01, #main-visual .catch_chara_02, #main-visual .catch_chara_03 {
  max-width: 200%;
  width: auto;
  height: 100%;
}
#main-visual .catch_chara_01 img, #main-visual .catch_chara_02 img, #main-visual .catch_chara_03 img {
  height: 100%;
  width: auto;
}
#main-visual .catch_txt {
  width: 120%;
  height: 100%;
}
#main-visual .catch_txt span {
  width: 50%;
  text-align: center;
}
#main-visual .catch_txt span img {
  height: 72%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#main-visual .catch_txt span:first-child img {
  top: 4%;
  bottom: auto;
}
#main-visual .catch_txt span:nth-child(2) {
  margin-top: -5%;
}
#main-visual .box-movie img, #main-visual .box-movie video {
  width: 100%;
  height: auto;
}

/*PC only*/
.mv-pc {
  width: auto !important;
  height: 140% !important;
  -webkit-transform: translate(-50%, -20%) !important;
          transform: translate(-50%, -20%) !important;
}
.mv-pc video {
  width: auto !important;
  height: 100% !important;
}

@media (max-width: 500px) {
  /*
  #main-visual {
    height: 450px;
  }
  */
  #main-visual .box-movie {
    width: 100%;
    height: 100%;
    -webkit-transform: translate(0%);
            transform: translate(0%);
    margin: 0;
  }
  #main-visual .box-movie #movie-01-01 {
    height: 100%;
  }
  #main-visual .box-movie #movie-01-01 img, #main-visual .box-movie #movie-01-01 video {
    width: auto;
    height: 100%;
  }

  /*PC only*/
  .mv-pc {
    margin: 0 0 0 50% !important;
  }
  .mv-pc video {
    width: auto !important;
    height: 100% !important;
  }
}
/* ++++++++++++++++++++++++++++++++++
    section-top
++++++++++++++++++++++++++++++++++ */
#section-top #section-top-01 h1, #section-top #section-top-01 .catchcopy-01 {
  display: none;
}
#section-top #section-top-01 #section-top-01-01 {
  width: 120px;
  top: auto;
  bottom: 5%;
  margin: 0;
}
#section-top #section-top-banner {
  position: absolute;
  bottom: 0;
  height: auto;
  padding: 2% 0;
}
#section-top #section-top-banner .icon_release_chara {
  display: none;
}
#section-top #section-top-banner ul {
  display: block;
  width: 100%;
  padding: 0;
  font-size: 0;
}
#section-top #section-top-banner ul li {
  display: inline-block;
  width: 50%;
  margin: 0;
  padding: 0 5px;
}
#section-top #section-top-banner ul li img {
  width: 100%;
}

/* ++++++++++++++++++++++++++++++++++
    section-news
++++++++++++++++++++++++++++++++++ */
#section-news .inner {
  display: block;
  padding: 20px 10px;
}
#section-news .section_title img {
  width: auto;
}
#section-news .section_news {
  width: 100%;
}
#section-news .section_twitter {
  width: 100%;
}
#section-news .section_twitter iframe {
  width: 100% !important;
}

/* ++++++++++++++++++++++++++++++++++
    section_movie
++++++++++++++++++++++++++++++++++ */
#section-movie .inner .section_bg {
  padding-top: 20px;
}
#section-movie .inner .btn_movie {
  position: relative;
  display: block;
  width: auto;
  height: auto;
  margin-bottom: 40px;
  text-align: center;
}
#section-movie #section-movie-bg video {
  display: none;
}
#section-movie #section-movie-overlay {
  background: none;
}

/* ++++++++++++++++++++++++++++++++++
    section-world
++++++++++++++++++++++++++++++++++ */
#section-world .world_inner {
  width: 90%;
  background-size: 100%;
}
#section-world .world_inner p img {
  width: 100%;
}

/* ++++++++++++++++++++++++++++++++++
    section-event
++++++++++++++++++++++++++++++++++ */
#section-event-banner .popup-modal img {
  width: 95%;
  height: auto;
}

/* ++++++++++++++++++++++++++++++++++
    section_concept
++++++++++++++++++++++++++++++++++ */
#section-concept {
  padding: 60px 0 20px;
}
#section-concept .inner {
  overflow: visible !important;
}
#section-concept .bg_feature {
  display: none;
}
#section-concept .feature_inner {
  padding-top: 80px;
  margin: auto;
  overflow: visible;
}
#section-concept .feature_inner .feature_box {
  width: 100%;
  height: auto;
  margin-top: -8%;
}
#section-concept .feature_inner .feature_box span {
  width: 75%;
  padding-top: calc(100%*500/700);
}
#section-concept .feature_inner .feature_box .btn_feature {
  width: 30%;
  right: 4%;
  top: auto;
  bottom: 20%;
}
#section-concept .feature_inner .feature_box .btn_feature img {
  width: 100%;
  height: auto;
}
#section-concept .feature_inner .feature_01 {
  background: url(../images/bg/bg_feature_img_01_sp.png) no-repeat center top;
  background-size: 130%;
}
#section-concept .feature_inner .feature_01 span {
  margin-left: -1%;
  background: url(../images/txt/txt_feature_01_sp.png) no-repeat;
  background-size: 100%;
  background-position: center top -160%;
}
#section-concept .feature_inner .feature_02 {
  margin-top: -14%;
  background: url(../images/bg/bg_feature_img_02_sp.png) no-repeat center top;
  background-size: 130%;
}
#section-concept .feature_inner .feature_02 span {
  width: 80%;
  margin-left: 1%;
  background: url(../images/txt/txt_feature_02_sp.png) no-repeat;
  background-size: 100%;
  background-position: center top;
}
#section-concept .feature_inner .feature_02 .btn_feature {
  bottom: 10%;
}
#section-concept .feature_inner .feature_03 {
  margin-top: -14%;
  background: url(../images/bg/bg_feature_img_03_sp.png) no-repeat center top;
  background-size: 130%;
}
#section-concept .feature_inner .feature_03 span {
  width: 70%;
  margin-left: -1%;
  background: url(../images/txt/txt_feature_03_sp.png) no-repeat;
  background-size: 100%;
  background-position: center top;
}
#section-concept .feature_inner .feature_03 .btn_feature {
  bottom: 10%;
  right: 2%;
}

/* ++++++++++++++++++++++++++++++++++
    section-chara
++++++++++++++++++++++++++++++++++ */
#section-character {
  padding: 60px 0 20px;
}
#section-character .inner {
  padding-top: 0;
  padding-bottom: 10px;
}
#section-character .flax_inner {
  display: block;
  width: 90%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#section-character .flax_inner div {
  display: inline-block;
  width: 24%;
  padding: 5px;
}

/* ++++++++++++++++++++++++++++++++++
    section-others
++++++++++++++++++++++++++++++++++ */
#section_others {
  padding: 20px 0;
}
#section_others .section_contact a img {
  width: 95%;
  height: auto;
}
#section_others .flax_inner {
  width: 100%;
  padding: 0 10px;
  margin: 20px 0;
}

.information_inner {
  width: 100%;
  padding-top: calc(100%*399/374);
  background: url(../images/contact/contact_01_sp.png) no-repeat center;
  background-size: 95%;
}
.information_inner .icon_tw {
  padding-top: calc(18%*80/80);
  padding-right: calc(18%*80/80);
  top: 6%;
  right: 8%;
  background: url(../images/contact/icon_tw.png) no-repeat center;
  background-size: 100%;
}
.information_inner .icon_tw span {
  display: none;
}
.information_inner .icon_wiki {
  padding-top: calc(18%*80/80);
  padding-right: calc(18%*80/80);
  top: 35%;
  left: 6%;
  background: url(../images/contact/icon_wiki.png) no-repeat center;
  background-size: 100%;
}
.information_inner .icon_wiki span {
  display: none;
}

#special-contents-banner, #list-sns-buttons, #list-others-banner {
  margin-bottom: 20px;
}

@media (max-width: 430px) {
  #list-others-banner img {
    width: 100%;
    height: auto;
  }
}
/* ++++++++++++++++++++++++++++++++++
    section-spec
++++++++++++++++++++++++++++++++++ */
#section-spec #section-spec-01 {
  width: 100%;
  max-width: inherit;
}
#section-spec #section-spec-01 p {
  width: 40%;
  padding: 0 2%;
}
#section-spec #section-spec-01 p img {
  width: 100%;
}
#section-spec #section-spec-01 .spec-list {
  width: auto;
  margin-right: 2%;
}

/* ++++++++++++++++++++++++++++++++++
   SUB 下層ページ
++++++++++++++++++++++++++++++++++ */
#sub-title {
  margin-top: 0;
}

#sub-nav {
  padding: 20px 0;
}
#sub-nav ul {
  max-width: inherit;
  width: 100%;
  padding: 0 10px;
}

/* ++++++++++++++++++++++++++++++++++
   FEATURE フューチャーページ
++++++++++++++++++++++++++++++++++ */
#feature-contents .feature_wrap {
  padding: 20px 0;
}
#feature-contents .feature_box {
  width: 100%;
  min-height: inherit;
  height: auto;
  background-image: none;
  padding-bottom: 20px;
  border-bottom: 1px solid #17759c;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 51, 87, 0)), color-stop(1%, rgba(0, 51, 87, 0)), color-stop(50%, #003357), to(#006684));
  background: linear-gradient(to bottom, rgba(0, 51, 87, 0) 0%, rgba(0, 51, 87, 0) 1%, #003357 50%, #006684 100%);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
}
#feature-contents .feature_box h3 {
  background-size: 132%;
  top: 0;
}
#feature-contents .feature_box span img {
  width: 100%;
}
#feature-contents .feature_box p img {
  width: 95%;
}
#feature-contents .feature_01 .feature_box_01 {
  padding-top: 30%;
}
#feature-contents .feature_01 .feature_box_02 {
  padding-top: 34%;
}
#feature-contents .feature_01 .feature_box_03 {
  margin-top: 0;
  padding-top: 34%;
}
#feature-contents .feature_02 .feature_box_01 {
  padding-top: 30%;
}
#feature-contents .feature_02 .feature_box_02 {
  padding-top: 35%;
}
#feature-contents .feature_02 .feature_box_03 {
  margin-top: 0;
  padding-top: 34%;
}
#feature-contents .feature_03 .feature_box_01 {
  padding-top: 30%;
}
#feature-contents .feature_03 .feature_box_02 {
  padding-top: 34%;
}
#feature-contents .feature_03 .feature_box_03 {
  margin-top: 0;
  padding-top: 34%;
}

/* ++++++++++++++++++++++++++++++++++
    CHARA キャラ詳細
++++++++++++++++++++++++++++++++++ */
#section-chara-detail #sub-nav ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 20px;
}
#section-chara-detail #sub-nav li {
  width: 22%;
  margin-left: 1%;
  margin-bottom: 2%;
}
#section-chara-detail.chara_01 {
  background-image: url(../images/chara/chara_01_bg_sp.jpg);
}
#section-chara-detail.chara_02 {
  background-image: url(../images/chara/chara_02_bg_sp.jpg);
}
#section-chara-detail.chara_03 {
  background-image: url(../images/chara/chara_03_bg_sp.jpg);
}
#section-chara-detail.chara_03 .chara_img {
  background-position: right -80% bottom !important;
}
#section-chara-detail.chara_04 {
  background-image: url(../images/chara/chara_04_bg_sp.jpg);
}
#section-chara-detail.chara_04 .chara_img {
  background-position: right 22% bottom !important;
}
#section-chara-detail.chara_05 {
  background-image: url(../images/chara/chara_05_bg_sp.jpg);
}
#section-chara-detail.chara_05 .chara_img {
  background-position: right -70% bottom !important;
}
#section-chara-detail.chara_06 {
  background-image: url(../images/chara/chara_06_bg_sp.jpg);
}
#section-chara-detail.chara_06 .chara_img {
  background-position: right -30% bottom 20% !important;
}
#section-chara-detail.chara_07 {
  background-image: url(../images/chara/chara_07_bg_sp.jpg);
}
#section-chara-detail.chara_07 .chara_img {
  background-position: right -15% bottom !important;
}
#section-chara-detail.chara_08 {
  background-image: url(../images/chara/chara_08_bg_sp.jpg);
}
#section-chara-detail.chara_08 .chara_img {
  background-position: right -40% bottom 10% !important;
}
#section-chara-detail .inner .chara_ditaile_box {
  max-width: inherit;
  padding-top: 50%;
}
#section-chara-detail .inner .chara_img {
  height: auto;
  background-size: auto 75%;
  background-position: right -50% bottom;
}
#section-chara-detail .inner .chara_inner {
  width: 100%;
  height: auto;
  padding-top: calc(110%*1140/828);
}
#section-chara-detail .inner .chara_inner .chara_inner_box {
  width: 60%;
  right: 5%;
}
#section-chara-detail .inner .chara_inner .chara_inner_box img {
  width: 100%;
  height: auto;
}
#section-chara-detail .inner .chara_inner .chara_voice img {
  width: 80%;
}
#section-chara-detail .chara_serif {
  width: 90%;
  bottom: 15%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#section-chara-detail .chara_serif img {
  width: 100%;
}
#section-chara-detail .btn_arrow_left {
  top: auto;
  bottom: 5%;
  left: 2%;
}
#section-chara-detail .btn_arrow_left img {
  width: 60%;
}
#section-chara-detail .btn_arrow_right {
  top: auto;
  bottom: 5%;
  right: -3%;
}
#section-chara-detail .btn_arrow_right img {
  width: 60%;
}

/* ++++++++++++++++++++++++++++++++++
   popup ポップアップ
++++++++++++++++++++++++++++++++++ */
.popup-attention {
  width: 100%;
}
