@charset "UTF-8";
/* --- utility _display.scss --- */
/* --- utility _var.scss --- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;900&display=swap");
/* --- utility _base.scss --- */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@media (max-width: 959px) {
  .u-visible-pc {
    display: none !important;
  }
}

@media (min-width: 960px) {
  .u-visible-sp {
    display: none !important;
  }
}

body {
  background-color: #020202;
}

body ul {
  list-style: none;
}

body .l-contents, body .l-article, body .l-regist, body .l-terms, body .page-chara-popup {
  font-family: 'Noto Serif JP', serif;
  color: #fff;
  position: relative;
}

@media (min-width: 960px) {
  body .l-contents, body .l-article, body .l-regist, body .l-terms, body .page-chara-popup {
    overflow: hidden;
  }
}

.l-footer {
  font-family: 'Noto Serif JP', serif;
}

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

.checkbox {
  color: #fff;
  text-align: center;
}

@media (min-width: 960px) {
  .checkbox {
    margin: 0;
    padding: 0.121vw 1.042vw;
    font-size: 12px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans","メイリオ", Meiryo,"ＭＳ Ｐゴシック",Verdana, sans-serif;
  }
  .checkbox span {
    display: block;
    margin: 0.1vw 0;
  }
  .checkbox span input {
    margin: 0 0.417vw 0 0;
  }
  .checkbox span label {
    position: relative;
    bottom: 0.052vw;
  }
}

@media (max-width: 959px) {
  .checkbox {
    margin: 0;
    padding: 0.121vw 1.042vw;
    font-size: 16px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans","メイリオ", Meiryo,"ＭＳ Ｐゴシック",Verdana, sans-serif;
  }
  .checkbox span {
    display: block;
    margin: 0.1vw 0;
  }
  .checkbox span input {
    margin: 0 0.417vw 0 0;
  }
  .checkbox span label {
    position: relative;
    bottom: 0.052vw;
  }
}

/* --- utility _common.scss --- */
.red {
  text-shadow: #9d1d2e 6px 0 10px, #9d1d2e -4px 0 10px;
}

.white {
  color: #fff;
}

.black {
  color: #000000;
}

.blue {
  text-shadow: #0234c6 4px 0 10px, #0234c6 -4px 0 10px;
}

a:focus {
  outline: none;
}

.subttl-small {
  background-color: #fff;
  text-align: center;
  font-weight: 900;
  position: relative;
}

@media (min-width: 960px) {
  .subttl-small {
    font-size: 1.198vw;
  }
}

@media (max-width: 959px) {
  .subttl-small {
    font-size: 4.267vw;
  }
}

.subttl-small:before {
  content: "";
  position: absolute;
  background: url(/images/official/ico_arrow_01.png) no-repeat top;
  background-size: contain;
}

@media (min-width: 960px) {
  .subttl-small:before {
    width: 1.146vw;
    height: 0.990vw;
    right: 1vw;
    bottom: 0.2vw;
  }
}

@media (max-width: 959px) {
  .subttl-small:before {
    width: 4vw;
    height: 4vw;
    right: 1.5vw;
    bottom: 0.5vw;
  }
}

.subttl-sec {
  font-variant: small-caps;
  font-weight: 900;
  position: relative;
  width: fit-content;
  width: -moz-fit-content;
}

@media (min-width: 960px) {
  .subttl-sec {
    font-size: 2.865vw;
    padding: 1vw 1.8vw 1vw 1vw;
    line-height: 1.5vw;
  }
}

@media (max-width: 959px) {
  .subttl-sec {
    font-size: 7.333vw;
    padding: 1.067vw 5vw 1.067vw 1.067vw;
    line-height: 7.333vw;
  }
}

.subttl-sec:after {
  content: "";
  position: absolute;
  background-color: #000000;
  right: 0;
  height: 1.5px;
}

@media (min-width: 960px) {
  .subttl-sec:after {
    width: 1.2vw;
    bottom: 1.8vw;
  }
}

@media (max-width: 959px) {
  .subttl-sec:after {
    width: 3vw;
    bottom: 4vw;
  }
}

.wrapper-inner-catchcopy .tx-catchcopy {
  font-weight: 900;
}

@media (min-width: 960px) {
  .wrapper-inner-catchcopy .tx-catchcopy {
    font-size: 1.823vw;
    line-height: 2.1vw;
  }
}

@media (max-width: 959px) {
  .wrapper-inner-catchcopy .tx-catchcopy {
    font-size: 4.667vw;
    line-height: 6.5vw;
  }
}

@media (min-width: 960px) {
  .wrapper-inner-catchcopy .tx-catchcopy .small {
    font-size: 1.4vw;
  }
}

@media (max-width: 959px) {
  .wrapper-inner-catchcopy .tx-catchcopy .small {
    font-size: 3.8vw;
  }
}

@media (min-width: 960px) {
  .wrapper-inner-catchcopy .tx-catchcopy.big {
    font-size: 2.2vw;
  }
}

@media (max-width: 959px) {
  .wrapper-inner-catchcopy .tx-catchcopy.big {
    font-size: 5.467vw;
  }
}

.wrapper-inner-catchcopy .tx-catchcopy.middle {
  text-align: center;
}

.wrapper-inner-catchcopy .tx-catchcopy.right {
  text-align: right;
}

.slider-container {
  position: relative;
  line-height: 0;
}

.slider-container .slider-progress {
  border-top: 1px solid #fff;
  position: absolute;
  z-index: 3;
  bottom: 0.095vw;
  left: 0;
  width: 99.9%;
  background: #000000;
}

@media (min-width: 960px) {
  .slider-container .slider-progress {
    height: 0.4vw;
  }
}

@media (max-width: 959px) {
  .slider-container .slider-progress {
    height: 1vw;
  }
}

.slider-container .slider-progress .progress {
  width: 0%;
  background: #fff;
}

@media (min-width: 960px) {
  .slider-container .slider-progress .progress {
    height: 0.4vw;
  }
}

@media (max-width: 959px) {
  .slider-container .slider-progress .progress {
    height: 1vw;
  }
}

.sec-regist {
  background-color: rgba(0, 0, 0, 0.8);
  position: relative;
}

@media (min-width: 960px) {
  .sec-regist {
    border: 1px solid #fff;
    width: 48.438vw;
    margin: 0 auto;
    padding-bottom: 1.5vw;
  }
}

@media (max-width: 959px) {
  .sec-regist {
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
}

.sec-regist:after {
  content: "";
  position: absolute;
  background: url(/images/official/bg_regist.png) no-repeat top;
  background-size: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 0;
}

@media (min-width: 960px) {
  .sec-regist:after {
    width: 29.688vw;
    height: 21.354vw;
    top: -2.3vw;
  }
}

@media (max-width: 959px) {
  .sec-regist:after {
    width: 80%;
    height: 52vw;
    top: -4.5vw;
  }
}

.sec-regist .ttl-sec-regist {
  text-align: center;
  font-weight: 900;
  position: relative;
  z-index: 2;
}

@media (min-width: 960px) {
  .sec-regist .ttl-sec-regist {
    font-size: 3.646vw;
    letter-spacing: 0.2vw;
    top: -2.5vw;
  }
}

@media (max-width: 959px) {
  .sec-regist .ttl-sec-regist {
    font-size: 9.467vw;
    letter-spacing: 0.2vw;
    top: -6.5vw;
  }
}

.sec-regist .list-regist {
  display: flex;
  flex-flow: nowrap;
  justify-content: center;
  z-index: 2;
  position: relative;
}

@media (min-width: 960px) {
  .sec-regist .list-regist {
    width: 100%;
    padding: 0.677vw;
    top: -1.5vw;
  }
}

@media (max-width: 959px) {
  .sec-regist .list-regist {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 14vw;
  }
}

.sec-regist .list-regist .item-regist {
  position: relative;
}

.sec-regist .list-regist .item-regist a {
  display: block;
}

@media (min-width: 960px) {
  .sec-regist .list-regist .item-regist {
    padding: 0 0.677vw;
  }
  .sec-regist .list-regist .item-regist a {
    transition: all 0.2s ease-in-out;
    position: relative;
    top: 0;
  }
  .sec-regist .list-regist .item-regist:first-of-type {
    width: 11.875vw;
  }
  .sec-regist .list-regist .item-regist:nth-of-type(2) {
    width: 14.635vw;
  }
  .sec-regist .list-regist .item-regist:nth-of-type(3) {
    width: 14.740vw;
    padding-bottom: 0;
  }
  .sec-regist .list-regist .item-regist:hover a {
    top: 0.2vw;
  }
}

@media (max-width: 959px) {
  .sec-regist .list-regist .item-regist {
    padding: 0 2vw;
  }
}

.sec-regist .list-regist .item-regist.not-active {
  pointer-events: none;
  opacity: 0.6;
}

.sec-regist .list-regist .wrap-datalink {
  position: absolute;
  right: 4.2vw;
  bottom: -.8vw;
}

.sec-regist .list-regist .wrap-datalink .btn-datalink {
  display: block;
  width: 10.6vw;
  font-size: .9vw;
  transition: all 0.2s ease-in-out;
}

.sec-regist .list-regist .wrap-datalink .btn-datalink:hover {
  transform: translateY(0.2vw);
}

.btn-movie {
  width: 100%;
  position: relative;
  outline: 0;
}

.btn-movie:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(/images/official/btn_movie.png) top no-repeat;
  background-size: contain;
  transition: all 0.2s ease-in-out;
}

@media (min-width: 960px) {
  .btn-movie:before {
    width: 6vw;
    height: 6vw;
  }
}

@media (max-width: 959px) {
  .btn-movie:before {
    width: 20vw;
    height: 20vw;
  }
}

@media (min-width: 960px) {
  .btn-movie:hover:before {
    background: url(/images/official/btn_movie_hover.png) no-repeat center center;
    background-size: 100%;
  }
}

.btn-twitter {
  font-weight: 900;
  display: block;
  margin: 0 auto;
  position: relative;
  color: #fff;
  text-decoration: none;
  background: url(/images/official/btn_twitter.png) no-repeat center center;
  text-align: center;
}

@media (min-width: 960px) {
  .btn-twitter {
    width: 18.490vw;
    height: 3.802vw;
    font-size: 1.667vw;
    letter-spacing: normal;
    background-size: 100%;
    padding-top: 0.7vw;
    padding-right: 1.2vw;
    transition: .3s all ease-in-out;
  }
  .btn-twitter:hover {
    background: url(/images/official/btn_twitter_hover.png) no-repeat center center;
    background-size: 100%;
    color: #fff;
  }
  .btn-twitter:hover .inner-wrapper::after {
    background: url(/images/official/ico_arrow_02_hover.png) no-repeat center center;
    background-size: contain;
  }
}

.btn-twitter .inner-wrapper {
  position: relative;
}

.btn-twitter .inner-wrapper::after {
  content: "";
  position: absolute;
  background: url(/images/official/ico_arrow_02.png) no-repeat center center;
  background-size: contain;
}

@media (min-width: 960px) {
  .btn-twitter .inner-wrapper::after {
    top: 0.8vw;
    right: 2vw;
    width: 1.146vw;
    height: 1.146vw;
    transition: .3s all ease-in-out;
  }
}

@media (max-width: 959px) {
  .btn-twitter .inner-wrapper::after {
    height: 8.5vw;
    width: 4.5vw;
    right: 18vw;
    top: 0.2vw;
  }
}

@media (max-width: 959px) {
  .btn-twitter {
    width: 100%;
    height: 14.6vw;
    font-size: 5.733vw;
    letter-spacing: normal;
    background-size: 100%;
    padding-top: 2.8vw;
    margin-top: 4.267vw;
  }
  .btn-twitter .big-letter {
    font-size: 7vw;
    letter-spacing: 1vw;
  }
}

.btn-c {
  font-weight: 900;
  display: block;
  margin: 0 auto;
  position: relative;
  color: #000000;
  text-decoration: none;
  background: url(/images/official/btn_c.png) no-repeat center center;
  text-align: center;
}

@media (min-width: 960px) {
  .btn-c {
    width: 335px;
    height: 72px;
    font-size: 28px;
    letter-spacing: normal;
    background-size: 100%;
    padding-top: 14px;
    padding-right: 12px;
    transition: .3s all ease-in-out;
  }
  .btn-c:hover {
    background: url(/images/official/btn_c_hover.png) no-repeat center center;
    background-size: 100%;
    color: #000000;
  }
  .btn-c:hover .inner-wrapper::after {
    background: url(/images/official/ico_arrow_03_hover.png) no-repeat center center;
    background-size: contain;
  }
}

.btn-c .inner-wrapper {
  position: relative;
}

.btn-c .inner-wrapper::after {
  content: "";
  position: absolute;
  background: url(/images/official/ico_arrow_03.png) no-repeat center center;
  background-size: contain;
}

@media (min-width: 960px) {
  .btn-c .inner-wrapper::after {
    top: 11px;
    right: 10px;
    width: 20px;
    height: 20px;
    transition: .3s all ease-in-out;
  }
}

@media (max-width: 959px) {
  .btn-c .inner-wrapper::after {
    height: 8.5vw;
    width: 4.5vw;
    right: 12vw;
    top: 0.2vw;
  }
}

@media (max-width: 959px) {
  .btn-c {
    width: 100%;
    height: 20vw;
    font-size: 5.733vw;
    letter-spacing: normal;
    background-size: 100%;
    padding-top: 5.8vw;
    margin-top: 4.267vw;
  }
  .btn-c .big-letter {
    font-size: 7vw;
    letter-spacing: 1vw;
  }
}

@media (min-width: 960px) {
  .item-regist a {
    position: relative;
    transition: all 0.2s ease-in-out;
    top: 0;
  }
  .item-regist:hover a {
    top: 0.2vw;
  }
}

@media (max-width: 959px) {
  .item-regist.regist-1 {
    width: 44.733vw;
  }
}

@media (max-width: 959px) {
  .item-regist.regist-2 {
    width: 53.933vw;
  }
}

@media (min-width: 960px) {
  .frame-line-horizontal > div {
    background: #fff;
    position: absolute;
    width: 2.083vw;
    height: 0.2vw;
  }
  .frame-line-horizontal .top {
    top: 0.573vw;
  }
  .frame-line-horizontal .right {
    right: 0.573vw;
  }
  .frame-line-horizontal .left {
    left: 0.573vw;
  }
  .frame-line-horizontal .bottom {
    bottom: 0.573vw;
  }
}

@media (max-width: 959px) {
  .frame-line-horizontal > div {
    background: #fff;
    position: absolute;
    width: 5.467vw;
    height: 0.667vw;
  }
  .frame-line-horizontal .top {
    top: 2.667vw;
  }
  .frame-line-horizontal .right {
    right: 2.667vw;
  }
  .frame-line-horizontal .left {
    left: 2.667vw;
  }
  .frame-line-horizontal .bottom {
    bottom: 2.667vw;
  }
}

@media (min-width: 960px) {
  .frame-line-vertical > div {
    background: #fff;
    position: absolute;
    width: 0.2vw;
    height: 2.083vw;
  }
  .frame-line-vertical .top {
    top: 0.573vw;
  }
  .frame-line-vertical .right {
    right: 0.573vw;
  }
  .frame-line-vertical .left {
    left: 0.573vw;
  }
  .frame-line-vertical .bottom {
    bottom: 0.573vw;
  }
}

@media (max-width: 959px) {
  .frame-line-vertical > div {
    background: #fff;
    position: absolute;
    width: 0.736vw;
    height: 5.467vw;
  }
  .frame-line-vertical .top {
    top: 2.667vw;
  }
  .frame-line-vertical .right {
    right: 2.667vw;
  }
  .frame-line-vertical .left {
    left: 2.667vw;
  }
  .frame-line-vertical .bottom {
    bottom: 2.667vw;
  }
}

@keyframes startnow {
  0% {
    top: 0%;
    bottom: 100%;
  }
  50% {
    top: 0%;
    bottom: 0%;
  }
  100% {
    top: 100%;
    bottom: 0%;
  }
}

@keyframes start {
  0% {
    left: 0%;
    right: 100%;
  }
  50% {
    left: 0%;
    right: 0%;
  }
  100% {
    left: 100%;
    right: 0%;
  }
}

@keyframes end {
  0%, 50% {
    color: transparent;
    background-color: transparent;
  }
  50.00001%, 100% {
    color: black;
    background-color: #fff;
  }
}

.onview-animation {
  color: transparent;
  transition: all 1s ease-in-out;
}

.onview-animation:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0%;
  right: 100%;
  background-color: #000000;
}

.onview-animation.on-view {
  animation: end 1s forwards;
}

.onview-animation.on-view:before {
  animation: start 1s ease-in-out;
}

.onview-animation-chara {
  color: transparent;
  transition: all 1s ease-in-out;
}

@media (min-width: 960px) {
  .onview-animation-chara:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 100%;
    left: 0;
    right: 0;
    background-color: #000000;
  }
  .onview-animation-chara.on-view {
    animation: end 1s forwards;
  }
  .onview-animation-chara.on-view:before {
    animation: startnow 1s ease-in-out;
  }
}

@media (max-width: 959px) {
  .onview-animation-chara:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0%;
    right: 100%;
    background-color: #000000;
  }
  .onview-animation-chara.on-view {
    animation: end 1s forwards;
  }
  .onview-animation-chara.on-view:before {
    animation: start 1s ease-in-out;
  }
}

.onview-blur {
  opacity: 0;
  filter: blur(30px);
  transition: all 1s ease-in-out;
}

.onview-blur.on-view {
  opacity: 1;
  filter: blur(0);
}

.body-popup-notice {
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
}

.body-popup-notice .wrapper-inner .popup-pic {
  display: block;
  opacity: 1;
  transition: all 0.3s ease-in-out;
  padding: 0 2vw;
}

.body-popup-notice .wrapper-inner .popup-pic:hover {
  opacity: 0.8;
}

.body-popup-notice .wrapper-inner .checkbox {
  font-size: 16px;
}

.body-popup-notice .wrapper-inner .dontShowAgain {
  margin-right: 5px;
}

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

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

hr {
  overflow: visible;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden],
template {
  display: none;
}

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

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

b,
strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

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

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

input {
  border-radius: 0;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
}

[disabled] {
  cursor: default;
}

[type=number] {
  width: auto;
}

[type=search] {
  -webkit-appearance: textfield;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

button,
select {
  text-transform: none;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

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

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

@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

#dmm_ntgnavi {
  position: relative;
  z-index: 1000;
}

/* CSS Document */
/* ========================= [ #dmm_ntgnavi ] */
#dmm_ntgnavi {
  background: url(/images/bg_navimain.gif) center center repeat-x;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  font-size: 12px;
  font-family: 'メイリオ', 'Meiryo', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', Verdana, sans-serif;
  display: flex;
  justify-content: space-between;
}

#dmm_ntgnavi ul {
  list-style: none;
  margin: 2px 0;
  padding: 0;
  display: flex;
}

#dmm_ntgnavi ul li {
  margin: 0 6px 0 0;
  line-height: 15px;
}

#dmm_ntgnavi ul.navi_left {
  flex-grow: 2;
}

#dmm_ntgnavi ul.navi_left li a {
  display: block;
  padding: 0 3px 0 8px;
  text-decoration: none;
  border: 1px solid #eee;
  border-radius: 3px;
}

#dmm_ntgnavi ul.navi_left li a:hover {
  background: #eee;
  border: 1px solid #666;
  border-radius: 3px;
}

#dmm_ntgnavi ul.navi_left li a > span {
  display: block;
  padding: 9px 10px 7px 28px;
  color: #333;
  font-weight: bold;
  white-space: nowrap;
}

#dmm_ntgnavi ul.navi_left li.dmm_top img {
  margin: 8px 5px 8px 0;
}

#dmm_ntgnavi ul.navi_left li.ntg_top {
  margin-left: 10px;
}

#dmm_ntgnavi ul.navi_left li.ntg_top a > span {
  background: url(/images/bg_bt_olgtop.gif) 0 center no-repeat;
}

#dmm_ntgnavi ul.navi_left li.ntg_chip a > span {
  background: url(/images/bg_bt_chip.gif) 0 center no-repeat;
  letter-spacing: 0.05em;
}

#dmm_ntgnavi ul.navi_left li.ntg_poi a > span {
  background: url(/images/bg_bt_point.gif) 0 center no-repeat;
  letter-spacing: 0.05em;
}

#dmm_ntgnavi ul.navi_right {
  flex-grow: 1;
  justify-content: flex-end;
  font-size: 10px;
}

#dmm_ntgnavi ul.navi_right li {
  margin: 0 10px 0 0;
  padding: 8px 5px;
}

#dmm_ntgnavi ul.navi_right li.ntg_chip, #dmm_ntgnavi ul.navi_right li.ntg_poi {
  display: none;
}

#dmm_ntgnavi .arrow {
  padding-left: 14px;
  background: url(/images/arrow_common.gif) no-repeat left center;
  color: initial;
  text-decoration: underline;
}

#dmm_ntgnavi .tx-point {
  font-size: 16px;
  font-weight: bold;
  color: #ff4b4b !important;
}

#dmm_ntgnavi p {
  margin: 0;
  line-height: 2.6em;
}

#dmm_ntgnavi .clear {
  clear: both;
}

@media (max-width: 960px) {
  #dmm_ntgnavi ul {
    justify-content: space-between;
  }
  #dmm_ntgnavi ul.navi_left {
    flex-grow: 2;
  }
  #dmm_ntgnavi ul.navi_left li.ntg_top a > span > span {
    display: none;
  }
  #dmm_ntgnavi ul.navi_left li.ntg_chip, #dmm_ntgnavi ul.navi_left li.ntg_poi {
    display: none;
  }
  #dmm_ntgnavi ul.navi_right li {
    display: none;
  }
  #dmm_ntgnavi ul.navi_right li.ntg_chip, #dmm_ntgnavi ul.navi_right li.ntg_poi {
    display: list-item;
  }
}

/* --- layout g-nav.scss --- */
@media (max-width: 959px) {
  .wrapper-gnav {
    position: absolute;
    width: 15.067vw;
    height: 15.067vw;
    top: 3.733vw;
    right: 3.733vw;
    opacity: 1;
    transition: all 0.5s;
    background-color: #fff;
    z-index: 25;
  }
  .wrapper-gnav.is-fixed {
    display: flex;
    position: fixed;
    top: 3.733vw;
    right: 3.733vw;
    opacity: 1;
    z-index: 25;
  }
  .wrapper-gnav .btn-gnav {
    width: 100%;
    line-height: 0;
  }
  .wrapper-gnav .btn-gnav img {
    width: 100%;
  }
  .wrapper-gnav .btn-gnav.on {
    background: url(/images/official/btn_close.png) top no-repeat;
    position: absolute;
    background-size: 100%;
    height: 100%;
    width: 100%;
  }
  .wrapper-gnav .btn-gnav.on img {
    display: none;
  }
}

@media (min-width: 960px) {
  .g-nav {
    width: 100%;
    flex-flow: nowrap;
    display: inline-block;
    z-index: 900;
    height: auto;
    color: #fff;
    transition: all 0.5s;
    top: -80px;
    right: 0;
    opacity: 0;
    font-size: 1.3vw;
    margin: 0 auto;
    background: linear-gradient(0, transparent, #020202);
    justify-content: right;
  }
}

@media (max-width: 959px) {
  .g-nav {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    top: -80px;
    z-index: -10;
    background: rgba(0, 0, 0, 0.75);
    border: 1px solid #fff;
    transition: all 0.3s ease-in-out;
  }
  .g-nav.on {
    display: flex;
    flex-flow: column;
    position: fixed;
    opacity: 1;
    visibility: visible;
    top: 0;
    z-index: 24;
  }
  .g-nav.on .wrapper-preorder {
    display: block;
  }
}

@media (min-width: 960px) {
  .g-nav.is-fixed {
    display: flex;
    position: fixed;
    transition: all 0.5s;
    top: 0;
    opacity: 1;
  }
}

@media (min-width: 960px) {
  .g-nav .wrapper-menu {
    padding-right: 1vw;
    margin-left: auto;
    width: 55%;
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-menu {
    padding: 15.667vw 20.667vw 3vw 20.667vw;
  }
}

.g-nav .wrapper-menu .list-menu {
  font-variant: small-caps;
}

@media (min-width: 960px) {
  .g-nav .wrapper-menu .list-menu {
    height: 100%;
    align-items: center;
    display: flex;
    flex-flow: nowrap;
    justify-content: right;
    text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
  }
  .g-nav .wrapper-menu .list-menu .gnav-item {
    position: relative;
    padding: 0 0.2vw;
  }
  .g-nav .wrapper-menu .list-menu .gnav-item:before {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 1px;
    height: 50%;
    top: 0.529vw;
    right: 0;
  }
  .g-nav .wrapper-menu .list-menu .gnav-item:last-child:before {
    display: none;
  }
  .g-nav .wrapper-menu .list-menu a {
    color: #fff;
    font-weight: 900;
    padding: 0 10px;
    outline: 0;
    text-decoration: none;
    position: relative;
    top: 0;
    transition: all 0.2s ease-in-out;
  }
  .g-nav .wrapper-menu .list-menu a:hover {
    top: 0.2vw;
  }
  .g-nav .wrapper-menu .list-menu .small {
    font-size: 75%;
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-menu .list-menu li {
    padding-bottom: 3.8vw;
    text-align: center;
  }
  .g-nav .wrapper-menu .list-menu li a {
    outline: 0;
    font-size: 5.333vw;
    font-weight: 900;
    color: #fff;
    text-decoration: none;
  }
  .g-nav .wrapper-menu .list-menu li .small {
    font-size: 75%;
  }
}

.g-nav .wrapper-order {
  position: relative;
}

@media (min-width: 960px) {
  .g-nav .wrapper-order {
    display: flex;
    flex-flow: nowrap;
    align-items: center;
    justify-content: right;
    padding: 1vw 0;
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-order {
    padding: 0 11.600vw;
    overflow-y: scroll;
  }
}

.g-nav .wrapper-order::after {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 100%;
  height: 1px;
  z-index: 0;
}

@media (min-width: 960px) {
  .g-nav .wrapper-order::after {
    right: -1vw;
    top: 2.8vw;
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-order::after {
    top: 1vw;
    left: 0;
  }
}

.g-nav .wrapper-order .subttl-small {
  position: relative;
  z-index: 2;
}

@media (min-width: 960px) {
  .g-nav .wrapper-order .subttl-small {
    width: 10vw;
    margin-left: auto;
    box-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
    letter-spacing: 0.1vw;
  }
  .g-nav .wrapper-order .subttl-small::before {
    display: none;
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-order .subttl-small {
    letter-spacing: 0.7vw;
    width: 55%;
    margin: 0 auto;
    margin-bottom: 3.733vw;
  }
  .g-nav .wrapper-order .subttl-small:before {
    right: 5vw;
  }
}

@media (min-width: 960px) {
  .g-nav .wrapper-order .list-order {
    position: relative;
    z-index: 2;
    display: flex;
    flex-flow: nowrap;
    justify-content: left;
    width: auto;
    height: 100%;
    padding-left: 1vw;
    max-height: 3.525vw;
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-order .list-order {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: nowrap;
    justify-content: center;
  }
}

@media (min-width: 960px) {
  .g-nav .wrapper-order .list-order .item-regist {
    margin: 0 0.5vw;
  }
  .g-nav .wrapper-order .list-order .item-regist a {
    display: block;
  }
  .g-nav .wrapper-order .list-order .item-regist.regist-1 {
    width: 10.365vw;
  }
  .g-nav .wrapper-order .list-order .item-regist.regist-2 {
    width: 12.917vw;
  }
  .g-nav .wrapper-order .list-order .item-regist.regist-3 {
    width: 12.917vw;
    position: relative;
  }
  .g-nav .wrapper-order .list-order .item-regist .checkbox {
    width: 12vw;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

@media (max-width: 959px) {
  .g-nav .wrapper-order .list-order .item-regist {
    padding: 0 2vw;
  }
  .g-nav .wrapper-order .list-order .item-regist.regist-1 {
    width: 40.733vw;
  }
  .g-nav .wrapper-order .list-order .item-regist.regist-2 {
    width: 49.933vw;
  }
}

.g-nav .wrapper-order .list-order .item-regist.not-active {
  pointer-events: none;
  opacity: 0.6;
}

.nav-twitter {
  position: absolute;
  bottom: -90px;
  right: 0;
  z-index: 22;
  transition: all 0.2s linear;
}

.nav-twitter.is-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

@media (min-width: 960px) {
  .nav-twitter {
    width: 21.198vw;
    height: 3.802vw;
    bottom: 0;
    right: -28.021vw;
  }
}

@media (max-width: 959px) {
  .nav-twitter {
    width: 79.600vw;
  }
}

@media (min-width: 960px) {
  .nav-twitter .tx-twitter {
    width: 21.198vw;
    height: 3.802vw;
    align-self: flex-end;
    margin-right: -4vw;
  }
}

.nav-twitter .btn-twitter-2 {
  display: block;
}

@media (min-width: 960px) {
  .nav-twitter .btn-twitter-2 {
    align-self: flex-end;
  }
  .nav-twitter .btn-twitter-2::before {
    content: "";
    position: absolute;
    background: url(/images/official/btn_twitter_02_hover.png) no-repeat center center;
    background-size: 100%;
    color: #fff;
    width: 21.198vw;
    height: 3.802vw;
    opacity: 0;
    transition: all 0.3s;
  }
  .nav-twitter .btn-twitter-2:hover::before {
    opacity: 1;
  }
}

@media (max-width: 959px) {
  .nav-twitter .btn-twitter-2 {
    height: 14.133vw;
  }
}

/* --- layout _footer.scss --- */
.l-footer {
  position: relative;
  z-index: 5;
  background-color: #020202;
  overflow: hidden;
  word-break: break-all;
  border-top: 1px solid #fff;
}

@media (max-width: 959px) {
  .l-footer {
    width: 100%;
    margin: 0 auto;
  }
}

.l-footer:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-footer:before {
    background: url(/images/official/bg_frame.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .l-footer:before {
    background: url(/images/official/bg_frame_sp.png) no-repeat top;
    background-size: 100%;
  }
}

.l-footer:after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  right: 0;
  transform: scale(-1, -1);
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-footer:after {
    background: url(/images/official/bg_frame.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .l-footer:after {
    background: url(/images/official/bg_frame_sp.png) no-repeat top;
    background-size: 100%;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content {
    width: 72.917vw;
    margin: 0 auto;
    padding: 6.302vw 0;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content {
    width: 95%;
    margin: 0 auto;
    padding: 24.400vw 0;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .list-contact {
    display: flex;
    flex-flow: nowrap;
    padding-bottom: 1.385vw;
    justify-content: center;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .list-contact {
    width: 93%;
    margin: 0 auto;
    padding-bottom: 11.333vw;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .list-contact li {
    padding: 0 1vw;
    text-align: center;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .list-contact li {
    text-align: center;
    padding-bottom: 3.733vw;
  }
}

.l-footer .wrapper-content .list-contact li a {
  font-weight: 900;
  color: #fff;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .list-contact li a {
    font-size: 1.094vw;
    position: relative;
    top: 0;
    transition: all 0.2s ease-in-out;
  }
  .l-footer .wrapper-content .list-contact li a:hover {
    top: 0.2vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .list-contact li a {
    font-size: 3.467vw;
  }
}

.l-footer .wrapper-content .wrapper-outer {
  border: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer {
    padding: 1.5vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer {
    width: 100%;
    margin: 0 auto;
    padding: 3.067vw;
    border: 1px solid #fff;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info {
    display: flex;
    flex-flow: nowrap;
    align-items: center;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .wrapper-logo {
    width: 40%;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .wrapper-logo {
    width: 100%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .content-info {
    width: 60%;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info {
    display: flex;
    flex-flow: column;
  }
}

.l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info {
  font-weight: 900;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info {
    display: flex;
    flex-flow: nowrap;
    font-size: 1.042vw;
    padding-bottom: 0.825vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info:last-child {
    padding-bottom: 0;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info {
    order: 2;
    text-align: center;
    display: block;
    font-size: 3.733vw;
    padding-bottom: 3vw;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info dt {
    width: 32%;
    color: #fff;
    display: inline-block;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info dt {
    color: #fff;
    display: block;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info dd {
    color: #fff;
    display: inline-block;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info dd br {
    display: none;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info dd {
    color: #fff;
    display: block;
  }
}

.l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist {
  width: 100%;
  position: relative;
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist {
    order: 1;
    padding-bottom: 3.733vw;
  }
}

.l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist::after {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 100%;
  height: 1px;
  z-index: 0;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist::after {
    right: 0;
    top: 0.8vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist::after {
    top: 3vw;
    left: 0;
    z-index: 0;
  }
}

.l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dt {
  position: relative;
  z-index: 1;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dt {
    text-align: unset;
    display: block;
    width: 21.5%;
    padding: 0 0.6vw;
    letter-spacing: 0.1vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dt:before {
    right: 0.5vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dt {
    text-align: center;
    width: 50%;
    margin: 0 auto;
    margin-bottom: 3.733vw;
    letter-spacing: 0.7vw;
    padding: 0 4vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dt:before {
    right: 5vw;
  }
}

.l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd {
  display: flex;
  flex-flow: nowrap;
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd {
    justify-content: center;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist {
    padding-top: 0.5vw;
    padding-right: 0.5vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist.regist-1 {
    width: 11.875vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist.regist-2 {
    width: 14.635vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist.regist-3 {
    width: 14.740vw;
    padding-bottom: 0;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist {
    padding: 0 2vw;
  }
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist.regist-1 {
    width: 40.733vw;
  }
}

@media (max-width: 959px) and (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist.regist-2 {
    width: 49.933vw;
  }
}

.l-footer .wrapper-content .wrapper-outer .wrapper-info .list-info .item-info-regist dd .item-regist.not-active {
  pointer-events: none;
  opacity: 0.6;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-copyright {
    padding-top: 1.385vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-copyright {
    padding-top: 5.067vw;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .wrapper-copyright .tx-copyright {
    display: block;
    font-size: 77%;
    color: #fff;
    text-align: center;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .wrapper-copyright .tx-copyright {
    word-break: normal;
    width: 100%;
    margin: 0 auto;
    font-size: 70%;
    color: #fff;
    text-align: center;
    padding-top: 1vw;
  }
}

.l-footer .wrapper-content .list-logo {
  display: flex;
  flex-flow: wrap;
  align-items: flex-end;
  justify-content: center;
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .list-logo {
    padding-top: 1.385vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .list-logo {
    width: 100%;
    margin: 0 auto;
    padding-top: 5.067vw;
  }
}

@media (min-width: 960px) {
  .l-footer .wrapper-content .list-logo li {
    padding: 0 1vw;
  }
}

@media (max-width: 959px) {
  .l-footer .wrapper-content .list-logo li {
    padding: 0.3vw 2.1vw;
  }
  .l-footer .wrapper-content .list-logo li:first-of-type img {
    width: 30vw;
  }
  .l-footer .wrapper-content .list-logo li:nth-of-type(2) img {
    width: 32vw;
  }
}

/* --- project _top.scss --- */
@media (max-width: 959px) {
  .l-contents img {
    width: 100%;
  }
}

.l-contents .btn-datalink {
  position: relative;
  display: block;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  padding: .2em;
  text-align: center;
}

@media (min-width: 960px) {
  .l-contents .btn-datalink {
    font-size: 1vw;
  }
}

.l-contents .btn-datalink::before {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  border: #000 solid 1px;
  width: calc(100% - .4em);
  height: calc(100% - .4em);
  top: .2em;
  left: .2em;
}

.l-contents .btn-datalink::after {
  content: "▶";
  display: block;
  position: absolute;
  font-size: 90%;
  height: 1em;
  transform: scaleY(0.6);
  right: .4em;
  top: 0;
  bottom: 0;
  margin: auto;
  line-height: 1;
}

.l-contents .sec-fv {
  position: relative;
  display: flex;
  flex-flow: column;
}

@media (min-width: 960px) {
  .l-contents .sec-fv {
    padding: 1.1vw 3.125vw 3.125vw 3.125vw;
  }
}

@media (max-width: 959px) {
  .l-contents .sec-fv {
    padding: 3.733vw;
  }
  .l-contents .sec-fv img {
    width: 100%;
  }
}

.l-contents .sec-fv .inner-wrapper {
  order: 2;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  border: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-contents .sec-fv .inner-wrapper {
    min-height: 38.709vw;
  }
}

@media (min-width: 960px) {
  .l-contents .sec-fv .inner-wrapper .logo {
    width: 29.427vw;
    margin: 0 auto;
    padding-top: 23.9vw;
    margin-bottom: -27.3911vw;
  }
}

@media (max-width: 959px) {
  .l-contents .sec-fv .inner-wrapper .logo {
    padding-top: 81.067vw;
    width: 100%;
    margin: 0 auto;
    margin-bottom: -4.4vw;
  }
}

@media (min-width: 960px) {
  .l-contents .sec-fv .inner-wrapper .box-regist-small {
    position: absolute;
    z-index: 4;
    bottom: 0;
    right: 0;
    width: 13.281vw;
    margin-left: auto;
    border: 1px solid #fff;
    background-color: rgba(0, 0, 0, 0.5);
  }
}

@media (min-width: 960px) {
  .l-contents .sec-fv .inner-wrapper .box-regist-small .subttl-small {
    padding: 0 1.7vw;
    text-align: center;
    letter-spacing: 0.1vw;
  }
  .l-contents .sec-fv .inner-wrapper .box-regist-small .subttl-small:before {
    margin-right: 1vw;
  }
}

@media (min-width: 960px) {
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist {
    width: 100%;
    padding: 0.677vw;
  }
}

@media (min-width: 960px) {
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist {
    padding-bottom: 0.677vw;
  }
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist a {
    transition: all 0.2s ease-in-out;
    position: relative;
    top: 0;
  }
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist .checkbox {
    width: 12vw;
  }
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist.not-active {
    pointer-events: none;
    opacity: 0.6;
  }
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist:last-of-type {
    padding-bottom: 0;
  }
  .l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist:hover a {
    top: 0.2vw;
  }
}

.l-contents .sec-fv .inner-wrapper .box-regist-small .list-regist .item-regist .btn-datalink {
  margin: -.5vw 0 .4vw;
}

@media (max-width: 959px) {
  .l-contents .sec-fv .inner-wrapper .btn-regist {
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-bottom: -9.2vw;
  }
}

.l-contents .sec-fv .first-view {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 1s ease-in-out;
  z-index: 0;
  background-color: #020202;
}

@media (min-width: 960px) {
  .l-contents .sec-fv .first-view {
    height: 1200px;
    background-size: cover;
    background-position: 50% 50%;
  }
}

@media (max-width: 959px) {
  .l-contents .sec-fv .first-view::after {
    content: "";
    position: absolute;
    background: #020202;
    width: 100%;
  }
}

@media (max-width: 959px) and (max-width: 959px) {
  .l-contents .sec-fv .first-view::after {
    height: 100vw;
    bottom: -40vw;
    left: 0;
    z-index: -1;
    pointer-events: none;
  }
}

.l-contents .sec-fv .first-view.show-mainvisual {
  opacity: 1;
}

.l-contents .sec-fv .nav-fv {
  order: 1;
  position: relative;
  z-index: 2;
}

@media (min-width: 960px) {
  .l-contents .sec-fv .nav-fv {
    margin-left: auto;
  }
}

@media (min-width: 960px) {
  .l-contents .sec-fv .nav-fv .list-nav {
    display: flex;
    flex-flow: nowrap;
    font-size: 1.094vw;
    font-weight: 900;
    font-variant: small-caps;
    padding-bottom: 1vw;
  }
  .l-contents .sec-fv .nav-fv .list-nav .small {
    font-size: 75%;
  }
}

.l-contents .sec-fv .nav-fv li {
  padding: 0 0.5vw;
  position: relative;
}

.l-contents .sec-fv .nav-fv li::before {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 1px;
  height: 1.4vw;
  right: 0;
  bottom: 0;
}

.l-contents .sec-fv .nav-fv li:last-child:before {
  display: none;
}

.l-contents .sec-fv .nav-fv li a {
  text-decoration: none;
  color: #fff;
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
  position: relative;
  top: 0;
  transition: all 0.2s ease-in-out;
}

.l-contents .sec-fv .nav-fv li a:hover {
  top: 0.2vw;
}

.l-contents .wrapper-catchcopy {
  line-height: 0;
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .wrapper-catchcopy img {
    width: 100%;
  }
}

@media (max-width: 959px) {
  .l-contents .wrapper-catchcopy {
    padding-top: 4vw;
    width: 100%;
    margin: 0 auto;
  }
  .l-contents .wrapper-catchcopy img {
    width: 100%;
  }
}

.l-contents .wrapper-catchcopy::before {
  content: "";
  position: absolute;
  background: linear-gradient(0, #020202, transparent);
  width: 100%;
}

@media (min-width: 960px) {
  .l-contents .wrapper-catchcopy::before {
    height: 10vw;
    top: -9.9vw;
    left: 0;
  }
}

@media (max-width: 959px) {
  .l-contents .wrapper-catchcopy::before {
    height: 50vw;
    top: -45vw;
    z-index: 1;
  }
}

.l-contents .wrapper-catchcopy::after {
  content: "";
  position: absolute;
  width: 100%;
}

@media (min-width: 960px) {
  .l-contents .wrapper-catchcopy::after {
    background: url(/images/official/bg_catchcopy.png) no-repeat;
    height: 10vw;
    bottom: -9.9vw;
    left: 0;
    background-size: 100%;
  }
}

@media (max-width: 959px) {
  .l-contents .wrapper-catchcopy::after {
    background: url(/images/official/bg_catchcopy_sp.png) no-repeat;
    background-size: contain;
    height: 20.133vw;
    bottom: -19vw;
    left: 0;
  }
}

.l-contents .content-main {
  background-color: rgba(0, 0, 0, 0.2);
}

@media (min-width: 960px) {
  .l-contents .content-main {
    padding-top: 16vw;
    padding-bottom: 6.302vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main {
    padding-top: 38vw;
  }
}

.l-contents .content-main .sec-campaign {
  border: 1px solid #fff;
  position: relative;
  background: rgba(0, 0, 0, 0.8);
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign {
    width: 73%;
    margin: 0 auto;
    background-size: 21.354vw;
    margin-top: 10vw;
    padding-bottom: 6.302vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign {
    width: 95%;
    margin: 0 auto;
    margin-top: 23.467vw;
    margin-bottom: 23.467vw;
    padding-bottom: 22vw;
  }
}

.l-contents .content-main .sec-campaign:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign:before {
    background: url(/images/official/frame_campaign.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign:before {
    background: url(/images/official/frame_campaign_sp.png) no-repeat top;
    background-size: 100%;
  }
}

.l-contents .content-main .sec-campaign:after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  right: 0;
  transform: scale(-1, -1);
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign:after {
    background: url(/images/official/frame_campaign.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign:after {
    background: url(/images/official/frame_campaign_sp.png) no-repeat top;
    background-size: 100%;
  }
}

.l-contents .content-main .sec-campaign .ttl-sec {
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .ttl-sec {
    width: 22.708vw;
    margin: 0 auto;
    margin-top: -1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .ttl-sec {
    width: 80%;
    margin: 0 auto;
    margin-top: -4.5vw;
    text-align: center;
    padding-bottom: 10vw;
  }
}

.l-contents .content-main .sec-campaign .wrapper-inner-catchcopy {
  display: flex;
  justify-content: center;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy {
    flex-flow: nowrap;
    width: 80%;
    margin: 0 auto;
    padding-top: 5.8vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy {
    width: 90%;
    margin: 0 auto;
    flex-flow: column;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy {
    font-size: 2.823vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy {
    text-align: center;
    font-size: 7vw;
  }
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy:first-of-type {
    padding-bottom: 1vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy .small {
    font-size: 2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy .small {
    font-size: 5vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy .letter-space {
    letter-spacing: -0.5vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .wrapper-inner-catchcopy .tx-catchcopy .letter-space {
    letter-spacing: -1vw;
  }
}

.l-contents .content-main .sec-campaign .tx {
  font-weight: 900;
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
  text-align: center;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .tx {
    font-size: 1.042vw;
    line-height: 2.2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .tx {
    font-size: 3.733vw;
    line-height: 6vw;
    padding: 2vw 0 3vw 0;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .tx-caution {
    padding-bottom: 1.2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .tx-caution {
    width: 95%;
    font-size: 3vw;
    line-height: 5vw;
    margin: 0 auto;
    padding-bottom: 2vw;
    text-align: left;
    letter-spacing: -0.05vw;
  }
}

.l-contents .content-main .sec-campaign .list-campaign {
  display: flex;
  flex-flow: column;
  list-style-type: none;
  justify-content: center;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .list-campaign {
    width: 90%;
    margin: 0 auto;
    padding-top: 0.5vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .list-campaign {
    padding-top: 1.4vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .list-campaign li {
    padding: 0.3vw;
  }
  .l-contents .content-main .sec-campaign .list-campaign li.item-campaign-02 {
    margin-top: -3vw;
  }
  .l-contents .content-main .sec-campaign .list-campaign li.item-campaign-04 {
    margin-top: -1.6vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .list-campaign li {
    padding: 1vw;
    width: 100%;
  }
  .l-contents .content-main .sec-campaign .list-campaign li:last-of-type {
    padding: 1vw 1vw 0 1vw;
  }
}

.l-contents .content-main .sec-campaign .list-campaign li.clear {
  position: relative;
}

.l-contents .content-main .sec-campaign .list-campaign li.clear img {
  opacity: 0.6;
}

.l-contents .content-main .sec-campaign .list-campaign li.clear:before {
  content: "";
  position: absolute;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .list-campaign li.clear:before {
    background: url(/images/official/pic_clear.png) no-repeat top;
    background-size: contain;
    width: 10.313vw;
    height: 7.188vw;
    top: 1.2vw;
    left: 0;
    opacity: 1;
    z-index: 4;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-campaign .list-campaign li.clear:before {
    background: url(/images/official/pic_clear_sp.png) no-repeat top;
    background-size: contain;
    width: 21.867vw;
    height: 15.467vw;
    top: -5vw;
    left: 0;
    opacity: 1;
    z-index: 4;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .list-campaign li.clear.item-campaign-02:before {
    top: 4.3vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-campaign .list-campaign li.clear.item-campaign-04:before {
    top: 3vw;
  }
}

.l-contents .content-main .sec-about {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about {
    background: url(/images/official/bg_about.jpg) no-repeat;
    background-attachment: fixed;
    background-size: cover;
    padding: 6.302vw 0;
    margin-top: 8.302vw;
    margin-bottom: 6.302vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about {
    margin-top: 20vw;
    background: url(/images/official/bg_about_sp.png) no-repeat top, #000000;
    background-size: 100%;
    padding: 23.467vw 0;
    margin-bottom: 23.467vw;
  }
}

.l-contents .content-main .sec-about::before {
  content: "";
  position: absolute;
  background: linear-gradient(0, #020202, transparent);
  width: 100%;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about::before {
    height: 10vw;
    top: -10.1vw;
    left: 0;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about::before {
    height: 20vw;
    top: -20.3vw;
    left: 0;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .ttl-sec {
    width: 20vw;
    margin: 0 auto;
    padding-bottom: 3.385vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .ttl-sec {
    width: 66%;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 10vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper {
    display: flex;
    flex-flow: nowrap;
    width: 73%;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .inner-wrapper {
    width: 95%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper .list-img {
    width: 35.625vw;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .inner-wrapper .list-img {
    width: 100%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper .list-img .pv:first-of-type {
    padding-bottom: 0.9vw;
  }
}

.l-contents .content-main .sec-about .inner-wrapper .list-img .slider-about {
  position: relative;
  z-index: 2;
  border: 1px solid #fff;
}

.l-contents .content-main .sec-about .inner-wrapper .list-img img {
  width: 100%;
  box-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper .subttl-sec {
    font-size: 1.865vw;
    padding: 1vw;
  }
  .l-contents .content-main .sec-about .inner-wrapper .subttl-sec::after {
    display: none;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .inner-wrapper .subttl-sec {
    margin-top: 2.5vw;
    font-size: 5.5vw;
    padding: 1.067vw;
  }
  .l-contents .content-main .sec-about .inner-wrapper .subttl-sec::after {
    display: none;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper .wrapper-tx {
    width: 35.625vw;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper .wrapper-tx .tx-catchcopy {
    text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .inner-wrapper .wrapper-tx .tx-catchcopy {
    padding: 5.467vw 0;
    width: 100%;
  }
}

.l-contents .content-main .sec-about .inner-wrapper .wrapper-tx .tx {
  font-weight: 600;
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .inner-wrapper .wrapper-tx .tx {
    font-size: 1.042vw;
    line-height: 2.2vw;
    padding: 1.2vw 0;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .inner-wrapper .wrapper-tx .tx {
    font-size: 3.733vw;
    line-height: 6vw;
    padding: 2vw 0;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system {
    display: flex;
    flex-flow: nowrap;
    width: 73%;
    margin: 0 auto;
    padding-top: 3.385vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system {
    width: 95%;
    margin: 0 auto;
    padding-top: 8.667vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system {
    width: 35.625vw;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system:first-of-type {
    padding-bottom: 8.667vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .subttl-sec {
    margin-bottom: 1.2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .subttl-sec {
    margin-bottom: 5.467vw;
  }
}

.l-contents .content-main .sec-about .wrapper-system .sec-system .adv-movie-item {
  outline: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .adv-movie-item {
    width: 35.625vw;
    height: auto;
    padding: 0.01vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .adv-movie-item {
    width: 100%;
    margin: 0 auto;
  }
}

.l-contents .content-main .sec-about .wrapper-system .sec-system .battle-movie-item {
  outline: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .battle-movie-item {
    width: 35.625vw;
    height: auto;
    padding: 0.01vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .battle-movie-item {
    width: 100%;
    margin: 0 auto;
  }
}

.l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy {
  position: relative;
  width: 90%;
  margin: 0 auto;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy {
    margin-top: -1.5vw;
  }
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy.two-rows {
    margin-top: -1.5vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy {
    margin-top: -4.5vw;
  }
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy.two-rows {
    margin-top: -4.5vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy .letter-space {
    letter-spacing: -0.3vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy .letter-space {
    letter-spacing: -0.6vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy .small-space-left {
    padding-left: 0.2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy .small-space-left {
    padding-left: 0.4vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy .small-space-right {
    padding-right: 0.2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-about .wrapper-system .sec-system .wrapper-inner-catchcopy .small-space-right {
    padding-right: 0.35vw;
  }
}

.l-contents .content-main .sec-datalink {
  border: 1px solid #fff;
  position: relative;
  background: rgba(0, 0, 0, 0.8);
  width: 73%;
  margin: 0 auto;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink {
    padding: 2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink {
    width: 100%;
    border: none;
    padding: 21.267vw 2.5vw;
  }
}

.l-contents .content-main .sec-datalink::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background: url(/images/official/bg_frame.png) no-repeat top;
  background-size: contain;
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink::before {
    background: url(/images/official/frame_01_sp.png) no-repeat top;
  }
}

.l-contents .content-main .sec-datalink::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  pointer-events: none;
  background: url(/images/official/bg_frame.png) no-repeat top;
  background-size: contain;
  transform: scale(-1, -1);
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink::after {
    content: none;
  }
}

.l-contents .content-main .sec-datalink .ttl-sec {
  position: relative;
  z-index: 10;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink .ttl-sec {
    width: 25vw;
    margin: -3vw auto 0;
    padding-bottom: 1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .ttl-sec {
    width: 70%;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 6vw;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper {
  position: relative;
  z-index: 10;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink .inner-wrapper {
    display: flex;
    flex-flow: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .inner-wrapper {
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .subttl-sec {
    font-size: 1.865vw;
    padding: 1vw;
    margin-bottom: 1vw;
  }
  .l-contents .content-main .sec-datalink .inner-wrapper .subttl-sec::after {
    display: none;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .subttl-sec {
    margin-top: 2.5vw;
    margin-bottom: 1em;
    font-size: 5.5vw;
    padding: 1.067vw;
  }
  .l-contents .content-main .sec-datalink .inner-wrapper .subttl-sec::after {
    display: none;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .subttl-sec--left {
    left: -2vw;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx {
  padding-bottom: 1.6em;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx {
    margin: 0 auto;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx .tx {
  font-weight: 600;
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
}

@media (min-width: 960px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx .tx {
    font-size: 1.042vw;
    line-height: 2.2vw;
    padding: 1.2vw 0;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx .tx {
    font-size: 3.733vw;
    line-height: 6vw;
    padding: 2vw 0;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx .tx .strong {
  font-size: 150%;
  display: block;
  line-height: 1.6;
}

.l-contents .content-main .sec-datalink .inner-wrapper .wrapper-tx .tx .caution {
  color: #d45a93;
  font-size: 80%;
  display: block;
}

.l-contents .content-main .sec-datalink .inner-wrapper .col1 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}

.l-contents .content-main .sec-datalink .inner-wrapper .col1 .wrapper-tx {
  width: 100%;
}

.l-contents .content-main .sec-datalink .inner-wrapper .col2 {
  display: flex;
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .col2 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper .col2 .wrapper-tx {
  width: 45%;
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .col2 .wrapper-tx {
    order: 2;
    width: unset;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper .col2 .wrapper-img {
  width: 55%;
  padding-left: 1vw;
}

@media (max-width: 959px) {
  .l-contents .content-main .sec-datalink .inner-wrapper .col2 .wrapper-img {
    order: 1;
    width: unset;
  }
}

.l-contents .content-main .sec-datalink .inner-wrapper .col2 .wrapper-img--pc {
  padding-left: 0;
  padding-right: 1vw;
}

.l-contents .content-main .wrapper-inner-content {
  background-color: #020202;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content {
    padding: 6.302vw 0;
    margin-top: 7vw;
    width: 100%;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content {
    padding: 23.467vw 0;
    margin-top: 23.467vw;
    width: 100%;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character {
    padding-bottom: 6.302vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character {
    width: 100%;
    padding-bottom: 23.467vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .ttl-sec {
    width: 28.906vw;
    margin: 0 auto;
    padding-bottom: 3.385vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .ttl-sec {
    text-align: center;
    padding-bottom: 10vw;
    width: 95%;
    margin: 0 auto;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character {
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character {
    background: url(/images/official/bg_character.png) no-repeat;
    background-attachment: fixed;
    background-size: cover;
    padding-top: 3.385vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character {
    background: url(/images/official/bg_character_sp.png) no-repeat;
    background-size: cover;
    width: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  background: url(/images/official/pattern_01.png) repeat;
}

.l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character {
  border: 1px solid #fff;
  position: relative;
  z-index: 2;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character {
    display: flex;
    flex-flow: nowrap;
    width: 73%;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character {
    display: flex;
    flex-flow: column;
    width: 95%;
    margin: 0 auto;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character {
  border-right: 1px solid #fff;
  line-height: 0;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character {
    width: 14.583vw;
    background: url(/images/official/bg_item_character.png) no-repeat;
    background-size: cover;
    transition: all 0.3s ease-in;
    overflow: hidden;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character {
    position: relative;
    border-bottom: 1px solid #fff;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:first-of-type {
    order: 3;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:nth-of-type(2) {
    order: 2;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:nth-of-type(3) {
    order: 1;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:nth-of-type(4) {
    order: 4;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:nth-of-type(5) {
    order: 5;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:hover {
    background: black;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character:hover .pic-character {
    transform: scale(1.1);
  }
}

.l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a {
  position: relative;
  display: block;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .pic-character {
    transition: all 0.3s ease-in-out;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .pic-character img {
    width: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .tx-character {
  position: absolute;
  font-weight: 900;
  word-break: break-all;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .tx-character {
    font-size: 1.719vw;
    width: 3.490vw;
    padding: 0.885vw 0;
    line-height: 3.557vw;
    right: 0;
    bottom: 0;
    writing-mode: vertical-rl;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .tx-character.cc {
    text-orientation: upright;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .tx-character.cc .left-space-1 {
    top: 0.9vw;
    position: absolute;
    left: 1vw;
  }
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .tx-character.cc .left-space-2 {
    bottom: 0.9vw;
    position: absolute;
    left: 1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-character .wrapper-character .list-character .item-character a .tx-character {
    font-size: 5.333vw;
    right: 0;
    bottom: 0;
    line-height: 7vw;
    padding: 1vw;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies {
  position: relative;
  border-top: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies {
    padding-top: 6.302vw;
    background: url(/images/official/deco_movies_01.png) no-repeat right center;
    background-size: 29vw;
    background-attachment: fixed;
    padding-bottom: 4vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies {
    padding-top: 23.467vw;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies:before {
    background: url(/images/official/bg_frame.png) no-repeat top;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies:before {
    background: url(/images/official/bg_frame_sp.png) no-repeat top;
    background-size: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies::after {
  content: "";
  position: absolute;
  background: linear-gradient(0, #020202, transparent);
  width: 100%;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies::after {
    height: 10vw;
    bottom: 0;
    left: 0;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies::after {
    height: 0;
    bottom: 0;
    left: 0;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies .ttl-sec {
  margin: 0 auto;
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .ttl-sec {
    width: 21.250vw;
    padding-bottom: 3.385vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .ttl-sec {
    text-align: center;
    padding-bottom: 10vw;
    width: 66%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider {
    display: flex;
    flex-flow: wrap;
    width: 73%;
    margin: 0 auto;
    position: relative;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider {
    width: 96%;
    margin: 0 auto;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies .media-slider:before {
  content: "";
  position: absolute;
  z-index: 0;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider:before {
    background: url(/images/official/deco_movies_02.png) no-repeat right bottom;
    width: 35%;
    height: 35%;
    right: -1.2vw;
    bottom: -1.2vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider:before {
    background: url(/images/official/deco_movies_02.png) no-repeat right bottom;
    width: 50%;
    height: 50%;
    bottom: -6vw;
    right: 0;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider {
  line-height: 0;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider {
    width: 22.5vw;
    margin: 0.625vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider {
    width: 99%;
    padding: 1vw 1vw;
  }
}

.l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider a {
  display: block;
  border: 1px solid #fff;
  overflow: hidden;
  background-color: #000000;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider a {
    width: 22.5vw;
    height: 12.5vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider a {
    height: 52.5vw;
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .item-slider a img {
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-dots {
    text-align: center;
    padding: 0;
    position: relative;
    z-index: 1;
    margin-top: 2vw;
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-dots li {
    display: inline-block;
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-dots button {
    padding: 0;
    outline: none;
    width: 10vw;
    height: 1vw;
    background-color: #000000;
    color: transparent;
    -webkit-appearance: none;
    border: 1px solid #fff;
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-dots .slick-active button {
    background-color: #fff;
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-arrow {
    position: absolute;
    z-index: 11;
    top: 45%;
    outline: none;
    cursor: pointer;
    transition: all 0.3s;
    width: 13vw;
    height: auto;
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-arrow.next-arrow {
    right: 1vw;
    transform: translate(0, -50%);
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-arrow.prev-arrow {
    left: 1vw;
    transform: translate(0, -50%);
  }
  .l-contents .content-main .wrapper-inner-content .sec-movies .media-slider .slick-track {
    height: 53.689vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two {
    display: flex;
    flex-flow: nowrap;
    width: 73%;
    margin: 0 auto;
    padding: 6.302vw 0;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two {
    padding: 23.467vw 0;
    width: 95%;
    margin: 0 auto;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-twitter {
  border: 1px solid #fff;
  position: relative;
  background: url(/images/official/bg_twitter.png) no-repeat right center, rgba(255, 255, 255, 0.6);
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter {
    width: 35.625vw;
    margin: 0 auto;
    background-size: 21.354vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter {
    margin-bottom: 24.667vw;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-twitter:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter:before {
    background: url(/images/official/frame_01.png) no-repeat;
    background-size: 35.469vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter:before {
    background: url(/images/official/frame_01_sp.png) no-repeat;
    background-size: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-twitter:after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter:after {
    background: url(/images/official/frame_02.png) no-repeat bottom;
    background-size: 35.469vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter:after {
    background: url(/images/official/frame_02_sp.png) no-repeat bottom;
    background-size: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-twitter .ttl-sec {
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .ttl-sec {
    width: 19.167vw;
    margin: 0 auto;
    margin-top: -1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .ttl-sec {
    width: 64.400vw;
    margin: 0 auto;
    margin-top: -4.5vw;
    text-align: center;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner {
  background: url(/images/official/pic_twitter.png) no-repeat top center;
  background-size: 100%;
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner {
    width: 73%;
    margin: 0 auto;
    padding: 5.8vw 0;
    margin-bottom: 1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner {
    width: 85%;
    margin: 0 auto;
    padding-bottom: 22vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner .wrapper-inner-catchcopy {
    width: 80%;
    margin: 0 auto;
    margin-top: 8vw;
    padding-bottom: 1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner .wrapper-inner-catchcopy {
    width: 60%;
    margin: 0 auto;
    margin-top: 2vw;
    padding-top: 35vw;
    padding-bottom: 4.267vw;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner .widget {
  position: relative;
  border: 1px solid #fff;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner .widget {
    width: 100%;
    height: 24vw;
    overflow: hidden;
    margin-bottom: 1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-twitter .wrapper-inner .widget {
    height: 77.333vw;
    overflow: hidden;
    width: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-staff {
  border: 1px solid #fff;
  position: relative;
  background: url(/images/official/bg_staff.png) no-repeat left center, rgba(255, 255, 255, 0.6);
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff {
    width: 35.625vw;
    margin: 0 auto;
    background-size: 21.354vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff {
    padding-bottom: 21.267vw;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-staff:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff:before {
    background: url(/images/official/frame_01.png) no-repeat;
    transform: scaleX(-1);
    background-size: 35.469vw;
    left: -0.02vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff:before {
    background: url(/images/official/frame_01_sp.png) no-repeat;
    transform: scaleX(-1);
    background-size: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-staff:after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  pointer-events: none;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff:after {
    background: url(/images/official/frame_02.png) no-repeat bottom;
    transform: scaleX(-1);
    background-size: 35.469vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff:after {
    background: url(/images/official/frame_02_sp.png) no-repeat bottom;
    transform: scaleX(-1);
    background-size: 100%;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-staff .ttl-sec {
  position: relative;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .ttl-sec {
    width: 18.542vw;
    margin: 0 auto;
    margin-top: -1vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .ttl-sec {
    width: 71%;
    margin: 0 auto;
    margin-top: -4.5vw;
    text-align: center;
    padding-bottom: 10vw;
  }
}

.l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff {
  color: #000000;
  font-weight: 900;
  text-align: center;
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff {
    padding: 3.385vw 0;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff .item-staff {
    padding-bottom: 1.823vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff .item-staff {
    padding-bottom: 4.267vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff .item-staff dt {
    font-size: 1.458vw;
    line-height: 1.4vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff .item-staff dt {
    font-size: 4.267vw;
    line-height: 3.5vw;
  }
}

@media (min-width: 960px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff .item-staff dd {
    font-size: 1.823vw;
  }
}

@media (max-width: 959px) {
  .l-contents .content-main .wrapper-inner-content-two .sec-staff .list-staff .item-staff dd {
    font-size: 5.333vw;
  }
}

.l-contents .content-main .wrapper-inner-content-two .frame-line-horizontal div, .l-contents .content-main .wrapper-inner-content-two .frame-line-vertical div {
  z-index: 1;
}

.l-contents .bg-movie {
  background-color: #020202;
}

@media (min-width: 960px) {
  .l-contents .bg-movie {
    position: fixed;
    display: flex;
    bottom: 0;
    overflow: hidden;
    justify-content: center;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(/images/official/pic_tmb.jpg) no-repeat top;
    background-size: cover;
  }
}

@media (max-width: 959px) {
  .l-contents .bg-movie {
    position: fixed;
    display: flex;
    justify-content: center;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(/images/official/pic_tmb.jpg) no-repeat top;
    background-size: cover;
    z-index: -1;
  }
}

@media (min-width: 960px) {
  .l-contents .bg-movie .bg-movie-item {
    display: block;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 959px) {
  .l-contents .bg-movie .bg-movie-item {
    display: block;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
  }
}

.l-contents .bg-movie:before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: url(/images/official/pattern_01.png) repeat;
}

.l-contents .iframe-wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.l-contents .iframe-wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* --- project _error.scss --- */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.p-article .april-container {
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  color: #fff;
  letter-spacing: 0.1em;
  animation: fadeIn 1s ease-in;
  overflow: hidden;
}

@media (min-width: 960px) {
  .p-article .april-container {
    min-width: 1200px;
  }
}

.p-article .april-container img {
  vertical-align: bottom;
}

.p-article .april-container .sec-fv {
  position: relative;
  display: flex;
  justify-content: center;
}

@media (min-width: 960px) {
  .p-article .april-container .sec-fv {
    height: 850px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .sec-fv {
    height: 140.27vw;
    position: relative;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .sec-fv .tx-fv {
    position: absolute;
    bottom: 0;
    width: 1920px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .sec-fv .tx-fv {
    width: 100vw;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper {
    width: 882px;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper {
    padding: 0 2.67vw;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .recruit-tx {
    padding: 100px 0 112px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .recruit-tx {
    padding: 16vw 0 4vw;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .ttl {
    height: 119px;
    width: auto;
    margin-bottom: 40px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .ttl {
    height: 14.6vw;
    width: auto;
    margin-bottom: 8vw;
  }
}

.p-article .april-container .april-wrapper .area-list {
  position: relative;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .area-list.recruit {
    width: 426px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .area-list.recruit {
    width: 49%;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .area-list.help {
    margin-top: 30px;
    width: 882px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .area-list.help {
    margin-top: 2.67vw;
    width: 100%;
  }
}

.p-article .april-container .april-wrapper .area-list.topics {
  width: 100%;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .area-list.topics {
    font-size: 32px;
    font-weight: 700;
    padding: 15px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .area-list.topics {
    font-size: 3.47vw;
    font-weight: 700;
    padding: 2vw 0;
    letter-spacing: 0;
  }
}

.p-article .april-container .april-wrapper .area-list.song {
  width: 100%;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .area-list.song {
    font-size: 32px;
    font-weight: 700;
    padding: 15px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .area-list.song {
    font-size: 3.47vw;
    font-weight: 700;
    padding: 2vw 0;
    letter-spacing: 0;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .area-list.event {
    margin-top: 80px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .area-list.event {
    margin-top: 10.67vw;
  }
}

.p-article .april-container .april-wrapper .sect-recruit {
  text-align: center;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-recruit {
    font-size: 21px;
    font-weight: 600;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-recruit {
    margin-top: 9.33vw;
  }
}

.p-article .april-container .april-wrapper .sect-recruit .recruit-ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-recruit .recruit-ul {
    margin-bottom: 40px;
  }
  .p-article .april-container .april-wrapper .sect-recruit .recruit-ul li img:hover {
    display: block;
    transform: scale(0.99);
    transition: 0.3s ease;
    cursor: pointer;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-recruit .recruit-ul {
    margin: 4vw 0 2.67vw;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-recruit .recruit-img {
    margin: 40px 0;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-recruit .recruit-img {
    margin: 2.67vw 0;
  }
}

.p-article .april-container .april-wrapper .sect-topics {
  text-align: center;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-topics {
    margin-top: 90px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-topics {
    margin-top: 9.33vw;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-topics .topics-img {
    margin-bottom: 20px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-topics .topics-img {
    margin-bottom: 12.33vw;
  }
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-topics .topics-img-02 {
    margin-bottom: 60px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-topics .topics-img-02 {
    margin-bottom: 6.33vw;
  }
}

.p-article .april-container .april-wrapper .sect-movie {
  text-align: center;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-movie {
    margin-top: 95px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-movie {
    margin-top: 9.33vw;
  }
}

.p-article .april-container .april-wrapper .sect-movie .movie-frame {
  position: relative;
  margin: auto;
}

.p-article .april-container .april-wrapper .sect-movie .movie-frame .movie {
  position: absolute;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .sect-movie .movie-frame .movie {
    top: 12px;
    left: 10px;
    right: 10px;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .sect-movie .movie-frame .movie {
    width: 96%;
    height: 92%;
    top: 2vw;
    left: 2vw;
    right: 2vw;
  }
}

.p-article .april-container .april-wrapper .tx-caution {
  text-align: center;
}

@media (min-width: 960px) {
  .p-article .april-container .april-wrapper .tx-caution {
    font-size: 25px;
    padding: 90px 0;
  }
}

@media (max-width: 959px) {
  .p-article .april-container .april-wrapper .tx-caution {
    font-size: 3.34vw;
    padding: 10.67vw 0;
  }
}

/* --- project _error.scss --- */
@media (min-width: 960px) {
  .p-article .l-article {
    min-height: calc(103vh - 164.38px);
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
  }
  .p-article .l-article:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -3;
    background: url(/images/official/bg_top_2.png) no-repeat top center;
    background-size: cover;
  }
  .p-article .l-article:after {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_mainvisual_00.jpg) no-repeat center center;
    background-size: cover;
    opacity: 0.3;
  }
}

@media (max-width: 959px) {
  .p-article .l-article {
    min-height: calc(100vh - 90px);
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding-bottom: 2vw;
    align-self: center;
    position: relative;
  }
  .p-article .l-article:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_main_sp.png) no-repeat center center;
    background-size: cover;
  }
}

@media (min-width: 960px) {
  .p-article .l-article .sec-content {
    padding-top: 92px;
    display: flex;
    flex-flow: column;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .p-article .l-article .sec-content {
    width: 90%;
    display: flex;
    flex-flow: column;
    margin: 0 auto;
    text-align: center;
  }
}

.p-article .l-article .sec-content .subttl-sec {
  margin: 0 auto;
  background-color: #fff;
  text-align: center;
  color: #000000;
}

.p-article .l-article .sec-content .subttl-sec::after {
  display: none;
}

@media (min-width: 960px) {
  .p-article .l-article .sec-content .subttl-sec {
    padding: 1.067vw;
  }
}

@media (max-width: 959px) {
  .p-article .l-article .sec-content .subttl-sec {
    margin-top: 16.577vw;
  }
}

.p-article .l-article .sec-content .tx-article {
  color: #fff;
  font-weight: 900;
}

@media (min-width: 960px) {
  .p-article .l-article .sec-content .tx-article {
    font-size: 26px;
    padding-bottom: 92px;
    padding-top: 65px;
  }
}

@media (max-width: 959px) {
  .p-article .l-article .sec-content .tx-article {
    margin-top: 10vw;
    padding-bottom: 5vw;
    font-size: 20px;
  }
}

.p-article .l-article .sec-content .widget {
  border: 1.5px solid #fff;
  background: rgba(0, 0, 0, 0.5);
  box-shadow: 3px 0 9px 3px rgba(236, 206, 254, 0.5);
}

@media (min-width: 960px) {
  .p-article .l-article .sec-content .widget {
    width: 40%;
    margin: 0 auto;
    height: 30.208vw;
    overflow: hidden;
    margin-bottom: 92px;
  }
}

@media (max-width: 959px) {
  .p-article .l-article .sec-content .widget {
    height: 77.333vw;
    overflow: hidden;
    width: 100%;
    margin-bottom: 13vw;
  }
}

.p-article .l-article .sec-content .btn-c {
  text-align: center;
}

.popup {
  background-color: transparent;
  overflow: visible;
}

.popup .page-chara-popup {
  background-color: transparent;
}

@media (min-width: 960px) {
  .popup .page-chara-popup {
    min-height: 785px;
    margin: auto;
    animation: blur 0.4s forwards;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup {
    min-height: 210.600vw;
    margin: 0 auto;
    animation: blur 0.4s forwards;
  }
}

@media (max-width: 959px) and (max-width: 959px) {
  .popup .page-chara-popup {
    overflow: hidden;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup.character-01 {
    background: url(/images/official/bg_chara_01.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup.character-01 {
    background: url(/images/official/bg_chara_01_sp.png) no-repeat top;
    background-size: contain;
    background-position-y: 5.7333vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup.character-02 {
    background: url(/images/official/bg_chara_02.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup.character-02 {
    background: url(/images/official/bg_chara_02_sp.png) no-repeat top;
    background-size: contain;
    background-position-y: 5.7333vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup.character-03 {
    background: url(/images/official/bg_chara_03.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup.character-03 {
    background: url(/images/official/bg_chara_03_sp.png) no-repeat top;
    background-size: contain;
    background-position-y: 5.7333vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup.character-04 {
    background: url(/images/official/bg_chara_04.png) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup.character-04 {
    background: url(/images/official/bg_chara_04_sp.png) no-repeat top;
    background-size: contain;
    background-position-y: 5.7333vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup.character-05 {
    background: url(/images/official/bg_chara_05.png?20211213) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup.character-05 {
    background: url(/images/official/bg_chara_05_sp.png?20211213) no-repeat top;
    background-size: contain;
    background-position-y: 5.7333vw;
  }
}

.popup .page-chara-popup.character-06 {
  animation: blur 0.3s forwards;
}

@media (min-width: 960px) {
  .popup .page-chara-popup.character-06 {
    background: url(/images/official/bg_chara_06.png?20211213) no-repeat top;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup.character-06 {
    background: url(/images/official/bg_chara_06_sp.png?20211213) no-repeat top;
    background-size: contain;
    background-position-y: 5.7333vw;
  }
}

.popup .page-chara-popup.character-05, .popup .page-chara-popup.character-06 {
  display: none;
}

.popup .page-chara-popup.character-05.is-active, .popup .page-chara-popup.character-06.is-active {
  display: block;
}

.popup .page-chara-popup .pic {
  opacity: 0;
  animation: blur 0.4s forwards;
  animation-delay: 0.45s;
  position: absolute;
  top: 0;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .pic {
    top: 20px;
    left: -50px;
    z-index: 4;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .pic {
    top: -30vw;
    left: 0;
    width: 43.733vw;
    z-index: 1;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .pic.character-02-details {
    top: 50px;
    left: -100px;
    z-index: 4;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .pic.character-02-details {
    width: 60vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .pic.character-06-details {
    top: 50px;
    left: -100px;
    z-index: 4;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .pic.character-06-details {
    width: 60vw;
  }
}

.popup .page-chara-popup .wrapper-chara-info {
  font-weight: 900;
  position: relative;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info {
    width: 960px;
    margin: 0 auto;
    color: #fff;
    padding-top: 250px;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info {
    width: 100%;
    margin-top: 60.467vw;
  }
}

.popup .page-chara-popup .wrapper-chara-info .wrapper-inner {
  display: flex;
  flex-flow: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  width: 95%;
  margin: 0 auto;
}

.popup .page-chara-popup .wrapper-chara-info .wrapper-inner .btn-change {
  animation: blur 1s forwards;
  animation-delay: 0.8s;
  opacity: 0;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner .btn-change {
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    position: relative;
    top: 0;
  }
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner .btn-change:hover {
    top: 5px;
  }
}

.popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy {
  animation: blur 1s forwards;
  animation-delay: 0.8s;
  opacity: 0;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy {
    width: 55%;
    margin-left: auto;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy {
    position: relative;
    z-index: 3;
    width: 90%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy.character-04 {
    width: 30%;
    margin-right: 250px;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy.character-04 {
    width: 50%;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy .tx-catchcopy {
    font-size: 32px;
    line-height: unset;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy .tx-catchcopy .small {
    font-size: 22px;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy .tx-catchcopy:first-of-type {
    text-align: left;
    margin-left: -50px;
  }
}

.popup .page-chara-popup .wrapper-chara-info .wrapper-inner-catchcopy .tx-catchcopy:last-of-type {
  text-align: right;
}

.popup .page-chara-popup .wrapper-chara-info .tx-chara-info {
  position: relative;
  color: 　transparent;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info {
    display: flex;
    flex-flow: nowrap;
    align-items: flex-end;
    width: fit-content;
    width: -moz-fit-content;
    padding: 5px 14px;
    margin-left: 34px;
    margin-top: 68px;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0%;
    right: 100%;
    background-color: #000000;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info.start-animation {
    animation: end 1s forwards;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info.start-animation:before {
    animation: start 1s ease-in-out;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info {
    position: relative;
    z-index: 3;
    width: 95%;
    margin: 0 auto;
    display: flex;
    flex-flow: column-reverse;
    margin-top: 6.667vw;
    margin-bottom: 3.067vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info.character-02 .tx-name {
    line-height: 3.3vw;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-name {
    font-size: 45px;
    padding-left: 110px;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-name {
    position: relative;
    width: fit-content;
    width: -moz-fit-content;
    font-size: 5.333vw;
    padding: 1vw 2.400vw;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-name:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0%;
    right: 100%;
    background-color: #000000;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-name.start-animation-sp {
    animation: end 1s forwards;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-name.start-animation-sp:before {
    animation: start 1s ease-in-out;
  }
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-cv {
    font-size: 28px;
    padding-left: 5px;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-cv {
    background-color: #fff;
    width: fit-content;
    width: -moz-fit-content;
    font-size: 3.733vw;
    padding: 1vw 2.400vw;
    margin-bottom: 1.333vw;
    position: relative;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-cv:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0%;
    right: 100%;
    background-color: #000000;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-cv.start-animation-sp {
    animation: end 1s forwards;
  }
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-info .tx-cv.start-animation-sp:before {
    animation: start 1s ease-in-out;
  }
}

.popup .page-chara-popup .wrapper-chara-info .tx-chara-intro {
  border-top: 1px solid #fff;
  background: url(/images/official/bg_chara_intro.png) no-repeat center bottom;
  animation: blur 1s forwards;
  animation-delay: 0.8s;
  opacity: 0;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-intro {
    min-height: 277px;
    width: 83%;
    margin-left: auto;
    margin-top: 15px;
    background-size: contain;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-intro {
    position: relative;
    z-index: 3;
    width: 95%;
    margin: 0 auto;
    min-height: 77.867vw;
    background-size: 70%;
  }
}

.popup .page-chara-popup .wrapper-chara-info .tx-chara-intro p {
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px, #000000 6px 0 10px, #000000 -4px 0 10px;
}

@media (min-width: 960px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-intro p {
    font-size: 20px;
    line-height: 40px;
  }
}

@media (max-width: 959px) {
  .popup .page-chara-popup .wrapper-chara-info .tx-chara-intro p {
    padding-top: 2vw;
    font-size: 3.733vw;
    line-height: 6vw;
  }
}

.fancybox-slide {
  padding: 0 !important;
}

.fancybox-content {
  padding: 0 !important;
  background: transparent !important;
  cursor: default !important;
}

.btn-close {
  background: none;
}

@media (min-width: 960px) {
  .btn-close {
    width: 65px;
    height: 65px;
    margin-top: 1vw;
    margin-right: 1vw;
  }
}

@media (max-width: 959px) {
  .btn-close {
    width: 15.067vw;
    height: 15.067vw;
    margin-top: 3.733vw;
    margin-right: 3.733vw;
  }
}

@keyframes start {
  0% {
    left: 0%;
    right: 100%;
  }
  50% {
    left: 0%;
    right: 0%;
  }
  100% {
    left: 100%;
    right: 0%;
  }
}

@keyframes end {
  0%, 50% {
    color: transparent;
    background-color: transparent;
  }
  50.00001%, 100% {
    color: black;
    background-color: #fff;
  }
}

@keyframes blur {
  0% {
    -webkit-filter: blur(50px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
  }
}

/* --- project _error.scss --- */
@media (min-width: 960px) {
  .p-article .l-regist {
    min-height: calc(103vh - 164.38px);
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
  }
  .p-article .l-regist:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -3;
    background: url(/images/official/bg_top_2.png) no-repeat top center;
    background-size: cover;
  }
  .p-article .l-regist:after {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_mainvisual_00.jpg) no-repeat center center;
    background-size: cover;
    opacity: 0.3;
  }
}

@media (max-width: 959px) {
  .p-article .l-regist {
    min-height: calc(100vh - 90px);
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding-bottom: 2vw;
    align-self: center;
    position: relative;
  }
  .p-article .l-regist:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_main_sp.png) no-repeat center center;
    background-size: cover;
  }
}

@media (min-width: 960px) {
  .p-article .l-regist.finish:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -3;
    background: url(/images/official/bg_finish.jpg) no-repeat top;
    background-size: cover;
    opacity: 0.6;
  }
  .p-article .l-regist.finish:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: url(/images/official/pattern_01.png) repeat center center;
    opacity: 0.5;
  }
}

@media (max-width: 959px) {
  .p-article .l-regist.finish:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_finish_sp.jpg) no-repeat top;
    background-size: cover;
    opacity: 0.6;
  }
  .p-article .l-regist.finish:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: url(/images/official/pattern_01.png) repeat center center;
    opacity: 0.5;
  }
}

@media (min-width: 960px) {
  .p-article .l-regist .sec-content {
    padding-top: 92px;
    display: flex;
    flex-flow: column;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .p-article .l-regist .sec-content {
    width: 90%;
    display: flex;
    flex-flow: column;
    margin: 0 auto;
    text-align: center;
  }
}

.p-article .l-regist .sec-content .subttl-sec {
  margin: 0 auto;
  background-color: #fff;
  text-align: center;
  color: #000000;
}

.p-article .l-regist .sec-content .subttl-sec::after {
  display: none;
}

@media (max-width: 959px) {
  .p-article .l-regist .sec-content .subttl-sec {
    margin-top: 16.577vw;
    padding: 1.067vw;
  }
}

.p-article .l-regist .sec-content .tx-article {
  color: #fff;
  font-weight: 900;
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
}

@media (min-width: 960px) {
  .p-article .l-regist .sec-content .tx-article {
    font-size: 26px;
    padding-bottom: 92px;
    padding-top: 65px;
  }
}

@media (max-width: 959px) {
  .p-article .l-regist .sec-content .tx-article {
    margin-top: 10vw;
    padding-bottom: 5vw;
    font-size: 20px;
  }
}

.p-article .l-regist .sec-content .widget {
  border: 1.5px solid #fff;
  background: rgba(0, 0, 0, 0.5);
  box-shadow: 3px 0 9px 3px rgba(236, 206, 254, 0.5);
}

@media (min-width: 960px) {
  .p-article .l-regist .sec-content .widget {
    width: 40%;
    margin: 0 auto;
    height: 30.208vw;
    overflow: hidden;
    margin-bottom: 92px;
  }
}

@media (max-width: 959px) {
  .p-article .l-regist .sec-content .widget {
    height: 77.333vw;
    overflow: hidden;
    width: 100%;
    margin-bottom: 13vw;
  }
}

.p-article .l-regist .sec-content .btn-c {
  text-align: center;
}

/* --- project _error.scss --- */
.p-article .l-terms {
  word-break: break-all;
}

@media (min-width: 960px) {
  .p-article .l-terms {
    min-height: calc(103vh - 164.38px);
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
  }
  .p-article .l-terms:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -3;
    background: url(/images/official/bg_top_2.png) no-repeat top center;
    background-size: cover;
  }
  .p-article .l-terms:after {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_mainvisual_00.jpg) no-repeat center center;
    background-size: cover;
    opacity: 0.3;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms {
    min-height: calc(100vh - 90px);
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding-bottom: 2vw;
    align-self: center;
    position: relative;
  }
  .p-article .l-terms:before {
    content: "";
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: url(/images/official/bg_main_sp.png) no-repeat center center;
    background-size: cover;
  }
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content {
    padding-top: 92px;
    display: flex;
    flex-flow: column;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms .sec-content {
    width: 100%;
    display: flex;
    flex-flow: column;
    margin: 0 auto;
    text-align: center;
  }
}

.p-article .l-terms .sec-content .subttl-sec {
  margin: 0 auto;
  background-color: #fff;
  text-align: center;
  color: #000000;
}

.p-article .l-terms .sec-content .subttl-sec::after {
  display: none;
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .subttl-sec {
    margin-bottom: 65px;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms .sec-content .subttl-sec {
    margin-top: 16.577vw;
    padding: 1.067vw;
    margin-bottom: 10vw;
  }
}

.p-article .l-terms .sec-content .wrapper-article {
  background: rgba(0, 0, 0, 0.7);
  text-align: left;
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .wrapper-article {
    width: 80%;
    margin: 0 auto;
    padding: 75px;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms .sec-content .wrapper-article {
    width: 95%;
    margin: 0 auto;
    padding: 10vw 4vw 10vw 9vw;
  }
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .wrapper-article .ttl-inner {
    font-size: 35px;
  }
}

.p-article .l-terms .sec-content .wrapper-article a {
  color: #9d1d2e;
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .wrapper-article a:hover {
    color: #fff;
  }
}

.p-article .l-terms .sec-content .wrapper-article .tx-article {
  color: #fff;
  font-weight: 600;
  text-shadow: #000000 6px 0 10px, #000000 -4px 0 10px;
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .wrapper-article .tx-article {
    font-size: 21px;
    padding-bottom: 65px;
    padding-top: 35px;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms .sec-content .wrapper-article .tx-article {
    margin-top: 3vw;
    padding-bottom: 10vw;
    font-size: 3.733vw;
    line-height: 6vw;
  }
}

.p-article .l-terms .sec-content .wrapper-article ul {
  list-style: decimal;
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .wrapper-article ul li {
    padding-bottom: 20px;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms .sec-content .wrapper-article ul li {
    padding-bottom: 3vw;
  }
}

.p-article .l-terms .sec-content .wrapper-article ul li:last-of-type {
  padding-bottom: 0;
}

.p-article .l-terms .sec-content .btn-c {
  text-align: center;
}

@media (min-width: 960px) {
  .p-article .l-terms .sec-content .btn-c {
    margin-top: 65px;
    margin-bottom: 121px;
  }
}

@media (max-width: 959px) {
  .p-article .l-terms .sec-content .btn-c {
    width: 95%;
    margin: 0 auto;
    margin-top: 5vw;
    margin-bottom: 10vw;
  }
}
