@charset "UTF-8";

/* **************************************************************** *
 * @desc@ 殺し屋とストロベリーPlus
 * @edit@ 2022/02/07
 * **************************************************************** */

html {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #000;
  color: #fff;
  font-size: 1rem;
  line-height: 1.8em;
  font-family: YakuHanJP, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

body::before {
  content: "";
  opacity: 0.1;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #000 url(../img/bg_noise.gif) center top repeat;
}

body.modal {
  overflow: hidden;
  width: 100%;
}

a {
  outline: none;
  color: #ff3a6b;
  text-decoration: none;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

a.txt:link,
a.txt:visited {
  text-decoration: underline;
}

a.txt:hover,
a.txt:active {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
p,
dl,
dt,
dd,
strong,
em {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
}

ul,
ol,
dl,
dt,
dd {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  list-style: inherit;
  margin: 0;
  padding: 0;
}

img {
  outline: none;
  max-width: 100%;
  font-size: 1px !important;
  line-height: 0 !important;
  vertical-align: middle;
}

rt {
  -webkit-transform: translateY(0.2em);
  transform: translateY(0.2em);
}

.emColor01 {
  color: #c00 !important;
}

.emColor02 {
  color: #ff3a6b !important;
}

.noteColor {
  color: #999 !important;
}

.bold {
  font-weight: 700 !important;
}

.under {
  text-decoration: underline;
}

.dis {
  text-decoration: line-through;
}

.jp {
  font-family: YakuHanJP, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.en {
  font-weight: 400;
  font-style: normal;
}

.brace {
  text-indent: -0.5em;
}

.mgtHp {
  margin-top: 0.9em !important;
}

.mgt1p {
  margin-top: 1.8em !important;
}

.mgt2p {
  margin-top: 3.6em !important;
}

.mgt3p {
  margin-top: 5.4em !important;
}

.fsS {
  font-size: 0.8em !important;
  line-height: 1.8em !important;
}

.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.iblock {
  display: inline-block;
  vertical-align: baseline;
}

.wbreak {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
}

ul.def {
  font-size: inherit;
  line-height: 1.4em;
  text-align: left;
}

ul.def > li {
  padding-left: 1em;
  text-indent: -1em;
}

ul.def > li > * {
  text-indent: 0;
}

#Wrap {
  position: relative;
  z-index: 100;
}

#Wrap > h1 {
  padding: 100px 0 50px;
}

#Wrap > h1 img {
  width: 230px;
}

#Wrap > .back {
  margin: 0 auto;
  padding: 70px 0 280px;
  width: 1020px;
}

#Wrap > .back a {
  display: block;
  border: 1px solid #fff;
  padding: 25px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.4em;
  line-height: 1em;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
}

#Wrap > .back a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

body > header > nav {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  position: fixed;
  left: -100%;
  top: 0;
  z-index: 60000;
  width: 100%;
  height: 100%;
  background: #000;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
  text-align: left;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

body > header > nav::before {
  content: "";
  opacity: 0.1;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #000 url(../img/bg_noise.gif) center top repeat;
}

body > header > nav > .box {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 60px 120px;
  width: 560px;
}

body > header > nav > .box > ul {
  font-size: 1.5em;
  line-height: 1em;
  letter-spacing: 0.1em;
}

body > header > nav > .box > ul > li {
  padding: 0 0 45px;
}

body > header > nav > .box > ul a {
  display: inline-block;
  position: relative;
  z-index: 1;
  color: #fff;
}

body > header > nav > .box > ul a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

body > header > nav > .box > ul a:hover::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

body > header > nav > .box .share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 30px;
}

body > header > nav > .box .share > dt {
  margin-right: 5px;
  font-size: 0.8em;
  line-height: 1em;
}

body > header > nav > .box .share > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
}

body > header > nav > .box .share > dd > div {
  margin: 0 5px;
  width: 26px;
}

body > header > nav > .bg {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  position: relative;
  z-index: 1;
}

body > header > nav > .bg > div {
  opacity: 0;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-colo: transparent;
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: background-position 1.2s ease-out;
  transition: background-position 1.2s ease-out;
}

body > header > nav > .bg > div:nth-of-type(1) {
  background-image: url(../img/menu_img01.jpg);
}

body > header > nav > .bg > div:nth-of-type(2) {
  background-image: url(../img/menu_img02.jpg);
}

body > header > nav > .bg > div:nth-of-type(3) {
  background-image: url(../img/menu_img03.jpg);
}

body > header > nav > .bg > div.cur {
  opacity: 1;
}

body > header .btns .buy {
  position: fixed;
  right: 18px;
  bottom: -200px;
  z-index: 30000;
  -webkit-transition: bottom 0.4s ease-out;
  transition: bottom 0.4s ease-out;
}

body > header .btns .buy.show {
  bottom: 20px;
}

body > header .btns .buy a {
  display: block;
}

body > header .btns .buy a:hover {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

body > header .btns .oc {
  position: fixed;
  left: 25px;
  top: 15px;
  z-index: 60010;
  width: 60px;
  height: 60px;
  cursor: pointer;
}

body > header .btns .oc::before,
body > header .btns .oc::after {
  content: "";
  position: absolute;
  left: 8px;
  top: calc(50% - 1px);
  width: 44px;
  height: 2px;
  background: #fff;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

body > header .btns .oc::before {
  -webkit-transform: translateY(-11px);
  transform: translateY(-11px);
}

body > header .btns .oc::after {
  -webkit-transform: translateY(11px);
  transform: translateY(11px);
}

body > header .switch {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000;
}

body > header.show > nav {
  left: 0;
}

body > header.show > nav > .bg > div {
  background-position: 0 0;
}

body > header.show .btns .oc::before,
body > header.show .btns .oc::after {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

body > footer {
  position: relative;
  z-index: 20000;
  background: #1a1a1a;
  color: #fff;
}

body > footer .totop {
  padding: 10px 0;
  width: 100%;
  background: #4d4d4d;
  font-size: 1.2em;
  line-height: 1em;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.2em;
  text-align: center;
  cursor: pointer;
}

body > footer .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 70px 0 150px;
  width: 1020px;
}

body > footer .box > section.twitter {
  width: 480px;
  text-align: left;
}

body > footer .box > section.twitter > h1 {
  margin-bottom: 15px;
  font-size: 1.8em;
  line-height: 1em;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
}

body > footer .box > section.twitter > h1 a {
  display: inline-block;
  font-size: 0.7em;
  line-height: 1em;
  letter-spacing: 0;
}

body > footer .box > section:nth-of-type(2) {
  width: 500px;
  text-align: right;
}

body > footer .logos {
  line-height: 0;
}

body > footer .logos > li {
  display: inline-block;
  margin-left: 20px;
  vertical-align: middle;
}

body > footer .logos a {
  display: block;
}

body > footer .logos img {
  width: auto;
  height: 100px;
}

body > footer .share {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 60px;
}

body > footer .share > dt {
  margin-right: 5px;
  font-size: 0.8em;
  line-height: 1em;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
}

body > footer .share > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  line-height: 0;
}

body > footer .share > dd > div {
  margin: 0 5px;
  width: 26px;
}

body > footer .links {
  margin-top: 40px;
}

body > footer .links > li {
  display: inline-block;
  border-width: 0 1px 0 0;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.5);
  padding: 0 10px;
  font-size: 0.8em;
  line-height: 1em;
  vertical-align: middle;
}

body > footer .links > li:first-child {
  border-width: 0 1px;
}

body > footer .links a {
  display: inline-block;
  position: relative;
  z-index: 1;
  color: #fff;
}

body > footer .links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: -2;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

body > footer .links a:hover::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

body > footer .copy {
  margin-top: 30px;
  font-size: 0.6em;
  line-height: 1.8em;
}

body > footer .copy p {
  margin-top: 1em;
}

#Main > section:nth-of-type(1) {
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100%;
}

#Main > section:nth-of-type(1) > .float.move {
  top: 0 !important;
  bottom: auto !important;
}

#Main > section:nth-of-type(1) > .float.fixed {
  position: fixed !important;
}

#Main > section:nth-of-type(1) > .base {
  position: relative !important;
}

#Main > section:nth-of-type(1) > .pic {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin-left: 520px;
  width: calc(100% - 520px);
  min-height: 100vh;
  background: transparent 50% 0/cover no-repeat;
}

#Main > section:nth-of-type(1) > .pic::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

#Main > section:nth-of-type(1) > .pic img {
  opacity: 0;
  width: 100%;
}

#Main > section:nth-of-type(1) > .box {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1000;
  padding: 180px 70px;
  width: 520px;
  min-height: 100vh;
  -webkit-transform: translate(100%, 0);
  transform: translate(100%, 0);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

#Main > section:nth-of-type(1) > .box.show {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

#Main > section:nth-of-type(1) > .box > h1,
#Main > section:nth-of-type(1) > .box .release {
  padding: 0 15px;
}

#Main > section:nth-of-type(1) > .box .release {
  margin-top: 60px;
}

#Main > section:nth-of-type(1) > .box .movies {
  margin-top: 60px;
}

#Main > section:nth-of-type(1) > .box .movies > li {
  margin-top: 30px;
}

#Main > section:nth-of-type(1) > .box .movies > li a {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 1;
  height: 140px;
}

#Main > section:nth-of-type(1) > .box .movies > li a::before,
#Main > section:nth-of-type(1) > .box .movies > li a .bg {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
}

#Main > section:nth-of-type(1) > .box .movies > li a::before {
  z-index: 10;
  background-image: url(../img/movie_btn_play.png);
  background-size: 80px auto;
}

#Main > section:nth-of-type(1) > .box .movies > li a .bg {
  z-index: 1;
  background-size: cover;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

#Main > section:nth-of-type(1) > .box .movies > li a:hover .bg {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

#Main > section:nth-of-type(1) > .box .banners.sp {
  margin-top: 120px;
  padding: 0 40px;
}

#Main > section:nth-of-type(1) > .box .banners.sp .swiper-container {
  padding-bottom: 30px;
}

#Main > section:nth-of-type(1) > .box .banners.sp .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  position: absolute;
  bottom: 0;
  width: 100%;
  line-height: 0;
}

#Main > section:nth-of-type(1) > .box .banners.sp .swiper-pagination-bullet {
  opacity: 0.4;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  display: block;
  border-radius: 0;
  width: 100%;
  height: 10px;
  background: #fff;
}

#Main > section:nth-of-type(1) > .box .banners.sp .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}

#Main > section:nth-of-type(1) > .box .banners.sp a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 312px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  color: #000;
}

#Main > section:nth-of-type(1) > .box .banners.sp a:hover {
  background-size: 110% auto;
}

#Main > section:nth-of-type(1) > .box .banners.sp a > span,
#Main > section:nth-of-type(1) > .box .banners.sp a > img {
  position: relative;
  z-index: 10;
}

#Main > section:nth-of-type(1) > .box .banners.sp a .txt {
  font-size: 1.2em;
  line-height: 1.4em;
}

#Main > section:nth-of-type(1) > .box .banners.sp a .txt .l {
  display: block;
  font-size: 2.2em;
  line-height: 1.4em;
}

#Main > section:nth-of-type(1) > .box .banners.sp a.white {
  color: #fff;
}

#Main > section:nth-of-type(1) > .box .banners.sp a.white::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.6)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.6) 100%);
}

#Main > section:nth-of-type(1) > .box .banners.sp img {
  width: auto;
  height: 68%;
}

#Main > section:nth-of-type(1) > .box #News {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  margin-top: 60px;
  padding: 25px 20px 30px;
  background: rgba(255, 255, 255, 0.1);
  text-align: left;
}

#Main > section:nth-of-type(1) > .box #News > h1 {
  position: absolute;
  left: 25px;
  top: 25px;
  z-index: 10;
}

#Main > section:nth-of-type(1) > .box #News > h1 > span {
  display: block;
  font-size: 1.3em;
  line-height: 1em;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
}

#Main > section:nth-of-type(1) > .box #News > ul {
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 115px;
}

#Main > section:nth-of-type(1) > .box #News > ul > li {
  opacity: 0;
  position: absolute;
  z-index: -1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

#Main > section:nth-of-type(1) > .box #News > ul > li .date {
  margin: 0 0 10px 5em;
  color: #e60039;
  line-height: 1.4em;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
}

#Main > section:nth-of-type(1) > .box #News > ul > li .desc {
  font-size: 0.9em;
  line-height: 1.8em;
}

#Main > section:nth-of-type(1) > .box #News > ul > li.cur {
  opacity: 1;
  z-index: 1;
}

#Main > section:nth-of-type(1) > .box #News > ul a {
  display: inline-block;
  color: #fff;
  text-decoration: underline;
}

#Main > section:nth-of-type(1) > .box #News > ul a:hover {
  text-decoration: none;
}

#Main > section:nth-of-type(1) > .box #News .more {
  position: absolute;
  right: 25px;
  bottom: 10px;
  z-index: 10;
  border-bottom: 1px solid #fff;
  padding: 0 50px 4px 0;
  font-size: 0.9em;
  line-height: 1em;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
  cursor: pointer;
}

#Main > section:nth-of-type(1) > .box #News .more::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  width: 32px;
  height: 1em;
  background: transparent url(../img/btn_arrow_next.png) 100% 50%/contain no-repeat;
}

#Main > .banners ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  height: 220px;
}

#Main > .banners ul > li {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 33.3%;
  flex: 0 1 33.3%;
  height: 100%;
}

#Main > .banners ul > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  color: #000;
}

#Main > .banners ul > li a:hover {
  background-size: 110% auto;
}

#Main > .banners ul > li a > span,
#Main > .banners ul > li a > img {
  position: relative;
  z-index: 10;
}

#Main > .banners ul > li a .txt {
  font-size: 1.2em;
  line-height: 1.4em;
}

#Main > .banners ul > li a .txt .l {
  display: block;
  font-size: 1.6em;
  line-height: 1.4em;
}

#Main > .banners ul > li a.white {
  color: #fff;
}

#Main > .banners ul > li a.white::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.6)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.6) 100%);
}

#Main > .banners ul > li img {
  width: auto;
  height: 68%;
}

#Main > .banners ul > li img.bnr_mah {
  height: auto;
  width: auto;
  max-height: 110px;
}

#Main > .banners ul > li.half {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#Main > .banners ul > li.half a {
  height: 50%;
}

#Main > .banners ul > li.half a .txt {
  font-size: 1em;
  line-height: 1.4em;
}

#About {
  position: relative;
  z-index: 10;
  padding: 165px 0;
}

#About::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: transparent url(../img/dot_cover.png) center repeat;
}

#About p {
  position: relative;
  z-index: 10;
}

#About p img {
  width: 483px;
}

#About .bgWrapper {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #000;
}

#About .bgWrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: transparent url(../img/dot_cover.png) center repeat;
}

#About #AboutBg {
  opacity: 0.3;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: 1;
  width: 200%;
  height: 200%;
}

#Story {
  position: relative;
  z-index: 10;
  margin: 200px auto 0;
  padding: 130px 0 40px;
  width: 1020px;
  text-align: left;
}

#Story > h1 {
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 100;
}

#Story .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 165px;
}

#Story .box .block01,
#Story .box .block02 {
  margin-left: 45px;
  width: 380px;
}

#Story .box .block01 p,
#Story .box .block01 ul,
#Story .box .block02 p,
#Story .box .block02 ul {
  margin-top: 1.6em;
}

#Story .box .block01 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#Story .box .block01 .pic {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin: 1.6em 0;
}

#Story .box .block01 .text {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

#Story .box .block02 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

#Story .catch {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 110px;
}

#Character {
  position: relative;
  z-index: 10;
  margin: 230px auto 0;
  padding-top: 30px;
}

#Character > nav {
  position: absolute;
  top: 230px;
  left: calc(50% - 510px);
  z-index: 100;
  width: 1020px;
  line-height: 0;
  text-align: right;
}

#Character > nav > ul > li {
  overflow: hidden;
  display: inline-block;
  position: relative;
  z-index: 1;
  margin-left: 7px;
  width: 60px;
  cursor: pointer;
  -webkit-transform: skewX(-26deg);
  transform: skewX(-26deg);
}

#Character > nav > ul > li img {
  position: relative;
  left: 0;
  top: 0;
  width: 100px;
  max-width: none;
  -webkit-transform: skewX(26deg) translateX(-21px);
  transform: skewX(26deg) translateX(-21px);
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#Character > nav > ul > li img.on {
  opacity: 0;
  position: relative;
  z-index: 1;
}

#Character > nav > ul > li img.off {
  position: absolute;
  z-index: -1;
}

#Character > nav > ul > li.cur img.on,
#Character > nav > ul > li:hover img.on {
  opacity: 1;
}

#Character .profiles {
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin-top: 60px;
  width: 100%;
}

#Character .profiles > div {
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  width: 700%;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

#Character .profiles article {
  overflow: hidden;
  position: relative;
  z-index: 1;
  height: 680px;
}

#Character .profiles article .box {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  z-index: 100;
  margin: 0 auto;
  padding: 190px 0 0 500px;
  width: 1020px;
  font-weight: 700;
  text-align: left;
}

#Character .profiles article .vis {
  position: absolute;
  left: calc(50% - 670px);
  bottom: 0;
  z-index: 10;
  width: 816px;
}

#Character .profiles article .vis > img {
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#Character .profiles article .vis > img:first-child {
  position: relative;
}

#Character .profiles article .vis > img.cur {
  opacity: 1;
}

#Character .profiles article .bg {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 560px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: cover;
}

#Character .profiles article .spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-top: 25px;
  line-height: 1em;
}

#Character .profiles article .spec > li {
  margin-right: 20px;
  border-width: 1px 0;
  border-style: solid;
  padding: 10px 0;
  min-width: 150px;
}

#Character .profiles article .desc {
  margin-top: 25px;
  min-height: 3.6em;
}

#Character .profiles article .voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 30px;
  line-height: 1em;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
}

#Character .profiles article .voice > dt {
  margin-right: 20px;
  font-size: 1.2em;
  line-height: 1em;
  letter-spacing: 0.1em;
}

#Character .profiles article .voice > dt .icon {
  margin: -0.3em 5px 0 0;
  width: 16px;
  vertical-align: middle;
}

#Character .profiles article .voice > dd {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 10px;
  border: 1px solid #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 1.2em;
  line-height: 1em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  cursor: pointer;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

#Character .profiles article .voice > dd:hover {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
}

#Character .profiles article .voice > dd.play {
  background: #fff;
  color: #000;
}

#Character .profiles article .pv {
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin-top: 40px;
  width: 360px;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

#Character .profiles article .pv:hover {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
}

#Character .profiles article .pv a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
  border: 1px solid #fff;
  height: 100px;
  text-align: center;
}

#Character .profiles article .pv a > span {
  display: block;
  position: relative;
  z-index: 10;
  color: #fff;
  font-size: 1.5em;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
}

#Character .profiles article .pv a > span::before {
  content: "";
  display: inline-block;
  margin: -0.2em 10px 0 0;
  width: 30px;
  height: 30px;
  background: transparent url(../img/character/chara_ico_movie.png) center/contain no-repeat;
  vertical-align: middle;
}

#Character .profiles article .pv > span,
#Character .profiles article .pv > iframe {
  opacity: 0.3;
  display: block;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: -1;
  width: 200%;
  height: 200%;
}

#Character .profiles article .visChange {
  position: absolute;
  left: 0;
  top: 530px;
  z-index: 500;
  width: 60px;
  height: 81px;
  background: transparent url(../img/character/chara_btn_imgzoom.png) center top/contain no-repeat;
  cursor: pointer;
}

#Character .profiles article .visChange.out {
  background-image: url(../img/character/chara_btn_imgout.png);
}

#Character .profiles article#Chara01 {
  color: #e60039;
}

#Character .profiles article#Chara01 .voice > dt .icon {
  fill: #e60039;
}

#Character .profiles article#Chara01 .pv a {
  background-color: rgba(230, 0, 57, 0.5);
}

#Character .profiles article#Chara01 .bg {
  background-image: url(../img/character/01/bg.jpg);
  background-position: 50% 50%;
}

#Character .profiles article#Chara02 {
  color: #7fcdec;
}

#Character .profiles article#Chara02 .voice > dt .icon {
  fill: #7fcdec;
}

#Character .profiles article#Chara02 .pv a {
  background-color: rgba(127, 205, 236, 0.5);
}

#Character .profiles article#Chara02 .bg {
  background-image: url(../img/character/02/bg.jpg);
  background-position: 50% 0;
}

#Character .profiles article#Chara03 {
  color: #aace36;
}

#Character .profiles article#Chara03 .voice > dt .icon {
  fill: #aace36;
}

#Character .profiles article#Chara03 .pv a {
  background-color: rgba(170, 206, 54, 0.5);
}

#Character .profiles article#Chara03 .bg {
  background-image: url(../img/character/03/bg.jpg);
  background-position: 50% 30%;
}

#Character .profiles article#Chara04 {
  color: #8823a7;
}

#Character .profiles article#Chara04 .voice > dt .icon {
  fill: #8823a7;
}

#Character .profiles article#Chara04 .pv a {
  background-color: rgba(136, 35, 167, 0.5);
}

#Character .profiles article#Chara04 .bg {
  background-image: url(../img/character/04/bg.jpg);
  background-position: 50% 0;
}

#Character .profiles article#Chara05 {
  color: #f19ebc;
}

#Character .profiles article#Chara05 .voice > dt .icon {
  fill: #f19ebc;
}

#Character .profiles article#Chara05 .pv a {
  background-color: rgba(241, 158, 188, 0.5);
}

#Character .profiles article#Chara05 .bg {
  background-image: url(../img/character/05/bg.jpg);
  background-position: 50% 30%;
}

#Character .profiles article#Chara06 {
  color: #ffec51;
}

#Character .profiles article#Chara06 .voice > dt .icon {
  fill: #ffec51;
}

#Character .profiles article#Chara06 .pv a {
  background-color: rgba(255, 236, 81, 0.5);
}

#Character .profiles article#Chara06 .bg {
  background-image: url(../img/character/06/bg.jpg);
  background-position: 50% 0;
}

#Character .profiles article#Chara07 {
  color: #3344a6;
}

#Character .profiles article#Chara07 .voice > dt .icon {
  fill: #3344a6;
}

#Character .profiles article#Chara07 .pv a {
  background-color: rgba(51, 68, 166, 0.5);
}

#Character .profiles article#Chara07 .bg {
  background-image: url(../img/character/07/bg.jpg);
  background-position: 50% 0;
}

#ExtraStory {
  position: relative;
  z-index: 10;
  margin: 220px auto 0;
  padding-top: 30px;
}

#ExtraStory::before,
#ExtraStory::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 310px);
}

#ExtraStory::before {
  z-index: -1;
  background: transparent url(../img/bg_noise.gif) center top repeat;
}

#ExtraStory::after {
  z-index: 0;
  background: rgba(230, 0, 57, 0.9);
}

#ExtraStory .bg {
  position: absolute;
  left: 50%;
  top: 70px;
  z-index: 1;
  width: 100%;
  max-width: 1400px;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

#ExtraStory .bg img {
  position: absolute;
  left: 50;
  top: 0;
}

#ExtraStory .bg img.f {
  z-index: 2;
}

#ExtraStory .bg img.b {
  z-index: 1;
}

#ExtraStory .bg img.s {
  z-index: -1;
}

#ExtraStory > .inner {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  padding: 0 0 180px;
  width: 1020px;
}

#ExtraStory h1 {
  position: relative;
  z-index: 100;
  margin-bottom: 90px;
  text-align: right;
}

#ExtraStory .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 100px;
}

#ExtraStory .list > li {
  margin-top: 60px;
  width: 480px;
}

#ExtraStory .list > li:nth-of-type(odd) {
  -webkit-transform: translateY(-60px);
  transform: translateY(-60px);
}

#ExtraStory .list > li > span {
  display: block;
  position: relative;
  z-index: 1;
}

#ExtraStory .list > li > span .on {
  opacity: 0;
  position: relative;
  z-index: 2;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#ExtraStory .list > li > span .off {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

#ExtraStory .list > li > span:hover > .on {
  opacity: 1;
}

#Movie {
  position: relative;
  z-index: 10;
  margin: 210px auto 0;
  padding: 230px 0 130px;
}

#Movie > h1 {
  position: absolute;
  left: calc(50% - 510px);
  top: 30px;
  z-index: 10;
  width: 1020px;
  text-align: left;
}

#Movie .box {
  position: relative;
  z-index: 100;
  margin-left: auto;
  max-width: 1285px;
}

#Movie .box article {
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

#Movie .box article:first-child {
  position: relative;
}

#Movie .box article.cur {
  opacity: 1;
  z-index: 1;
}

#Movie .box article > h1 {
  width: 33%;
  font-size: 2em;
  line-height: 1em;
  text-align: left;
}

#Movie .box article > h1 > span {
  display: inline-block;
  margin: 5px 0;
  padding: 5px;
  background: #000;
  color: #fff;
}

#Movie .box article .thumb {
  width: 66%;
}

#Movie .box article .thumb a {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 1;
  height: 100%;
}

#Movie .box article .thumb a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background: transparent url(../img/movie_btn_play.png) center/130px auto no-repeat;
}

#Movie .box article .thumb a .bg {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

#Movie .box article .thumb a:hover .bg {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

#Movie .box .nv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1000;
  width: 30%;
}

#Movie .box .nv > div {
  border-bottom: 2px solid #fff;
  position: relative;
  padding: 0 0 10px;
  font-size: 0.8em;
  line-height: 1em;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  cursor: pointer;
}

#Movie .box .nv > div::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 1;
  width: 40px;
  height: 1em;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#Movie .box .nv > div.prev {
  padding-left: 84px;
}

#Movie .box .nv > div.prev::after {
  left: 0;
  background-image: url(../img/btn_arrow_prev.png);
}

#Movie .box .nv > div.next {
  padding-right: 84px;
}

#Movie .box .nv > div.next::after {
  right: 0;
  background-image: url(../img/btn_arrow_next.png);
}

#Movie .bgWrapper {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 100px;
  z-index: -1;
  width: 100%;
  height: calc(100% - 100px);
  background: #000;
}

#Movie .bgWrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: transparent url(../img/dot_cover.png) center repeat;
}

#Movie #MovieBg {
  opacity: 0.3;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: -1;
  width: 200%;
  height: 200%;
}

#Product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  z-index: 10;
  margin: 150px auto 280px;
  padding-top: 160px;
  width: 1020px;
  text-align: left;
}

#Product > h1 {
  position: absolute;
  right: 0;
  top: 30px;
  z-index: -1;
}

#Product .package {
  width: 380px;
}

#Product .desc {
  width: 580px;
}

#Product .spec {
  border-collapse: collapse;
  width: 100%;
}

#Product .spec th,
#Product .spec td {
  border-width: 0 0 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.3);
  padding: 15px 0;
  background: rgba(0, 0, 0, 0.6);
  text-align: left;
  vertical-align: top;
}

#Product .spec tr:first-child th,
#Product .spec tr:first-child td {
  border-width: 1px 0;
}

#Product .spec th {
  width: 180px;
  color: #ff3a6b;
}

#Product .buy {
  margin-top: 40px;
}

#Product .buy > a {
  display: block;
  border: 1px solid #fff;
  padding: 28px 60px;
  background: transparent url(../img/product_ico_buy.png) 28px 50%/26px auto no-repeat;
  color: #fff;
  font-size: 1.3em;
  line-height: 1em;
  text-align: center;
}

#Product .buy > a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

#Product .buy .tri_icon {
  background: transparent url(../img/ico_trial.png) 28px 50%/26px auto no-repeat;
}

#Privilege {
  position: relative;
  z-index: 1000;
  margin: 0 auto;
  padding-top: 30px;
  width: 1020px;
}

#Privilege > h1 {
  margin-bottom: 120px;
}

#Privilege article {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.2);
  text-align: left;
}

#Privilege article > h1 {
  color: #e60039;
  text-align: center;
}

#Privilege article .pic .np {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #ccc;
  color: #ff3a6b;
}

#Privilege article .pic .np::before {
  content: "NOW PRINTING";
  opacity: 1;
  font-size: 2em;
  line-height: 1em;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
}

#Privilege article .slick-dots {
  position: absolute;
  left: 0;
  bottom: 7px;
  z-index: 1000;
  width: 100%;
  line-height: 0;
  text-align: center;
  white-space: nowrap;
}

#Privilege article .slick-dots > li {
  opacity: 0.3;
  display: inline-block;
  margin: 0 5px;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#Privilege article .slick-dots > li.slick-active {
  opacity: 1;
}

#Privilege article .slick-dots > li button {
  overflow: hidden;
  margin: 0;
  border: none;
  padding: 0;
  width: 40px;
  height: 4px;
  background: #e60039;
  font-size: 1px;
  text-indent: -9999px;
}

#Privilege article .buy a {
  display: block;
  border: 1px solid #fff;
  padding: 30px 20px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.3em;
  line-height: 1em;
  font-weight: 700;
  text-align: center;
}

#Privilege article .buy a::before {
  content: "";
  display: inline-block;
  margin: -0.2em 20px 0 0;
  width: 26px;
  height: 26px;
  background: transparent url(../img/product_ico_buy.png) center/contain no-repeat;
  vertical-align: middle;
}

#Privilege article .buy a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

#Privilege > article {
  margin-bottom: 60px;
  padding: 60px;
}

#Privilege > article > h1 {
  margin-bottom: 60px;
  font-size: 1.9em;
  line-height: 1em;
  font-weight: 700;
}

#Privilege > article > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#Privilege > article > .inner > .box {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 380px;
}

#Privilege > article > .inner > .box .pic .np {
  height: 380px;
}

#Privilege > article > .inner > .box .buy {
  margin-top: 30px;
}

#Privilege > article > .inner dl {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 480px;
  flex: 0 1 480px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

#Privilege > article > .inner dl > dt {
  padding-top: 15px;
  color: #e60039;
  font-weight: 700;
}

#Privilege > article > .inner dl > dd {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 15px;
}

#Privilege #Origin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

#Privilege #Origin > article {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  margin: 0 30px 60px 0;
  padding: 30px 20px 110px;
  width: 320px;
}

#Privilege #Origin > article:nth-of-type(3n+3) {
  margin-right: 0;
}

#Privilege #Origin > article > h1 {
  margin-bottom: 15px;
  font-size: 1.6em;
  line-height: 1em;
  font-weight: 700;
}

#Privilege #Origin > article .pic {
  margin-bottom: 15px;
}

#Privilege #Origin > article .pic .np {
  height: 280px;
}

#Privilege #Origin > article .buy {
  position: absolute;
  left: 20px;
  bottom: 30px;
  width: calc(100% - 40px);
}

#Privilege #Origin > article .buy a {
  padding: 18px;
}

#Privilege #Origin > article .buy a::before {
  margin-right: 10px;
}

.modalPict,
[data-modal-page] {
  cursor: pointer;
}

#Popup {
  display: none;
}

#Modal {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: auto;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 61000;
  padding: 50px 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
}

#Modal > .inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  min-height: 100%;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  -webkit-transform: translateY(2%);
  transform: translateY(2%);
}

#Modal > .inner.show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

#Modal .close {
  position: relative;
  margin: 35px auto 0;
  width: 80px;
  height: 80px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

#Modal .close::before,
#Modal .close::after {
  content: "";
  position: absolute;
  left: -4%;
  top: calc(50% - 1px);
  width: 108%;
  height: 2px;
  background: #fff;
}

#Modal .close::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#Modal .close::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#Modal .pictBox {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  max-width: 700px;
  background: #fff;
}

#Modal .inlineBox {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  padding: 90px;
  width: 100%;
  background: #fff;
  color: #000;
}

#Modal .inlineBox.story > div {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding-left: 80px;
  width: 860px;
  font-family: fot-tsukubrdgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: left;
}

#Modal .inlineBox.story > div > h1 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 36px;
}

#Modal .inlineBox.story > div .talk {
  padding-bottom: 2px;
  background-color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0)), color-stop(0%, #fff), to(#fff)), -webkit-gradient(linear, left top, left bottom, from(#ccc), color-stop(3%, rgba(204, 204, 204, 0)), to(rgba(204, 204, 204, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, #ccc 0%, rgba(204, 204, 204, 0) 3%, rgba(204, 204, 204, 0) 100%);
  background-repeat: repeat-x, repeat-y;
  background-size: 8px 100%, 100% 3.2em;
  line-height: 3.2em;
}

#Modal .inlineBox.story > div .talk > div {
  display: table;
  table-layout: fixed;
  width: 100%;
}

#Modal .inlineBox.story > div .talk > div > p {
  display: table-cell;
  vertical-align: top;
}

#Modal .inlineBox.story > div .talk > div > p.name {
  width: 5em;
}

#Modal .inlineBox.story > div .talk > div > p.serif {
  text-indent: -1em;
}

#Modal .inlineBox.story > div .desc {
  margin-top: 30px;
  font-size: 0.9em;
  line-height: 2.2em;
}

#Modal .inlineBox.countdown {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  padding: 0;
  margin: 0 auto;
  width: 860px;
  background: transparent;
  color: #fff;
}

#Modal .inlineBox.countdown > div {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

#Modal .inlineBox.countdown > div .bt {
  position: absolute;
  left: 5%;
  top: 16%;
  width: 18%;
}

#Modal .inlineBox.countdown > div .bt img {
  cursor: pointer;
}

#Bg {
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

#Bg > img {
  display: block;
  position: fixed;
  z-index: 11;
  width: 36%;
  height: auto;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: all 2s ease-out;
  transition: all 2s ease-out;
}

#Bg > img.p01 {
  left: 14%;
  top: 50%;
}

#Bg > img.p02 {
  left: -7%;
  top: 130%;
}

#Bg > img.p03 {
  left: 45%;
  top: 75%;
}

#Bg > img.p04 {
  left: -5%;
  top: 10%;
}

#Bg > img.p05 {
  left: 68%;
  top: 60%;
}

#Bg > img.p06 {
  left: 78%;
  top: 140%;
}

#Bg > img.p07 {
  left: 30%;
  top: 120%;
}

#Bg > img.p08 {
  left: 23%;
  top: -10%;
}

#Bg > img.p09 {
  left: 55%;
  top: 150%;
}

#Bg > img.p10 {
  left: 64%;
  top: 15%;
}

#Bg > img.p11 {
  left: -20%;
  top: 70%;
}

#Bg > img.p12 {
  left: 80%;
  top: 100%;
}

#Splash {
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 62000;
  width: 100%;
  height: 100%;
  background: #000;
}

#Splash::after {
  content: "";
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #000 url(../img/bg_noise.gif) center top repeat;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

#Splash > div {
  opacity: 0;
  position: absolute;
  left: -20%;
  top: 0;
  z-index: 10;
  width: 140%;
  height: 100%;
  background: #e60039;
  -webkit-transform: scaleY(1) skewX(-20deg);
  transform: scaleY(1) skewX(-20deg);
}

#Splash.load::after {
  opacity: 0.2;
}

#Splash.move > div {
  opacity: 1;
  -webkit-animation: splash 0.8s linear 1;
  animation: splash 0.8s linear 1;
}

@-webkit-keyframes splash {
  0% {
    left: calc(50% - 1px);
    width: 2px;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  10% {
    width: 2px;
    -webkit-transform: scaleY(1) skewX(0);
    transform: scaleY(1) skewX(0);
  }

  80% {
    left: calc(50% - 1px);
    width: 2px;
    -webkit-transform: scaleY(1) skewX(0);
    transform: scaleY(1) skewX(0);
  }

  100% {
    left: -20%;
    width: 140%;
    -webkit-transform: scaleY(1) skewX(-20deg);
    transform: scaleY(1) skewX(-20deg);
  }
}

@keyframes splash {
  0% {
    left: calc(50% - 1px);
    width: 2px;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  10% {
    width: 2px;
    -webkit-transform: scaleY(1) skewX(0);
    transform: scaleY(1) skewX(0);
  }

  80% {
    left: calc(50% - 1px);
    width: 2px;
    -webkit-transform: scaleY(1) skewX(0);
    transform: scaleY(1) skewX(0);
  }

  100% {
    left: -20%;
    width: 140%;
    -webkit-transform: scaleY(1) skewX(-20deg);
    transform: scaleY(1) skewX(-20deg);
  }
}

#Visual {
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 61000;
  width: 100%;
  height: 100%;
  background: transparent;
}

#Visual::after {
  content: "";
  position: absolute;
  left: 520px;
  top: 0;
  z-index: 1;
  width: calc(100% - 520px);
  height: 100%;
  background: transparent url(../img/main_visual_pc.jpg) 100% 100%/100% auto no-repeat;
  -webkit-transition: background-position 1s ease-out;
  transition: background-position 1s ease-out;
}

#Visual.roll::after {
  background-position: 100% 0;
}

#Privilege.pro_wrap .note01 {
  margin-bottom: 120px;
}

#Privilege.pro_wrap .note02 {
  text-align: center;
  margin-bottom: 50px;
}

#Privilege.pro_wrap .pro_def li {
  font-size: 0.8rem;
}

#Privilege.pro_wrap .pro_def li:not(last-of-type) {
  margin-bottom: 10px;
}

#Privilege.pro_wrap .gide_def li {
  padding-left: 1em;
  text-indent: -0.5em;
}

#Privilege.pro_wrap .gide_def li:not(last-of-type) {
  margin-bottom: 10px;
}

#Privilege.pro_wrap .pro_cont {
  background: rgba(255, 255, 255, 0.2);
}

#Privilege.pro_wrap .pro_cont h1 {
  line-height: 1.5;
  padding-left: 20px;
  padding-right: 20px;
}

#Privilege.pro_wrap .pro_cont h2 {
  background-color: #515256;
  color: #fff;
  font-size: 21px;
  text-align: center;
  padding: 12px;
}

#Privilege.pro_wrap .pro_cont .inner dl {
  -webkit-box-flex: unset;
  -ms-flex: unset;
  flex: unset;
  border-top: none;
  margin-top: 30px;
  width: 100%;
}

#Privilege.pro_wrap .pro_cont .inner dl dt:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

#Privilege.pro_wrap .pro_cont .inner dl dd .btnico {
  width: 30px;
  padding: 0 5px 5px;
}

#Privilege.pro_wrap .pro_cont .table_pro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-left: #fff 1px solid;
  border-right: #fff 1px solid;
  border-top: 1px #fff solid;
}

#Privilege.pro_wrap .pro_cont .table_pro:last-of-type {
  border-bottom: 1px #fff solid;
}

#Privilege.pro_wrap .pro_cont .table_pro dt {
  background-color: rgba(81, 82, 86, 0.6);
  width: 22%;
  border-right: 1px #fff solid;
  padding: 10px 30px;
  letter-spacing: 0.08em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #ff3a6b;
}

#Privilege.pro_wrap .pro_cont .table_pro dd {
  width: 78%;
  padding: 10px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#Privilege.pro_wrap .pro_cont .mgt40p {
  margin-top: 40px;
}

#Privilege.pro_wrap .pro_cont .mgt30p {
  margin-top: 30px;
}

#Privilege.pro_wrap .pro_cont .mgt20p {
  margin-top: 20px;
}

#Privilege.pro_wrap .pro_cont .mgb40p {
  margin-bottom: 40px;
}

#Privilege.pro_wrap .pro_cont .mgb30p {
  margin-bottom: 30px;
}

#Privilege.pro_wrap .pro_cont .gide_note {
  color: #e60039;
  font-weight: bold;
  padding-bottom: 10px;
  text-align: center;
  border: 1px solid #fff;
  padding: 10px 10px 10px;
  margin: 15px 0 25px 1em;
  line-height: 1.2;
}

#Privilege.pro_wrap .pro_cont .gide_note span {
  margin-bottom: 10px;
  display: block;
}

#Privilege.pro_wrap .pro_cont .inner.tri_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

#Privilege.pro_wrap .pro_cont .inner.tri_inner dl {
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 15px 0;
}

#Privilege.pro_wrap .pro_cont .inner.tri_inner dl dt {
  border-top: none;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "小塚明朝 Std R", "メイリオ", "Meiryo", serif;
  color: #fff;
  background: #e60039;
  width: 40px;
  height: 40px;
  line-height: 40px;
  padding: 0;
  text-align: center;
  font-size: 20px;
  margin-right: 20px;
}

#Privilege.pro_wrap .pro_cont .inner.tri_inner dl dd {
  padding-bottom: 0;
  border-bottom: none;
}

#Privilege.pro_wrap .pro_cont .inner.tri_inner dl dd a {
  word-break: break-all;
  text-decoration: underline;
}

.trial_wrap {
  width: inherit !important;
}

.trial_wrap .trial_cont {
  padding: 0 40px;
  width: 1020px !important;
  margin: 0 auto 60px;
}

.trial_wrap .pro_cont {
  padding: 60px;
  margin-bottom: 60px;
}

.trial_wrap .pro_cont h1 {
  margin-bottom: 60px;
  font-size: 1.9em;
  line-height: 1em;
  font-weight: 700;
}

.trial_wrap .slideshow_wrap {
  margin-bottom: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 175px;
  overflow: hidden;
}

.trial_wrap .slideshow_wrap .slideshow {
  -webkit-animation: loop-slide 40s infinite linear 1s both;
  animation: loop-slide 40s infinite linear 1s both;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.trial_wrap .slideshow_wrap .slideshow li {
  width: 300px;
  height: 175px;
  background: rgba(255, 255, 255, 0.2);
  padding: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@-webkit-keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.gide_inner dl dd a {
  word-break: break-all;
}

.anv_wrap {
  width: inherit !important;
}

.anv_wrap .anv_cont {
  padding: 0 40px;
  width: 1020px !important;
  margin: 0 auto 60px;
}

.anv_wrap .pro_cont {
  padding: 60px;
  margin-bottom: 60px;
}

.anv_wrap .pro_cont h1 {
  margin-bottom: 60px;
  font-size: 1.9em;
  line-height: 1em;
  font-weight: 700;
}

.anv_wrap .pro_cont .inner.anv_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.anv_wrap .pro_cont .inner.anv_inner .num_box dl {
  margin-top: 0 !important;
}

.anv_wrap .pro_cont .inner.anv_inner dl {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.anv_wrap .pro_cont .inner.anv_inner dl dt {
  padding-top: 15px;
  color: #e60039;
  font-weight: 700;
}

.anv_wrap .pro_cont .inner.anv_inner dl dd {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 15px;
}

.anv_wrap .pro_cont .inner.anv_inner dl dd a {
  word-break: break-all;
}

.anv_wrap .pro_cont .inner.anv_inner dl + .txt {
  margin-top: 50px;
}

.anv_wrap .pro_cont .inner.anv_inner dl.num {
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 15px 0;
}

.anv_wrap .pro_cont .inner.anv_inner dl.num dt {
  border-top: none;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "小塚明朝 Std R", "メイリオ", "Meiryo", serif;
  color: #fff;
  background: #e60039;
  width: 40px;
  height: 40px;
  line-height: 40px;
  padding: 0;
  text-align: center;
  font-size: 20px;
  margin-right: 20px;
}

.anv_wrap .pro_cont .inner.anv_inner dl.num dd {
  padding-bottom: 0;
  border-bottom: none;
}

.anv_wrap .pro_cont .inner.anv_inner dl.num dd a {
  word-break: break-all;
  text-decoration: underline;
}

.anv_wrap .pro_cont .inner.anv_inner h2 + .txt {
  margin-top: 20px;
}

.comment > article {
  padding: 60px 40px 60px !important;
}

@media screen and (min-width: 960px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 1280px) {
  #Main > section:nth-of-type(1) > .pic {
    margin-left: 390px;
    width: calc(100% - 390px);
  }

  #Main > section:nth-of-type(1) > .box {
    padding: 180px 40px;
    width: 390px;
  }

  #Visual::after {
    left: 390px;
    width: calc(100% - 390px);
  }
}

@media screen and (max-width: 960px) {
  body {
    font-size: 1.5rem;
    line-height: 1.8em;
  }

  .pc {
    display: none !important;
  }

  #Wrap > h1 {
    padding-top: 120px;
  }

  #Wrap > h1 img {
    width: auto;
  }

  #Wrap > .back {
    padding: 100px 40px 290px;
    width: auto;
  }

  #Wrap > .back a {
    padding: 53px 25px;
    font-size: 1.3em;
    line-height: 1em;
  }

  #Wrap > .back a:hover {
    background-color: rgba(0, 0, 0, 0.6);
  }

  body > header > nav {
    display: block;
    left: 0;
    top: 100vh;
    padding-bottom: 100px;
  }

  body > header > nav > .box {
    width: auto;
    height: 85%;
  }

  body > header > nav > .box > ul > li {
    padding: 0 0 50px;
  }

  body > header > nav > .box > ul a::after {
    display: none;
  }

  body > header > nav > .box .share {
    margin-top: 40px;
  }

  body > header > nav > .box .share > dt {
    margin-right: 15px;
    font-family: YakuHanJP, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  body > header > nav > .box .share > dd > div {
    margin: 0 15px;
    width: 80px;
  }

  body > header > nav > .bg {
    width: 100%;
    height: 15%;
  }

  body > header .btns .buy {
    position: fixed;
    right: auto;
    left: 0;
    bottom: 0 !important;
    z-index: 60010;
    width: calc(100% - 100px);
    height: 100px;
  }

  body > header .btns .buy a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100px;
    background: #e60039;
  }

  body > header .btns .buy a:hover {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  body > header .btns .oc {
    left: auto;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100px;
    height: 100px;
    background: #1a1a1a;
  }

  body > header .btns .oc::before,
  body > header .btns .oc::after {
    left: 20px;
    top: calc(50% - 2px);
    width: 60px;
    height: 4px;
  }

  body > header .btns .oc::before {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }

  body > header .btns .oc::after {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
  }

  body > header.show > nav {
    top: 0;
  }

  body > header.show > nav > .bg > div {
    background-position: 0 100%;
  }

  body > header.show .btns .oc::before,
  body > header.show .btns .oc::after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  body > footer .totop {
    padding: 25px 0;
    letter-spacing: 0.1em;
  }

  body > footer .box {
    display: block;
    padding: 150px 0 250px;
    width: auto;
  }

  body > footer .box > section {
    margin: 0 auto;
  }

  body > footer .box > section.twitter {
    width: 590px;
  }

  body > footer .box > section.twitter > h1 {
    margin-bottom: 25px;
    font-size: 2em;
    line-height: 1em;
  }

  body > footer .box > section.twitter > h1 a {
    font-size: 0.5em;
    line-height: 1em;
  }

  body > footer .box > section.twitter iframe {
    width: 100% !important;
    height: 360px !important;
  }

  body > footer .box > section:nth-of-type(2) {
    padding: 75px 20px 0;
    width: auto;
    text-align: center;
  }

  body > footer .logos > li {
    margin: 0 25px;
  }

  body > footer .logos img {
    height: auto;
  }

  body > footer .share {
    margin-top: 80px;
  }

  body > footer .share > dt {
    margin-right: 20px;
    font-size: 1.2em;
    line-height: 1em;
    font-family: YakuHanJP, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  body > footer .share > dd > div {
    margin: 0 15px;
    width: 80px;
  }

  body > footer .links {
    margin-top: 80px;
  }

  body > footer .links > li {
    border-width: 0 4px 0 4px;
    border-style: solid;
    padding: 0 15px;
    font-size: 1em;
    line-height: 1em;
  }

  body > footer .links > li:first-child {
    border-width: 0 4px;
    width: 100%;
    border: none;
  }

  body > footer .links > li:nth-child(2) {
    border-right: none;
  }

  body > footer .links a::after {
    display: none;
  }

  body > footer .copy {
    font-size: 0.5em;
    line-height: 1.8em;
  }

  #Main > section:nth-of-type(1) > .pic {
    position: relative;
    margin-left: 0;
    width: 100%;
    min-height: 0;
  }

  #Main > section:nth-of-type(1) > .box {
    display: block;
    position: relative;
    padding: 336px 0 0;
    width: auto;
    min-height: none;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  #Main > section:nth-of-type(1) > .box h1 {
    position: absolute;
    left: 0;
    top: -100px;
    width: 100%;
  }

  #Main > section:nth-of-type(1) > .box .movies {
    margin-top: 120px;
    padding: 0 40px;
    width: auto;
  }

  #Main > section:nth-of-type(1) > .box .movies > li {
    margin-top: 40px;
  }

  #Main > section:nth-of-type(1) > .box .movies > li a {
    height: 260px;
  }

  #Main > section:nth-of-type(1) > .box .movies > li a::before {
    background-size: auto;
  }

  #Main > section:nth-of-type(1) > .box .movies > li a:hover .bg {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  #Main > section:nth-of-type(1) > .box #News {
    margin-top: 120px;
    padding: 60px 40px 110px 170px;
  }

  #Main > section:nth-of-type(1) > .box #News > h1 {
    left: 40px;
    top: 60px;
  }

  #Main > section:nth-of-type(1) > .box #News > ul {
    height: 170px;
  }

  #Main > section:nth-of-type(1) > .box #News > ul > li .date {
    margin: 0 0 10px 0;
    color: #e60039;
  }

  #Main > section:nth-of-type(1) > .box #News .more {
    right: 40px;
    bottom: 60px;
    z-index: 10;
    border-bottom-width: 3px;
    padding: 0 140px 16px 0;
  }

  #Main > section:nth-of-type(1) > .box #News .more::after {
    width: 64px;
    height: 1em;
  }

  #About {
    padding: 230px 0;
  }

  #About p img {
    width: auto;
  }

  #Story {
    margin-top: 300px;
    padding: 40px 0 0;
    width: 750px;
  }

  #Story > h1 {
    position: static;
    text-align: center;
    margin-bottom: 90px;
  }

  #Story .box {
    display: block;
    position: relative;
    z-index: 1;
    padding-left: 0;
  }

  #Story .box .block01,
  #Story .box .block02 {
    margin-left: 0;
    width: auto;
  }

  #Story .box .block01 {
    display: block;
    padding-left: 251px;
  }

  #Story .box .block01 .pic {
    margin: 0;
    text-align: right;
  }

  #Story .box .block01 .text {
    padding-right: 40px;
  }

  #Story .box .block02 {
    position: relative;
    z-index: 1;
    margin-top: 40px;
    padding: 5px 30px 0 40px;
  }

  #Story .box .block02 .pic {
    position: relative;
    left: -40px;
    top: 0;
    z-index: -1;
  }

  #Story .catch {
    left: 40px;
    bottom: auto;
    top: 0;
    width: auto;
  }

  #Character {
    margin-top: 290px;
    padding-top: 40px;
  }

  #Character > nav {
    left: 0;
    top: 320px;
    margin: 0;
    width: 100%;
    text-align: center;
  }

  #Character > nav > ul > li {
    margin: 0 4px;
    width: 80px;
    -webkit-transform: skewX(-26deg);
    transform: skewX(-26deg);
  }

  #Character > nav > ul > li img {
    width: 130px;
    max-width: none;
    -webkit-transform: skewX(26deg) translateX(-21px);
    transform: skewX(26deg) translateX(-21px);
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }

  #Character > nav > ul > li img.on {
    opacity: 0;
    position: relative;
    z-index: 1;
  }

  #Character > nav > ul > li img.off {
    position: absolute;
    z-index: -1;
  }

  #Character > nav > ul > li:hover img.on {
    opacity: 0;
  }

  #Character > nav > ul > li.cur img.on {
    opacity: 1;
  }

  #Character .profiles {
    margin-top: 110px;
  }

  #Character .profiles article {
    height: auto;
  }

  #Character .profiles article .box {
    padding: 930px 40px 0;
    width: auto;
  }

  #Character .profiles article .vis {
    left: -225px;
    bottom: auto;
    top: 0;
    width: 1200px;
  }

  #Character .profiles article .vis::before,
  #Character .profiles article .vis::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 5;
    width: 100%;
    height: 300px;
    background: transparent url(../img/character/chara_cover_sp.png) 50% 100% repeat-x;
  }

  #Character .profiles article .vis::after {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  #Character .profiles article .vis > img {
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }

  #Character .profiles article .vis > img:first-child {
    position: relative;
  }

  #Character .profiles article .vis > img.cur {
    opacity: 1;
  }

  #Character .profiles article .bg {
    bottom: auto;
    top: 60px;
    height: 940px;
  }

  #Character .profiles article .spec {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 60px;
  }

  #Character .profiles article .spec > li {
    margin-right: 0;
    border-width: 2px 0;
    padding: 20px 0;
    min-width: 310px;
  }

  #Character .profiles article .desc {
    margin-top: 50px;
  }

  #Character .profiles article .voice {
    margin-top: 40px;
  }

  #Character .profiles article .voice > dt {
    margin-right: 30px;
  }

  #Character .profiles article .voice > dt .icon {
    margin: -0.2em 5px 0 0;
    width: auto;
  }

  #Character .profiles article .voice > dd {
    margin-right: 30px;
    border-width: 2px;
    width: 100px;
    height: 100px;
    font-size: 1.6em;
    line-height: 1em;
    font-weight: 400;
  }

  #Character .profiles article .voice > dd:hover {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  #Character .profiles article .pv {
    margin-top: 80px;
    width: auto;
  }

  #Character .profiles article .pv a {
    border-width: 2px;
    height: 160px;
  }

  #Character .profiles article .pv a > span {
    font-size: 1.8em;
    line-height: 1em;
  }

  #Character .profiles article .pv a > span::before {
    margin: -0.3em 15px 0 0;
    width: 40px;
    height: 40px;
  }

  #Character .profiles article .visChange {
    left: 40px;
    top: 75px;
    width: 100px;
    height: 134px;
  }

  #ExtraStory {
    padding-top: 160px;
  }

  #ExtraStory::before,
  #ExtraStory::after {
    height: calc(100% - 380px);
  }

  #ExtraStory .bg {
    top: 0;
  }

  #ExtraStory > .inner {
    width: auto;
  }

  #ExtraStory h1 {
    text-align: center;
  }

  #ExtraStory p {
    font-size: 1.2em;
    line-height: 1.8em;
  }

  #ExtraStory .list {
    margin-top: 100px;
    padding: 0 40px;
  }

  #ExtraStory .list > li {
    margin-top: 30px;
    width: 320px;
  }

  #Movie {
    margin-top: 260px;
  }

  #Movie > h1 {
    top: 40px;
    left: 0;
    width: 100%;
    text-align: center;
  }

  #Movie .box {
    margin: 0 40px;
  }

  #Movie .box article {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  #Movie .box article > h1 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 30px;
    width: auto;
    min-height: 200px;
  }

  #Movie .box article .thumb {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: auto;
  }

  #Movie .box .nv {
    position: relative;
    margin: 0 auto;
    padding: 0 50px;
    width: auto;
  }

  #Movie .box .nv > div {
    border-bottom-width: 4px;
    padding-bottom: 20px;
    font-size: 1.2em;
    line-height: 1em;
  }

  #Movie .box .nv > div::after {
    width: 64px;
  }

  #Movie .box .nv > div.prev {
    padding-left: 160px;
  }

  #Movie .box .nv > div.next {
    padding-right: 160px;
  }

  #Movie .bgWrapper {
    top: 110px;
    height: calc(100% - 110px);
  }

  #Movie #MovieBg {
    left: -100%;
    top: -100%;
    width: 300%;
    height: 300%;
  }

  #Product {
    display: block;
    margin: 110px auto 300px;
    padding: 250px 40px 0;
    width: auto;
  }

  #Product > h1 {
    right: 40px;
    top: 40px;
  }

  #Product .package {
    width: auto;
    text-align: center;
  }

  #Product .desc {
    margin-top: 100px;
    width: auto;
  }

  #Product .spec {
    display: block;
  }

  #Product .spec tbody,
  #Product .spec tr,
  #Product .spec th,
  #Product .spec td {
    display: block;
  }

  #Product .spec tr {
    border-width: 0 0 2px;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.3);
    padding: 15px 0;
  }

  #Product .spec tr:first-child {
    border-width: 2px 0;
  }

  #Product .spec th,
  #Product .spec td {
    border: none !important;
    padding: 0;
  }

  #Product .spec th {
    width: auto;
  }

  #Product .buy {
    margin-top: 90px;
  }

  #Product .buy > a {
    padding: 52px 90px;
    background-position: 46px 50%;
    background-size: auto;
    font-size: 1.3em;
    line-height: 1em;
    text-align: center;
  }

  #Product .buy > a:hover {
    background-color: transparent;
  }

  #Product .buy .tri_icon {
    background: transparent url(../img/ico_trial.png) 50px 50%/40px auto no-repeat;
  }

  #Privilege {
    padding: 40px 40px 0;
    width: auto;
  }

  #Privilege > h1 {
    margin-bottom: 140px;
  }

  #Privilege article .slick-dots {
    bottom: 14px;
  }

  #Privilege article .slick-dots > li {
    margin: 0 10px;
  }

  #Privilege article .slick-dots > li button {
    width: 70px;
    height: 8px;
  }

  #Privilege article .buy a {
    position: relative;
    z-index: 1;
    padding: 55px 20px;
    font-size: 1.2em;
    line-height: 1em;
    font-weight: 400;
    text-align: center;
  }

  #Privilege article .buy a::before {
    position: absolute;
    top: 0;
    left: 45px;
    z-index: 1;
    margin: 0;
    width: 36px;
    height: 100%;
  }

  #Privilege article .buy a:hover {
    background: rgba(0, 0, 0, 0.6);
  }

  #Privilege > article {
    padding: 60px 40px 260px;
  }

  #Privilege > article > h1 {
    margin-bottom: 40px;
    font-size: 1.6em;
    line-height: 1.2em;
  }

  #Privilege > article > .inner {
    display: block;
  }

  #Privilege > article > .inner > .box {
    width: auto;
  }

  #Privilege > article > .inner > .box .pic .np {
    height: 590px;
  }

  #Privilege > article > .inner > .box .buy {
    position: absolute;
    left: 40px;
    bottom: 60px;
    width: calc(100% - 80px);
    margin-top: 0;
  }

  #Privilege > article > .inner dl {
    margin-top: 60px;
    border-top-width: 2px;
    font-size: 1.2em;
    line-height: 1.6em;
  }

  #Privilege > article > .inner dl > dt {
    padding-top: 20px;
  }

  #Privilege > article > .inner dl > dd {
    border-bottom-width: 2px;
    padding-bottom: 20px;
  }

  #Privilege #Origin {
    display: block;
  }

  #Privilege #Origin > article {
    margin: 0 0 60px;
    padding: 60px 40px 260px;
    width: auto;
  }

  #Privilege #Origin > article > h1 {
    margin-bottom: 40px;
    font-size: 1.6em;
    line-height: 1.2em;
  }

  #Privilege #Origin > article .pic {
    margin-bottom: 60px;
  }

  #Privilege #Origin > article .pic .np {
    height: 590px;
  }

  #Privilege #Origin > article .buy {
    left: 40px;
    bottom: 60px;
    width: calc(100% - 80px);
  }

  #Privilege #Origin > article .buy a {
    padding: 55px 20px;
  }

  #Privilege #Origin > article .buy a::before {
    margin-right: 0;
  }

  #Modal .close {
    margin-top: 44px;
    width: 126px;
    height: 126px;
  }

  #Modal .close::before,
  #Modal .close::after {
    top: calc(50% - 1.5px);
    height: 3px;
  }

  #Modal .pictBox {
    max-width: 100%;
  }

  #Modal .inlineBox {
    padding: 100px 40px;
  }

  #Modal .inlineBox.story > div {
    padding-left: 90px;
    width: auto;
  }

  #Modal .inlineBox.story > div > h1 {
    width: auto;
  }

  #Modal .inlineBox.story > div .talk {
    padding-bottom: 10px;
    background-size: 8px 100%, 100% 2.6em;
    line-height: 2.6em;
  }

  #Modal .inlineBox.story > div .talk > div > p.name {
    width: 4.5em;
  }

  #Modal .inlineBox.story > div .desc {
    margin-top: 40px;
    font-size: 1em;
    line-height: 1.6em;
  }

  #Modal .inlineBox.countdown {
    padding: 0;
    width: 700px;
  }

  #Visual {
    display: none;
  }

  #Privilege.pro_wrap .note02 {
    text-align: left;
    padding: 0 40px;
  }

  #Privilege.pro_wrap .pro_def li {
    line-height: 1.7;
    padding-left: 2em;
    text-indent: -2em;
  }

  #Privilege.pro_wrap .pro_def {
    padding: 0 40px;
  }

  #Privilege.pro_wrap .pro_cont .gide_note {
    padding: 25px 10px;
  }

  #Privilege.pro_wrap .pro_cont .gide_note span {
    margin-bottom: 15px;
  }

  #Privilege.pro_wrap .note01 {
    text-align: left;
  }

  #Privilege.pro_wrap .pro_cont {
    padding: 60px 0px 60px;
  }

  #Privilege.pro_wrap .pro_cont h2 {
    font-size: 23px;
  }

  #Privilege.pro_wrap .pro_cont .inner dl {
    padding: 0 40px;
    width: inherit;
    font-size: 1em;
  }

  #Privilege.pro_wrap .pro_cont .inner dl dt:first-of-type {
    border-top-width: 2px;
  }

  #Privilege.pro_wrap .pro_cont .inner dl dt.bt_none {
    border-top: none;
  }

  #Privilege.pro_wrap .pro_cont .inner dl dd .btnico {
    width: 50px;
    padding: 0 6px 7px;
  }

  #Privilege.pro_wrap .pro_cont .table_pro_wrap {
    padding: 0 40px;
  }

  #Privilege.pro_wrap .pro_cont .table_pro_wrap .table_pro {
    border-width: 2px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #Privilege.pro_wrap .pro_cont .table_pro_wrap .table_pro dt {
    width: 100%;
    border-right: none;
    border-bottom: 2px #fff solid;
  }

  #Privilege.pro_wrap .pro_cont .table_pro_wrap .table_pro dd {
    width: 100%;
  }

  #Privilege.pro_wrap .pro_cont .figure {
    padding: 0 40px;
  }

  #Privilege.pro_wrap .pro_cont .inner.tri_inner dl dd {
    width: 90%;
    font-size: 25px;
  }

  #Privilege.pro_wrap .pro_cont .inner.tri_inner {
    padding: 20px 40px;
  }

  .trial_wrap {
    width: auto !important;
    padding: 0 !important;
  }

  .trial_wrap > h1 {
    padding-top: 40px;
  }

  .trial_wrap .note01 {
    padding: 0 40px;
  }

  .trial_wrap .trial_cont {
    width: auto !important;
  }

  .trial_wrap .pro_cont {
    width: auto !important;
  }

  .trial_wrap .pro_cont h1 {
    margin-bottom: 40px;
    font-size: 1.6em;
  }

  .anv_wrap .pro_cont .inner.anv_inner .num_box {
    padding: 0 40px;
  }

  .anv_wrap .pro_cont .inner.anv_inner dl.num {
    padding: 15px 0 !important;
  }

  .anv_wrap {
    width: auto !important;
    padding: 0 !important;
  }

  .anv_wrap > h1 {
    padding-top: 40px;
  }

  .anv_wrap .note01 {
    padding: 0 40px;
  }

  .anv_wrap .anv_cont {
    width: auto !important;
  }

  .anv_wrap .pro_cont {
    width: auto !important;
  }

  .anv_wrap .pro_cont h1 {
    margin-bottom: 40px;
    font-size: 1.6em;
  }

  .anv_wrap .pro_cont .txt {
    padding: 0 40px;
    font-size: 2.25rem;
  }

  .anv_wrap .pro_cont dl {
    font-size: 1.5rem;
  }

  .anv_wrap .pro_cont .inner.anv_inner .txt {
    font-size: 1.5rem;
  }

  .anv_wrap .pro_cont .inner.anv_inner .txt.note {
    font-size: 1.9rem;
  }

  .comment > article {
    padding: 60px 40px 60px !important;
  }
}

@media screen and (max-width: 960px) and (max-width: 960px) {
  .anv_wrap .pro_cont .inner.anv_inner dl.num dd {
    width: 90%;
    font-size: 1.8rem;
  }
}