@charset "UTF-8";
/*
#normalize.css
===============================================
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block; }

audio,
canvas,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

html {
  background: #fff;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

html,
button,
input,
select,
textarea {
  font-family: sans-serif; }

body {
  margin: 0; }

a {
  background: transparent; }
  a:focus {
    outline: thin dotted; }
  a:hover, a:active {
    outline: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

h2 {
  font-size: 1.5em;
  margin: 0.83em 0; }

h3 {
  font-size: 1.17em;
  margin: 1em 0; }

h4 {
  font-size: 1em;
  margin: 1.33em 0; }

h5 {
  font-size: 0.83em;
  margin: 1.67em 0; }

h6 {
  font-size: 0.75em;
  margin: 2.33em 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

q:before, q:after {
  content: '';
  content: none; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0;
  white-space: normal; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  vertical-align: baseline; }

button, input {
  line-height: normal; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
input[disabled] {
  cursor: default; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

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

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

/*
#reset.css
===============================================
*/
a:active,
a:hover {
  outline: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0;
  font-weight: normal; }

ul,
ol {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

dl,
dt,
dd {
  margin: 0; }

figure {
  margin: 0; }

p {
  margin: 0; }

address {
  font-style: normal; }

*,
*:after,
*:before {
  box-sizing: border-box; }

img {
  vertical-align: top; }

/*===============================================
setting
=============================================== */
/*===============================================
common
=============================================== */
/* =Global
----------------------------------------------- */
/* basic */
html {
  height: 100%;
  font-size: 62.5%;
  background-color: #000000; }

body {
  height: 100%;
  font-size: 1.3rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
  color: #fff;
  background-color: #000000;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden; }

/* Links */
a {
  color: #fff;
  text-decoration: none; }

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

/* =Header
----------------------------------------------- */
.l-head {
  display: block;
  width: 100%;
  height: 4.5rem;
  z-index: 100;
  background-color: #000000; }
  .l-head.is-fixed {
    position: fixed;
    top: 0; }
  .l-head .nav__bar {
    position: relative;
    height: 4.5rem;
    background-color: #000000;
    z-index: 1100; }
    .l-head .nav__bar .header__logo {
      width: 133px;
      margin: 15px 0 0 4.2%;
      float: left; }
    .l-head .nav__bar .nav__btn {
      float: right;
      width: 90px;
      line-height: 4.5rem;
      text-transform: uppercase;
      font-size: 1.1rem;
      background-image: url("../images/bg_navbtn.png");
      background-repeat: no-repeat;
      background-position: 80% 50%;
      background-size: 14px 8px;
      text-align: center;
      padding-right: 30px;
      background-color: #595757; }

/* =Navigation
----------------------------------------------- */
nav.l-nav__list {
  position: absolute;
  width: 100%;
  height: 480px;
  overflow-y: scroll;
  background-color: #000000;
  display: none; }

.nav__list {
  width: 100%;
  position: absolute;
  z-index: 1000;
  background-color: #000000;
  height: 800px;
  overflow: visible; }
  .nav__list li {
    border-top: 1px solid; }
    .nav__list li.nav__listitem--close {
      background-color: #595757; }
      .nav__list li.nav__listitem--close span {
        background-image: url("../images/bg_nav_close.png");
        background-size: 11px 10px; }
    .nav__list li a,
    .nav__list li span {
      display: block;
      line-height: 4.5rem;
      margin: 0 auto;
      width: 92.5%;
      background-image: url("../images/bg_nav.png");
      background-repeat: no-repeat;
      background-position: 100% 50%;
      background-size: 8px 14px; }

/* =Content
----------------------------------------------- */
.l-main {
  display: block;
  margin-top: 4.5rem;
  background-color: #000; }

.l-container {
  margin: 0 auto;
  width: 91.6%; }

.pagetitle {
  background-color: #e3007f;
  line-height: 4.5rem;
  text-align: center;
  font-size: 20px; }

.joint {
  color: #fff;
  margin: 0.5em 1em;
  text-align: right;
  font-family: Roboto, "Droid Sans", Verdana, sans-serif; }

/*===============================================
page
=============================================== */
/* home */
main.home {
  position: relative;
  width: 100%;
  height: 100%;
  margin-top: 4.5rem;
  padding-bottom: 4em;
  background-image: url("../images/home/img_home.jpg");
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  background-color: #ff4c90; }
  main.home .title {
    margin: 4.5rem auto 0;
    padding-top: 1rem; }
  main.home .home_nav {
    position: absolute;
    width: 100%;
    bottom: 5.5rem; }
    main.home .home_nav ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      -webkit-align-content: space-between;
          -ms-flex-line-pack: justify;
              align-content: space-between;
      box-sizing: border-box;
      margin: 0 1em 0;
      padding: 0; }
      @media screen and (max-width: 320px) {
        main.home .home_nav ul {
          margin: 0 0.5em 0; } }
      main.home .home_nav ul li {
        display: block;
        -webkit-box-flex: 1;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        width: 30%;
        height: 3em;
        margin: 1px;
        background-color: #e3007f;
        text-align: center; }
        @media screen and (max-width: 320px) {
          main.home .home_nav ul li {
            font-size: 0.9em; } }
        main.home .home_nav ul li .btn {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          width: 100%;
          height: 100%;
          padding: 0.5em 0; }
          main.home .home_nav ul li .btn.disable {
            background-color: #e5b7c6; }
          main.home .home_nav ul li .btn.btn__feature {
            letter-spacing: 1em;
            text-indent: 1em; }
          main.home .home_nav ul li .btn.btn__video {
            letter-spacing: 1em;
            text-indent: 1em; }
          main.home .home_nav ul li .btn.btn__effect {
            letter-spacing: 1em;
            text-indent: 1em; }
        main.home .home_nav ul li .sub_nav {
          display: none;
          position: absolute;
          bottom: 3em;
          width: 60%;
          background-color: rgba(0, 0, 0, 0.8);
          border-radius: 0.5em;
          overflow: hidden; }
          main.home .home_nav ul li .sub_nav li {
            display: block;
            width: 100%;
            margin: 0;
            background: none; }
            main.home .home_nav ul li .sub_nav li a,
            main.home .home_nav ul li .sub_nav li span {
              display: block;
              width: 100%;
              height: 3em;
              padding-top: 1em;
              border-top: solid 1px #666666;
              background: none; }
              main.home .home_nav ul li .sub_nav li a.sub_nav_close,
              main.home .home_nav ul li .sub_nav li span.sub_nav_close {
                background-color: rgba(128, 128, 128, 0.8); }
          main.home .home_nav ul li .sub_nav.nav_team {
            right: 0;
            left: auto;
            margin: 0 auto; }
            main.home .home_nav ul li .sub_nav.nav_team li {
              height: 4em; }
              main.home .home_nav ul li .sub_nav.nav_team li a,
              main.home .home_nav ul li .sub_nav.nav_team li span {
                height: 4em;
                padding-top: 0.5em;
                line-height: 1.5; }
              main.home .home_nav ul li .sub_nav.nav_team li.line-1 {
                height: 3em; }
                main.home .home_nav ul li .sub_nav.nav_team li.line-1 a,
                main.home .home_nav ul li .sub_nav.nav_team li.line-1 span {
                  height: 3em;
                  padding-top: 1em;
                  line-height: 1; }
          main.home .home_nav ul li .sub_nav.nav_notice {
            right: auto;
            left: 0;
            margin: 0 auto; }
          main.home .home_nav ul li .sub_nav.nav_marutoku {
            right: 0;
            left: auto;
            margin-left: auto;
            margin-right: 0; }
            main.home .home_nav ul li .sub_nav.nav_marutoku .btn.disable {
              color: #999;
              background-color: transparent; }
            main.home .home_nav ul li .sub_nav.nav_marutoku a.disable {
              color: #999;
              background-color: transparent;
              pointer-events: none; }

/* team */
main.team {
  position: relative; }
  main.team .member > div {
    border-bottom: solid 8px #fff; }
    main.team .member > div:last-child {
      border: 0; }
    main.team .member > div.logo {
      border: 0; }
  main.team .nav-team {
    position: absolute;
    width: 100%;
    bottom: 0;
    padding: 0.25em;
    background-color: rgba(0, 0, 0, 0.6); }
    main.team .nav-team ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      width: 100%; }
    main.team .nav-team li {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin: 2px;
      font-size: 0.85em;
      line-height: 1.5;
      text-align: center; }
      @media screen and (max-width: 320px) {
        main.team .nav-team li {
          font-size: 0.8em; } }
      main.team .nav-team li.team-01 {
        background-color: #e9518e; }
      main.team .nav-team li.team-02 {
        background-color: #4b4948; }
      main.team .nav-team li.team-03 {
        background-color: #fcc800; }
      main.team .nav-team li.team-04 {
        background-color: #008442; }
      main.team .nav-team li.team-05 {
        background-color: #e60012; }
      main.team .nav-team li.team-06 {
        background-color: #e4007f; }
      main.team .nav-team li a {
        display: block;
        padding: 0.5em 0.25em; }
    main.team .nav-team.team-01 {
      position: fixed; }
  main.team.team-01 {
    padding-bottom: 6em; }

/* notice */
main.notice {
  padding-bottom: 3em; }
  main.notice .nav-notice {
    position: fixed;
    width: 100%;
    bottom: 0; }
    main.notice .nav-notice ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    main.notice .nav-notice li {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 1.2em;
      line-height: 1.5;
      text-align: center;
      background-color: #4d4d4d; }
      main.notice .nav-notice li:first-child {
        border-right: solid 1px #333; }
      main.notice .nav-notice li:last-child {
        border-left: solid 1px #333; }
      main.notice .nav-notice li.current {
        background-color: #009eec; }
      main.notice .nav-notice li a {
        display: block;
        padding: 0.75em 0.25em; }

/* other promotion */
.promotion .movie-container {
  position: relative;
  background-image: url("../images/promotion/bg_promotion_movie.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top 0 left 50%; }
  .promotion .movie-container .title {
    margin: 0 1em;
    padding-top: 2em; }
  .promotion .movie-container .movie-thumbnails {
    display: block;
    margin: 0 auto;
    padding-bottom: 5%; }
    .promotion .movie-container .movie-thumbnails a {
      display: block;
      width: 80%;
      margin: 1em auto;
      position: relative; }
      .promotion .movie-container .movie-thumbnails a::after {
        content: '';
        position: absolute;
        display: block;
        width: 80px;
        height: 54px;
        margin-top: -38px;
        margin-left: -40px;
        top: 50%;
        left: 50%;
        background-image: url(../images/promotion/btn_play_youtube.png);
        background-repeat: no-repeat;
        background-size: cover; }
      .promotion .movie-container .movie-thumbnails a figcaption {
        margin-top: 0.5em;
        font-size: 1.0em;
        text-shadow: 2px 2px 2px #000000,-2px 2px 2px #000000 , 2px -2px 2px #000000, -1px -1px 2px #000000;
        text-align: left; }
