@charset "utf-8";


/******************************************
 * フォント
 *****************************************/


/******************************************
 * リセット
 *****************************************/
* { margin: 0; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }
body {
  position: relative;
  font-family: 'Roboto Condensed', 'Noto Sans JP', 'メイリオ', 'Meiryo', sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: #000;
}

h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, 
dl, dt, dd, ol, ul, 
table, caption, tbody, tfoot, thead, tr, th, td {
  font-size: 100%;
  font-weight: normal;
  line-height: 150%;
}

ul, ol {  list-style: none; }
img { vertical-align: bottom; border: none; max-width: 100%; height: auto; }
table { border-collapse: collapse; }
strong { font-weight: bold; }
em { font-style: normal; font-weight: normal; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none;  vertical-align: top; }
a { text-decoration: none; color: inherit; }

@media screen and (min-width: 769px) {
  body {
    min-width: 1240px;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 20px;
  }
  body {
    min-width: 320px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 640px) {
  html {
    font-size: 3.125vw;
  }
  body {
    font-size: 1rem;
  }
}


/******************************************
 * 汎用クラス
 *****************************************/
.hidden { display: none; }

.clearfix:after { content: ""; display: block; clear: both; }

.hover {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
}
.hover:hover { opacity: 0.75; }

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}

.font-mincho { font-family: 'Kozuka Mincho Pro', 'Kozuka Mincho Std', '小塚明朝 Pro R', '小塚明朝 Std R', 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGP明朝E','ＭＳ Ｐ明朝','ＭＳ 明朝','MS PMincho',serif; }
.fontB { font-weight: bold; }

.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }

.animation03 { position: relative; top: 10px; opacity: 0; }

@media screen and (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

/* glitch */
.glitch:after,
.glitch:before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: inherit;
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  text-align: center;
  opacity: 0;
}
.glitch:after {
  margin-left: -.1em;
  text-shadow: -1px 0 red;
  animation: noise-anim 2s infinite linear alternate-reverse;
}
.glitch:before {
  margin-left: .1em;
  text-shadow: 1px 0 blue;
  animation: noise-anim-2 3s infinite linear alternate-reverse;
}
a.current .glitch:after,
a:hover .glitch:after,
a.current .glitch:before,
a:hover .glitch:before {
  opacity: .5;
}

@media screen and (max-width: 768px) {
  .glitch:after,
  .glitch:before {
    content: none;
  }
}

@keyframes noise-anim {
  0% {
    clip: rect(77px, 9999px, 6px, 0);
  }
  5% {
    clip: rect(65px, 9999px, 70px, 0);
  }
  10% {
    clip: rect(82px, 9999px, 82px, 0);
  }
  15% {
    clip: rect(32px, 9999px, 35px, 0);
  }
  20% {
    clip: rect(31px, 9999px, 49px, 0);
  }
  25% {
    clip: rect(18px, 9999px, 46px, 0);
  }
  30% {
    clip: rect(94px, 9999px, 64px, 0);
  }
  35% {
    clip: rect(69px, 9999px, 31px, 0);
  }
  40% {
    clip: rect(6px, 9999px, 72px, 0);
  }
  45% {
    clip: rect(25px, 9999px, 35px, 0);
  }
  50% {
    clip: rect(82px, 9999px, 26px, 0);
  }
  55% {
    clip: rect(7px, 9999px, 92px, 0);
  }
  60% {
    clip: rect(54px, 9999px, 30px, 0);
  }
  65% {
    clip: rect(86px, 9999px, 90px, 0);
  }
  70% {
    clip: rect(38px, 9999px, 65px, 0);
  }
  75% {
    clip: rect(41px, 9999px, 66px, 0);
  }
  80% {
    clip: rect(31px, 9999px, 37px, 0);
  }
  85% {
    clip: rect(8px, 9999px, 12px, 0);
  }
  90% {
    clip: rect(50px, 9999px, 69px, 0);
  }
  95% {
    clip: rect(7px, 9999px, 42px, 0);
  }
  100% {
    clip: rect(14px, 9999px, 57px, 0);
  }
}

@keyframes noise-anim-2 {
  0% {
    clip: rect(18px, 9999px, 13px, 0);
  }
  5% {
    clip: rect(74px, 9999px, 51px, 0);
  }
  10% {
    clip: rect(33px, 9999px, 65px, 0);
  }
  15% {
    clip: rect(64px, 9999px, 66px, 0);
  }
  20% {
    clip: rect(75px, 9999px, 6px, 0);
  }
  25% {
    clip: rect(40px, 9999px, 49px, 0);
  }
  30% {
    clip: rect(71px, 9999px, 1px, 0);
  }
  35% {
    clip: rect(42px, 9999px, 73px, 0);
  }
  40% {
    clip: rect(92px, 9999px, 57px, 0);
  }
  45% {
    clip: rect(4px, 9999px, 33px, 0);
  }
  50% {
    clip: rect(4px, 9999px, 34px, 0);
  }
  55% {
    clip: rect(49px, 9999px, 25px, 0);
  }
  60% {
    clip: rect(24px, 9999px, 44px, 0);
  }
  65% {
    clip: rect(31px, 9999px, 99px, 0);
  }
  70% {
    clip: rect(54px, 9999px, 83px, 0);
  }
  75% {
    clip: rect(57px, 9999px, 97px, 0);
  }
  80% {
    clip: rect(3px, 9999px, 15px, 0);
  }
  85% {
    clip: rect(84px, 9999px, 34px, 0);
  }
  90% {
    clip: rect(100px, 9999px, 88px, 0);
  }
  95% {
    clip: rect(91px, 9999px, 59px, 0);
  }
  100% {
    clip: rect(10px, 9999px, 87px, 0);
  }
}

/* slider */
.slider :focus {
  outline: none;
}

/* inview */
.inview {
  opacity: 0;
  transition: opacity 1s ease .3s;
}
.inview.oninview {
  opacity: 1;
}

/******************************************
 * webkit スクロールバー
 *****************************************/
/*スクロールバー全体*/
.scroll::-webkit-scrollbar {
    width: 8px;
}

/*スクロールバーの軌道*/
.scroll::-webkit-scrollbar-track {
  /*border-radius: 10px;*/
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}

/*スクロールバーの動く部分*/
.scroll::-webkit-scrollbar-thumb {
  background-color: rgba(78, 71, 58, 0.68);
  /*border-radius: 10px;*/
  /*box-shadow:0 0 0 1px rgba(255, 255, 255, .3);*/
}

/******************************************
 * 共通部分レイアウト
 *****************************************/

/* page-header  *****************************************/
.page-header {
  position: fixed;
  width: 100%;
  left: 0;
  z-index: 9999;
}

@media screen and (min-width: 769px) {
  .page-header {
    min-width: 1240px;
    top: 0;
  }
}
@media screen and (max-width: 768px) {
  .page-header {
    bottom: 0;
  }
}

/* gnav  *****************************************/
.gnav {
  counter-reset: count-new;
}
.gnav .disable {
  pointer-events: none;
  opacity: .3;
}
.gnav-list > ul > li {
  position: relative;
}
.gnav-list > ul > li:before,
.gnav-list > ul > li:after {
  position: absolute;
  display: block;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #00d5ff;
}
.gnav-list > ul > li:before {
  content: "";
  left: -1px;
}
.gnav-list > ul > li:last-child:after {
  content: "";
  right: -1px;
}
.gnav-list > ul > li > a {
  position: relative;
  display: block;
  font-size: 20px;
  font-weight: bold;
  padding: 0 1.25em;
  white-space: nowrap;
}
.gnav-list > ul > li > a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  margin-top: 1px;
  border-top: 1px solid;
  transform: translateX(-50%);
  transition: width .3s ease;
}
.gnav-list > ul > li .icon-new {
  position: absolute;
  display: block;
  line-height: 1.2;
  padding: 0 .25em;
  font-style: normal;
  color: #000;
  text-align: center;
  background: #00d5ff;
  counter-increment: count-new;
}
.gnav-list > ul > li .icon-new:before {
  content: "NEW";
}

.sns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: no-repeat right center / cover;
}
.sns-caption {
  width: 80px;
  padding: 0 15px;
}
.sns-list {
  transition: all .5s ease;
}
.sns-list ul {
  display: flex;
  justify-content: space-between;
}

.login-caption {
  width: 80px;
  padding: 0 15px;
}

@media screen and (min-width: 769px) {
  .btn-gnav {
    display: none;
  }
  .gnav-list {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1106px;
    height: 117px;
    background: url(../images/bg-nav-01.png) no-repeat center center / contain;
    transform: translateX(-50%);
  }
  .gnav-list > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 720px;
    height: 70px;
    margin: 0 auto;
  }
  .gnav-list > ul > li > a.current,
  .gnav-list > ul > li > a:hover {
    color: #00d5ff;
  }
  .gnav-list > ul > li > a.current:before,
  .gnav-list > ul > li > a:hover:before {
    width: 100%;
  }
  .gnav-list > ul > li .icon-new {
    display: none;
  }
  .sns {
    position: absolute;
    top: 0;
    left: 0;
    height: 97px;
    padding: 0 45px 17px 0;
    z-index: 0;
    background-image: url(../images/bg-nav-02.png);
  }
  .sns-list {
    opacity: 0;
    width: 0;
    overflow: hidden;
  }
  .open .sns-list {
    opacity: 1;
    width: 190px;
    padding: 0 15px;
  }
  .login {
    position: absolute;
    top: 0;
    right: 0;
    height: 97px;
    padding: 0 0 17px 45px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 0;
  }
  .login:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/bg-nav-02.png) no-repeat right center / cover;
    z-index: -1;
    transform: scale(-1, 1);
  }
  .js-megamenu {
    position: relative;
  }
  .js-megamenu__content {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    padding-top: 10px;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  .gnav-list-sub ul {
    padding: .25em;
    border: 1px solid #00d5ff;
    background: rgba(0, 0, 0, .9);
  }
  .gnav-list-sub a {
    display: block;
    padding: .5em;
    font-size: 14px;
    font-weight: bold;
  }
  .gnav-list-sub a:hover {
    color: #00d5ff;
    transition: color .3s ease;
  }
  .gnav-list-sub a:before {
    content: "▼";
    display: inline-block;
    margin-right: .5em;
    font-size: 60%;
    vertical-align: middle;
    transform: rotate(-90deg);
  }
  .gnav-list-sub a span {
    vertical-align: middle;
  }
}
@media screen and (max-width: 768px) {
  .btn-gnav {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 5.25rem;
    padding: .75rem 0 0 2rem;
    z-index: 99999;
    cursor: pointer;
  }
  .btn-gnav:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/bg-nav-03.png) no-repeat right center / cover;
    z-index: -1;
    transform: scale(-1, 1);
  }
  .btn-gnav:after {
    content: counter(count-new);
    position: absolute;
    top: 0;
    left: 1.3rem;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    font-size: 1rem;
    color: #000;
    text-align: center;
    border-radius: 50%;
    background: #fff;
  }
  .btn-gnav.count-new-disable:after {
    content: none;
  }
  .btn-gnav i {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    background: url(../images/btn-menu.png) no-repeat center center / 3rem auto;
  }
  .btn-gnav.open i {
    background-image: url(../images/btn-close.png);
  }
  .btn-gnav.open:after {
    opacity: 0;
  }
  .gnav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .9);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
  }
  .gnav.open {
    opacity: 1;
    visibility: visible;
  }
  .gnav-inner {
    width: 100%;
    height: 100%;
    overflow: auto;
  }
  .gnav-logo {
    width: 10rem;
    padding: 1.5rem 0 2rem;
    margin: 0 auto;
  }
  .gnav-list {
    width: 22rem;
    margin: 0 auto;
    padding-bottom: 8rem;
  }
  .gnav-list > ul + ul {
    margin-top: 4rem;
  }
  .gnav-list > ul > li:before,
  .gnav-list > ul > li:after {
    top: 2.6rem;
  }
  .gnav-list > ul > li:after {
    content: "";
    right: -1px;
  }
  .gnav-list > ul > li > a {
    font-size: 1.6rem;
    padding: 1.5rem 0;
    text-align: center;
  }
  .gnav-list > ul:first-child > li > a:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 2rem;
    margin-top: -1rem;
    background: url(../images/bg-gnav.png) no-repeat center bottom / contain;
  }
  .gnav-list li .icon-new {
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .gnav-list li .icon-login {
    position: absolute;
    left: 2rem;
    top: 50%;
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    background: url(../images/icon-login-02.png) no-repeat center center / contain;
    transform: translateY(-50%);
  }

  .sns {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 5.25rem;
    padding: .75rem 3.5rem 0 0;
    background-image: url(../images/bg-nav-03.png);
  }
  .sns-caption {
    width: 4rem;
    padding: 0 .5rem;
  }
  .sns-list {
  }
  .sns-list li {
    width: 2.5rem;
    margin-left: 1rem;
  }
  .sns-list li img {
    width: 100%;
  }
  .js-megamenu__content {
    display: none;
  }
  .gnav-list-sub {
    margin-top: 2rem;
  }
  .gnav-list-sub ul {
    padding: .25rem 0;
    border: 1px solid #00d5ff;
  }
  .gnav-list-sub li a {
    display: block;
    padding: .5rem;
    font-size: 1.2rem;
    text-align: center;
  }
  .gnav-list-sub a:before {
    content: "▼";
    display: inline-block;
    margin-right: .5em;
    font-size: 60%;
    vertical-align: middle;
    transform: rotate(-90deg);
  }
  .gnav-list-sub a span {
    vertical-align: middle;
  }
}

/* page-footer  *****************************************/
.page-footer {
  position: relative;
  padding: 70px 0 0;
  background: url(../images/bg-footer.png) no-repeat center top / 1920px auto;
  z-index: 0;
}
.page-footer:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 100px);
  background: #000;
  z-index: -1;
}
.page-footer-logo {
  width: 280px;
  margin: 0 auto;
}
.page-footer-info {
  max-width: 900px;
  margin: 50px auto;
}
.page-footer-info li {
  margin-bottom: 1em;
}
.page-footer-info li dl {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.page-footer-info li dl > * {
  display: table-cell;
  vertical-align: top;
}
.page-footer-info li dt {
  width: 10em;
  padding-right: 1em;
  font-weight: bold;
  color: #00d5ff;
  text-align: right;
  border-right: 1px solid;
}
.page-footer-info li dd {
  padding: 0 1em;
}
.copyright {
  font-size: 12px;
  text-align: center;
}
#commonFooter {
  position: relative;
  /*background: #FFF;*/
}

@media screen and (min-width: 769px) {
  .page-footer-info ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .page-footer-info li {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .page-footer {
    padding: 4rem 0 0;
    background-size: 250% auto;
  }
  .page-footer-logo {
    width: 15rem;
  }
  .page-footer-info {
    margin: 2rem auto 3rem;
  }
  .page-footer-info li {
    font-size: .9rem;
    margin-bottom: 1.5em;
  }
  .page-footer-info li dt {
    width: 50%;
  }
  .page-footer-info li dd {
    padding: 0 1em;
  }
  .copyright {
    font-size: .8rem;
  }
}


/* pagetop  *****************************************/
.pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
.pagetop.show {
  opacity: 1;
  visibility: visible;
}
.pagetop a {
  display: block;
  width: 80px;
  height: 80px;
  transition: all .3s ease;
}

@media screen and (min-width: 769px) {
  .pagetop a:hover {
    transform: translate(0, -10%);
  }
}

@media screen and (max-width: 768px) {
  .pagetop {
    right: 50%;
    bottom: 1rem;
    transform: translateX(50%);
  }
  .pagetop a {
    width: 5rem;
    height: 5rem;
  }
}




/******************************************
 * page-loading
*****************************************/
body.opening-enable:not(.pace-done) {
  position: fixed;
  width: 100%;
  top: 0;
  height: 100vh;
  z-index: 1;
  background: url(../images/bg-body.png) repeat-y center top #000;
}
body.opening-enable .loading-logo {
  position: fixed;
  left: 0;
  bottom: 50%;
  width: 100%;
  text-align: center;
  margin-bottom: 2em;
  transition: opacity 1s ease;
}
body.opening-enable .page-cover {
  position: relative;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease;
}
body.opening-enable.pace-done .page-cover {
  opacity: 1;
  visibility: visible;
}
body.opening-enable.pace-done .loading-logo {
  opacity: 0;
}
/* pace : progress bar */
.pace {
  position: fixed;
  top: 50%;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, .4);
}
.pace .pace-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #00d5ff;
}
.pace .pace-progress:after {
  content: attr(data-progress-text);
  position: absolute;
  top: 50%;
  left: 0;
  width: 100vw;
  margin-top: 2em;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.pace-inactive {
  display: none;
}

@media screen and (max-width: 768px) {
  body.opening-enable:not(.pace-done) {
    background-size: 250% auto;
  }
}

/******************************************
 * TOPページ
 *****************************************/
/* top-bg-image *****************************************/
.top-bg-image-01 {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translate3d(0,0,0);
  z-index: -40;
}
.top-bg-image-01:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.bg-video > video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.top-bg-image-02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translate3d(0,0,0);
  z-index: -30;
}
.top-bg-image-03 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translate3d(0,0,0);
  overflow: hidden;
  z-index: -35;
}
.top-bg-image-04 {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translate3d(0,0,0);
  z-index: -20;
}
@keyframes slide-fade {
  0% {opacity: 0;}
  40% {opacity: 0;}
  50% {opacity: 1;}
  90% {opacity: 1;}
  100% {opacity: 0;}
}

@media screen and (min-width: 769px) {
  .top-bg-image:before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    min-width: 1240px;
    box-shadow: 0 0 240px 0 rgba(0, 0, 0, 1) inset;
    z-index: -10;
  }
  .top-bg-image-01 {
    min-width: 1240px;
  }
  .top-bg-image-01:before {
    background: url(../images/bg-movie-02.png) repeat 0 0;
  }
  .top-bg-image-02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
      url(../images/bg-kv.png) no-repeat center 0px,
      url(../images/bg-top-01.png) no-repeat center 1870px,
      url(../images/bg-top-02.png) no-repeat center 4120px,
      url(../images/bg-top-03.png) no-repeat center 5580px;
  }
  /* campaign image 
  TOPキービジュアルのスライドを復活させたい場合はここを表示してください*/
  /*.top-bg-image-02:after { 
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/bg-kv-cp.png) no-repeat center 0px;
  }
  .pace-done .top-bg-image-02:after {
    opacity: 0;
    animation: slide-fade 15s ease infinite;
  }*/
  .top-bg-image-03 > div {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120vh;
  }
  .top-bg-image-03 > div:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/bg-about.png) no-repeat center top / cover;
  }
}

@media screen and (max-width: 768px) {
  .top-bg-image-01:before {
    background: url(../images/bg-top-sp.png) no-repeat center center / cover;
  }
}


/* kv *****************************************/
.kv {
  margin-bottom: 130px;
}
.kv-logo-wrap {
  text-align: center;
  padding: 180px 0 155px; /*countdownなしの場合 180px 0 140px;*/
}
.kv-banner-wrap {
  margin: 0 -8px;
  /*margin: 140px -8px 0;*/
  /*position: relative;*/
}
.kv-banner-item {
  width: 33.3%;
  padding: 0 10px;
}
.kv-banner-item a {
  display: block;
}
.kv-btn-item ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.kv-btn-item ul li {
  width: 22em; /*4列16em*/
  margin-left: 40px;
}
.kv-btn-item li:nth-child(3n+1) {
  margin-left: 0;
}
.kv-btn-item img {
  width: 23em;
}
.kv-btn-item.mt {
  margin-top: 4em;
}
.kv-banner-wrap .popup { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 9999; opacity: 0; visibility: hidden; transition: .6s; }
.kv-banner-wrap .popup.is-show { opacity: 1; visibility: visible; }
.kv-banner-wrap .popup-inner { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; max-width: 940px; z-index: 1000001; }
.kv-banner-wrap.popup-inner img { width: 100%; }
.kv-text {
  margin-bottom: 3em;
}

/*.top-kvbanner-slider-control-arrows a {
  position: absolute;
  display: block;
  top: 0;
  width: 63px;
  height: 100%;
}
.top-kvbanner-slider-control-arrows a i {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/slider-arrow.png) no-repeat center center / contain;
}
.top-kvbanner-slider-control-arrows a.slick-prev {
  left: 0;
}
.top-kvbanner-slider-control-arrows a.slick-next {
  right: 0;
}
.top-kvbanner-slider-control-arrows a.slick-next i {
  transform: scale(-1, 1);
}
.top-kvbanner-slider-wrap .slick-list {
  overflow: visible !important;
}*/

@media screen and (min-width: 769px) {
  .kv-btn-item li:nth-child(n+4) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .kv {
    margin-bottom: 6.5rem;
  }
  .kv-logo-wrap {
    padding: 0;
    margin: 0 -1.5rem;
  }
  .kv-logo {
    position: relative;
    -webkit-transform: translate3d(0,0,0);
    z-index: -25;
  }
  .kv-logo img {
    width: 100%;
  }
  /* campaign image 
    TOPキービジュアルのスライドを復活させたい場合はここを表示してください*/
  ./*kv-logo:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/top-kv-logo-sp-cp.png) no-repeat 0 0 / contain;
  }
  .pace-done .kv-logo:after {
    opacity: 0;
    animation: slide-fade 15s ease infinite;
  }*/
  .kv-banner-wrap {
    padding-top: 2rem;
    margin: 0;
  }
  .kv-banner {
    display: flex;
    justify-content: center;
    /*justify-content: space-between;*/ /*2つ以上の場合*/
    flex-wrap: wrap;
    max-width: 380px; /*450*/
    margin: 0 auto;
  }
  .kv-banner-item {
    width: 80%;
    padding: 0 5px;
    margin: 1.5% 0;
  }
 .kv-banner-wrap .modal-video-close-btn {
    right: 0!important;
  }
  .kv-btn-item li + li {
    margin-top: 2rem;
  }
  .kv-btn-item ul li {
    width: 22em;
    margin-left: 0;
  }
  .kv-btn-item.mt {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 480px) {
  .kv-banner {
    width: 23rem;
  }
}


/* top-content *****************************************/
.top-content-ttl {
  max-width: 1160px;
  margin: 0 auto 50px;
  line-height: 172px;
  text-align: center;
  background: url(../images/bg-ttl.png) no-repeat center center / cover;
}
.top-content-ttl2nd {
  max-width: 1160px;
  margin: 0 auto 50px;
  line-height: 147px;
  text-align: center;
  background: url(../images/bg-ttl.png) no-repeat center center / cover;
}

.top-content-ttl-twitter202012 {
  max-width: 1160px;
  margin: 0 auto 50px;
  line-height: 147px;
  text-align: center;
  background: url(../images/bg-ttl.png) no-repeat center center / cover;
}

.top-content-ttl img {
  vertical-align: middle;
  transform: translateY(-5%);
}
.top-content-ttl-twitter202012 img {
  vertical-align: middle;
  transform: translateY(-5%);
}

.top-content-inner {
  max-width: 1160px;
  margin: 0 auto;
}
.top-content-anchor {
  margin-top: -120px;
  padding-top: 120px;
  visibility: hidden;
}
.top-content-btn {
  text-align: center;
  margin-top: 40px;
}
.top-content-btn a {
  position: relative;
  display: inline-block;
  width: 200px;
  line-height: 48px;
  font-weight: bold;
  color: #00d5ff;
  border: 1px solid;
  transition: background-color .3s ease;
}
.top-content-btn a:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  left: calc(100% - 10px);
  border-top: 1px solid;
  transition: width .3s ease;
}
.top-content-btn a:hover {
  background: rgba(0, 213, 255, .2)
}
.top-content-btn a:hover:after {
  width: 40px;
}

@media screen and (min-width: 769px) {
}

@media screen and (max-width: 768px) {
  .top-content-ttl {
    margin-bottom: 2rem;
    line-height: 7.5rem;
  }
  .top-content-ttl img {
    width: 15rem;
  }
  .top-content-inner {
    padding: 0 1.5rem;
  }
  .top-content-anchor {
    margin-top: 0;
    padding-top: 0;
  }
  .top-content-btn {
    margin-top: 2rem;
  }
  .top-content-btn a {
    width: 12rem;
    line-height: 3rem;
  }
  .top-content-btn a:after {
    left: calc(100% - .5rem);
  }
  .top-content-btn a:hover:after {
    width: 2rem;
  }
}


/* top-about *****************************************/
.top-about {
  text-align: center;
}
.top-about-copy {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .1em;
  text-shadow:
    1px 1px 8px rgba(0, 0, 0, .6),
    -1px 1px 8px rgba(0, 0, 0, .6),
    -1px -1px 8px rgba(0, 0, 0, .6),
    1px -1px 8px rgba(0, 0, 0, .6),
    1px 1px 16px rgba(0, 213, 255, .8),
    -1px 1px 16px rgba(0, 213, 255, .8),
    -1px -1px 16px rgba(0, 213, 255, .8),
    1px -1px 16px rgba(0, 213, 255, .8);
}
.top-about-copy em {
  font-weight: bold;
  color: #00d5ff;
}
.top-about-image {
  margin: 50px 0;
  text-align: center;
}
.top-about-text {
  line-height: 2.2;
  font-size: 20px;
  text-shadow:
    1px 1px 8px rgba(0, 0, 0, 1),
    -1px 1px 8px rgba(0, 0, 0, 1),
    -1px -1px 8px rgba(0, 0, 0, 1),
    1px -1px 8px rgba(0, 0, 0, 1);
}

@media screen and (min-width: 769px) {
  .top-about {
    margin-bottom: 210px;
  }
}

@media screen and (max-width: 768px) {
  .top-about {
    margin-bottom: 0;
    padding-bottom: 6.5rem;
    background: url(../images/bg-about-sp.png) no-repeat center top / 100% auto;
  }
  .top-about-copy {
    line-height: 1.8;
    font-size: 1.4rem;
  }
  .top-about-image {
    margin: 2rem 0;
  }
  .top-about-text {
    line-height: 2.2;
    font-size: 1rem;
  }
}


/* top-howto *****************************************/
.top-howto {
  padding-bottom: 100px;
  text-align: center;
  overflow: hidden;
}
.top-howto-slider-wrap {
  position: relative;
}
.top-howto-slider-copy {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .1em;
  text-shadow:
    1px 1px 8px rgba(0, 0, 0, .6),
    -1px 1px 8px rgba(0, 0, 0, .6),
    -1px -1px 8px rgba(0, 0, 0, .6),
    1px -1px 8px rgba(0, 0, 0, .6),
    1px 1px 16px rgba(0, 213, 255, .8),
    -1px 1px 16px rgba(0, 213, 255, .8),
    -1px -1px 16px rgba(0, 213, 255, .8),
    1px -1px 16px rgba(0, 213, 255, .8);
}
.top-howto-slider-copy em {
  font-weight: bold;
  color: #00d5ff;
}
.top-howto-slider-image {
  text-align: center;
}
.top-howto-slider-image img {
  margin: 0 auto;
}
.top-howto-slider-text {
  margin: 50px 0;
  line-height: 2.2;
  font-size: 20px;
  text-shadow:
    1px 1px 8px rgba(0, 0, 0, 1),
    -1px 1px 8px rgba(0, 0, 0, 1),
    -1px -1px 8px rgba(0, 0, 0, 1),
    1px -1px 8px rgba(0, 0, 0, 1);
}
.top-howto-slider-wrap .slick-list {
  overflow: visible !important;
}
.top-howto-slider-control-arrows a {
  position: absolute;
  display: block;
  top: 0;
  width: 63px;
  height: 100%;
}
.top-howto-slider-control-arrows a i {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/slider-arrow.png) no-repeat center center / contain;
}
.top-howto-slider-control-arrows a.slick-prev {
  left: 0;
}
.top-howto-slider-control-arrows a.slick-next {
  right: 0;
}
.top-howto-slider-control-arrows a.slick-next i {
  transform: scale(-1, 1);
}
.top-howto-slider-control-dots {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: 200px; /*def60*/
}
.top-howto-slider-control-dots ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-howto-slider-control-dots li + li {
  margin-left: 20px;
}
.top-howto-slider-control-dots li button {
  position: relative;
  width: 30px;
  height: 30px;
  background: url(../images/slider-dots.png) no-repeat center top / 100% auto;
  cursor: pointer;
  text-indent: 100%;
  overflow: hidden;
}
.top-howto-slider-control-dots li button:before,
.top-howto-slider-control-dots li button:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/slider-dots.png) no-repeat center top / 100% auto;
}
.top-howto-slider-control-dots li button:after {
  background-position-y: bottom;
  opacity: 0;
  transition: opacity .3s ease;
}
.top-howto-slider-control-dots li button:hover:after,
.top-howto-slider-control-dots li.slick-active button:after {
  opacity: 1;
}
.top-howto-slider-seek {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  min-width: 1240px;
  transform: translateX(-50%);
}
.top-howto-slider-seek:before,
.top-howto-slider-seek:after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 2px;
}
.top-howto-slider-seek:before {
  width: 100%;
  background: rgba(255, 255, 255, .4);
}
.top-howto-slider-seek:after {
  width: 0;
  background: #fff;
}
.top-howto-slider-wrap.seek .top-howto-slider-seek:after {
  width: 100%;
  transition: width 10s linear;
}
.top-howto-slider-wrap.reset-seek .top-howto-slider-seek:after {
  width: 0;
  transition: none;
}
.top-howto-btn {
  margin-top: 40px;
}
.top-howto-btn img {
  width: 18em;
}

@media screen and (min-width: 769px) {
  .top-howto {
    margin-bottom: 620px;
  }
}

@media screen and (max-width: 768px) {
  .top-howto {
    padding-bottom: 0;
    margin-bottom: 6.5rem;
  }
  .top-howto-slider-item + .top-howto-slider-item {
    margin-top: 3.5rem;
  }
  .top-howto-slider-copy {
    line-height: 1.8;
    font-size: 1.4rem;
  }
  .top-howto-slider-text {
    margin: 2rem 0;
    line-height: 2.2;
    font-size: 1rem;
  }
}


/* top-movie *****************************************/
.top-movie {
  text-align: center;
}
.top-movie-list li {
  margin-bottom: 60px;
}
.top-movie-list li button {
  position: relative;
  display: inline-block;
  padding: 1px;
  max-width: 100%;
}
.top-movie-list li button:before,
.top-movie-list li button:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.top-movie-list li button:before {
  height: 100%;
  background: url(../images/bg-movie-02.png) repeat center center;
  transition: opacity .3s ease;
}
.top-movie-list li button:after {
  height: calc(100% + 20px);
  margin-top: -10px;
  background: url(../images/bg-movie-01.png) no-repeat center center / cover;
}
.top-movie-list li button:hover:before {
  opacity: 0;
}

@media screen and (min-width: 769px) {
  .top-movie {
    min-height: 700px; /* def 970px */
    margin-bottom: 150px;
  }
  .top-movie-list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .top-movie-list li {
    width: 48.5%;
  }
}

@media screen and (max-width: 768px) {
  .top-movie {
    margin-bottom: 6.5rem;
  }
  .top-movie-list li {
    margin: 0;
  }
  .top-movie-list li + li {
    margin-top: 2rem;
  }
}


/* top-news *****************************************/
.top-news {
  margin-bottom: 150px;
}
.top-news-list li + li {
  margin-top: 20px;
}
.top-news-list li a {
  display: block;
  position: relative;
  padding: 20px;
  color: #00d5ff;
  border: 1px solid rgba(0, 213, 255, .6);
  background: rgba(0, 0, 0, .6);
  transition: border-color .3s ease, background-color .3s ease;
}
.top-news-list li a:hover {
  border-color: rgba(0, 213, 255, 1);
  background: rgba(0, 213, 255, .2)
}
.top-news-list li dt {
  padding: .75em 0 .75em 2em;
  margin: -.75em 0 .75em;
  border-bottom: 1px solid;
  background: url(../images/bg-news-ttl.png) no-repeat left center / 26px auto;
}
.top-news-list li dd {
  height: 3em;
  padding-right: 40px;
  color: #fff;
  overflow: hidden;
  background: url(../images/icon-arrow-01.png) no-repeat right bottom;
}
.top-news-list li dd span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.top-news-icon-new {
  position: absolute;
  top: 20px;
  right: 20px;
}
.top-news-icon-new span {
  display: block;
  line-height: 17px;
  padding: 0 .25em;
  font-size: 12px;
  color: #000;
  text-align: center;
  background: #00d5ff;
}
.top-twitter {
  padding: 24px;
  border: 1px solid rgba(0, 213, 255, .6);
  background: rgba(0, 0, 0, .6);
}
.top-twitter-inner {
  width: 100%;
  height: 720px; /*NEWS3列407px*/
}
.top-twitter-inner > iframe {
  height: inherit !important;
  width: inherit !important;
  min-width: inherit !important;
}

@media screen and (min-width: 769px) {
  .top-news .top-content-inner {
    display: flex;
    justify-content: space-between;
  }
  .top-news .top-content-inner > * {
    width: 31.5%;
  }
}

@media screen and (max-width: 768px) {
  .top-news {
    margin-bottom: 6.5rem;
  }
  .top-news-list li + li {
    margin-top: 2rem;
  }
  .top-news-list li a {
    padding: 1rem;
  }
  .top-news-list li dt {
    padding: .5em 0 .5em 2em;
    margin: -.5em 0 .75em;
    background-size: 1.25rem auto;
  }
  .top-news-list li dd {
    height: 4.5em;
    padding-right: 2rem;
    background-size: 1rem auto;
  }
  .top-news-list li dd span {
    -webkit-line-clamp: 3;
  }
  .top-news-icon-new {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
  .top-news-icon-new span {
    line-height: 1.5;
    font-size: .7rem;
  }
  .top-twitter-wrap {
    margin-top: 4rem;
  }
  .top-twitter {
    margin: 0 auto;
    max-width: 560px;
  }
  .top-twitter-inner {
    width: calc(100vw - 3rem - 2px - 48px);
    max-width: calc(560px - 2px - 48px);
    height: 22rem;
  }
}

/* top-banner *****************************************/
.top-banner {
  margin-bottom: 80px;
}
.kv-banner2 {
  display: flex;
  justify-content: space-around;
}

@media screen and (max-width: 768px) {
  .top-banner {
    margin-bottom: 4rem;
  }
  .kv-banner2 {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    max-width: 450px;
    margin: 0 auto;
  }
}

/* countdown *****************************************/
.kv {
  overflow: hidden;
}
.countdown {
  position: relative;
  left: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200vw;
  height: 190px;
  margin: -100px auto 50px;
  background: url(../images/bg-countdown.png) no-repeat center center / auto 100%;
  transform: translateX(-50%);
  z-index: 0;
}
/*.countdown:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg-countdown-txt.png) repeat-x 0 center / 680px auto;
  -webkit-animation: ttlSlide 10s linear infinite;
  animation: ttlSlide 10s linear infinite;

  z-index: -1;
}
@-webkit-keyframes ttlSlide {
  0% {
    background-position-x: 0;
  }
  to {
    background-position-x: -680px;
  }
}
@keyframes ttlSlide {
  0% {
    background-position-x: 0;
  }
  to {
    background-position-x: -680px;
  }
}*/
.countdown-time {
  position: relative;
  width: 670px;
  height: 90px;
  margin: 0 auto;
  background: url(../images/bg-countdown-time.png) no-repeat left center / contain;
}
.countdown-time span {
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
}
.countdown-time span:before,
.countdown-time span:after {
  content: "";
  display: block;
  position: absolute;
  width: 80px;
  height: 90px;
  background: url(../images/num-countdown.png) no-repeat 0 0 / 100% auto;
}
.countdown-time span:before {
  right: 0;
  transform: translateX(20%);
}
.countdown-time span:after {
  left: 0;
  transform: translateX(-20%);
}
.countdown-d { left: calc( 240 / 670 * 100%); }
.countdown-h { left: calc( 375 / 670 * 100%); }
.countdown-m { left: calc( 500 / 670 * 100%); }
.countdown-s { left: calc( 630 / 670 * 100%); }
.countdown-time span[data-num ^= "1" ]:before, .countdown-time span[data-num $= "1"]:after { background-position-y: calc(90 / 810 * 100%); }
.countdown-time span[data-num ^= "2" ]:before, .countdown-time span[data-num $= "2"]:after { background-position-y: calc(90 / 810 * 200%); }
.countdown-time span[data-num ^= "3" ]:before, .countdown-time span[data-num $= "3"]:after { background-position-y: calc(90 / 810 * 300%); }
.countdown-time span[data-num ^= "4" ]:before, .countdown-time span[data-num $= "4"]:after { background-position-y: calc(90 / 810 * 400%); }
.countdown-time span[data-num ^= "5" ]:before, .countdown-time span[data-num $= "5"]:after { background-position-y: calc(90 / 810 * 500%); }
.countdown-time span[data-num ^= "6" ]:before, .countdown-time span[data-num $= "6"]:after { background-position-y: calc(90 / 810 * 600%); }
.countdown-time span[data-num ^= "7" ]:before, .countdown-time span[data-num $= "7"]:after { background-position-y: calc(90 / 810 * 700%); }
.countdown-time span[data-num ^= "8" ]:before, .countdown-time span[data-num $= "8"]:after { background-position-y: calc(90 / 810 * 800%); }
.countdown-time span[data-num ^= "9" ]:before, .countdown-time span[data-num $= "9"]:after { background-position-y: calc(90 / 810 * 900%); }
.countdown-att p {
  font-size: 12px;
  margin-top: -60px;
  margin-bottom: 60px;
  text-shadow: 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000;
}

@media screen and (max-width: 768px) {
  .countdown {
    width: auto;
    height: 8.5rem;
    margin: -2rem -1.5rem 0;
    left: auto;
    transform: none;
  }
  /*.countdown:after {
    background-size: 32rem auto;
  }
  @-webkit-keyframes ttlSlide {
    0% {
      background-position-x: 0;
    }
    to {
      background-position-x: -32rem;
    }
  }
  @keyframes ttlSlide {
    0% {
      background-position-x: 0;
    }
    to {
      background-position-x: -32rem;
    }
  }*/
  .countdown-time {
    width: 30rem;
    height: calc(90 / 670 * 30rem);
  }
  .countdown-time span:before,
  .countdown-time span:after {
    width: calc(80 / 670 * 30rem);
    height: calc(90 / 670 * 30rem);
  }
  .countdown-att p {
    margin-top: 0;
    margin-bottom: 0;
  }
}

/* cardcampaign *****************************************/
@media screen and (max-width: 768px) {
  .countdown.cardcampaign {
    height: 11rem;
    margin-top: 2rem;
  }
}

/* add 190319 footer ************************************/
.page-footer-links {
  max-width: 900px;
  margin: 0 auto 50px;
}
.page-footer-links p {
  text-align: center;
  margin-bottom: 10px;
}
.page-footer-links p a {
  font-weight: bold;
  color: #00d5ff;
}

/* add 190410 NEWS **************************************/
.top-news-subttl {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 5px;
  padding-left: 2.2em;
  background: url(../images/bg-news-ttl.png) no-repeat left center / 25px auto;
}

@media screen and (max-width: 768px) {
  .top-news-subttl {
    font-size: 1.1rem;
  }
  .top-twitter-wrap .top-news-subttl {
    max-width: 560px;
    margin: 0 auto 5px;
  }
}

/* add PLAYGUIDE PAGE **********************************/
.top-playguide {
  margin-bottom: 150px;
  padding-top: 150px;
}
.top-playguide .top-content-inner {
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .top-playguide {
    margin-bottom: 6.5rem;
    padding-top: 3rem;
  }
  .top-playguide .top-content-ttl {
    margin-bottom: 3rem;
  }
}

/* add PLAYLOGIN PAGE **********************************/
.top-playlogin-list .border-block {
  border: 1px solid #676b70;
  padding: 5%;
  margin-bottom: 30px;
  background: rgba(0, 0, 0, 0.6);
}
.playlogin-block-01 div + div,
.playlogin-block-02 div + div {
  margin-top: 5em;
}
.playlogin-bigttl {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.5em;
}
.playlogin-bigsubttl {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  border: 1px solid #178da5;
  padding: 20px;
  margin: 40px 0;
  background: rgba(0, 213, 255, 0.15);
}
.playlogin-flow-ttl {
  background: #ffffff;
  color: #000;
  padding: 10px;
  margin: 0 auto 1.5em;
  font-size: 18px;
  font-weight: bold;
}
.top-playlogin-list .yel {
  color: #ffca09;
  text-shadow: 0 0 5px rgba(230, 136, 18, 0.7), 0 0 5px rgba(230, 136, 18, 0.7);
}
.top-playlogin-list .ao {
  color: #00f3ff;
  text-shadow: 0 0 5px rgba(73, 203, 210, 0.7), 0 0 5px rgba(73, 203, 210, 0.7);
}

@media screen and (max-width: 768px) {
  .playlogin-block-01 div + div,
  .playlogin-block-02 div + div {
    margin-top: 3rem;
  }
  .playlogin-bigttl {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
  .playlogin-bigsubttl {
    font-size: 1.2rem;
    padding: 1rem;
    margin: 2rem 0;
  }
  .playlogin-flow-ttl {
    font-size: 1.2rem;
    padding: .5rem;
    margin-bottom: 1rem;
  }
  .top-playlogin-list .sp-simg {
    width: 80%;
  }
  .playlogin-bigttl.playlogin-border {
    padding-bottom: 1.5rem;
  }
}

/* add CAMPAIGN SUMMER PAGE ****************************/
.top-campaign-list .border-block {
  border: 1px solid #676b70;
  padding: 5%;
  margin-bottom: 30px;
  background: rgba(0, 0, 0, 0.6);
}
.campaign-block-02 div + div,
.campaign-block-03 div + div,
.campaign-block-04 div + div {
  margin-top: 5em;
}
.campaign-bigttl {
  font-size: 45px;
  font-weight: bold;
  text-align: center;
  margin-bottom: .5em;
}
.campaign-subttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: 1em;
}
.campaign-day {
  background: #00d5ff;
  color: #000;
  padding: 10px;
  margin: 0 auto 15px;
  display: block;
  width: 45%;
  font-size: 23px;
  font-weight: bold;
  text-align: center;
}
.campaign-day.campaign-day-02 {
  width: inherit;
  line-height: 1.8;
}
.img_mg2 {
  margin-bottom: 2em;
}
.img_mg3 {
  margin-top: 2em
}
.img_mg4 {
  margin-bottom: 4em
}
#campaign-friendcode {
  padding-top: 3em;
}
#campaign-friendcode p {
  margin-bottom: 2em;
}
.campaign-playlogin {
  margin-top: 2em;
  margin-bottom: 3.5em;
}

@media screen and (max-width: 768px) {
  .campaign-block-02 div + div,
  .campaign-block-03 div + div,
  .campaign-block-04 div + div {
    margin-top: 2.5rem;
  }
  .campaign-day {
    width: 100%;
    font-size: 1.5rem;
    padding: .5rem;
    margin-bottom: .8rem;
  }
  .campaign-bigttl {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
  .campaign-subttl,
  .campaign-subttl-02 {
    font-size: inherit;
  }
  .campaign-subttl-02 {
    padding-top: 2rem;
  }
  .campaign-movie iframe {
    width: 300px !important;
    height: 180px !important;
  }
}

/* add CAMPAIGN TWITTER PAGE **************************/
.top-twcampaign-list .campaign-block-01 {
  margin-bottom: 4em;
}
.top-twcampaign-list .campaign-block-02 div + div {
  margin-top: 3em;
}
.campaign-smallttl {
  background: #00d5ff;
  color: #000;
  font-weight: bold;
  padding: 0 5px;
  display: inline-block;
  margin-bottom: 15px;
}
.campaign-list-image ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (min-width: 769px) {
  .campaign-list-image li {
    width: 205px;
  }
}

@media screen and (max-width: 768px) {
  .top-twcampaign-list .campaign-block-01 {
    margin-bottom: 2rem;
  }
  .top-twcampaign-list .campaign-block-02 div + div {
    margin-top: 2rem;
  }
  .campaign-list-image li {
    width: 12rem;
    margin-bottom: 1.5rem;
  }
  .campaign-list-image li:nth-child(3),
  .campaign-list-image li:nth-child(4) {
    margin-bottom: 0;
  }
}

/* add PROMOTION PAGE *********************************/
.top-promotion-list .cms {
  text-align: center;
  line-height: 15em;
  font-size: 35px;
}
.promotion-block-01 {
  margin-bottom: 3em;
}
.promotion-block-04 div + div {
  margin-top: 5em;
}

@media screen and (max-width: 768px) {
  .top-promotion-list .cms {
    font-size: 2rem;
  }
  .promotion-block-04 div + div {
    margin-top: 3em;
  }
  .top-promotion-list .sp-simg {
    width: 80%;
  }
  .promotion-block-04 .campaign-subttl {
    font-size: .9rem;
  }
}


/* add 190319 top kv-banner-eventttl *******************/
.kv-banner-eventttl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1em;
  padding-left: 1.6em;
  background: url(../images/bg-news-ttl.png) no-repeat left center / 25px auto;
}

@media screen and (max-width: 768px) {
  .kv-banner-eventttl {
    margin-bottom: -1rem;
    font-size: 1.2rem;
    padding-left: 2.2em;
  }
}


/* add CAMPAIGN alicization PAGE ****************************/
.top-camacz {
  padding-top: 500px;
  padding-bottom: 150px;
}
.camacz-wrap + .camacz-wrap {
  margin-top: 100px;
}
.camacz-inner {
  border-top: 1px solid #00d5ff;
  border-bottom: 1px solid #00d5ff;
  background: -moz-linear-gradient(to bottom,rgba(217, 0, 36, 0.4),rgba(0, 0, 0, 0.4) 50%,rgba(0, 170, 255, 0.4)); 
  background: -webkit-linear-gradient(to bottom,rgba(217, 0, 36, 0.4),rgba(0, 0, 0, 0.4) 50%,rgba(0, 170, 255, 0.4)); 
  background: linear-gradient(to bottom,rgba(217, 0, 36, 0.4),rgba(0, 0, 0, 0.4) 50%,rgba(0, 170, 255, 0.4)); 
  padding: 100px 0;
}
.camacz-inner__02 {
  max-width: 1160px;
  margin: 0 auto;
  position: relative;
}
.camacz-inner__02 .camacz-inner__03 {
  margin-bottom: 80px;
}
.top-camacz .title01 {
  position: absolute;
  top: -155px;
  left: 390px;
}
.top-camacz .title02 {
  margin-bottom: 40px;
}
.top-camacz .title03 {
  font-size: 24px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: .1em;
  margin-bottom: 30px;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, .6), -1px 1px 8px rgba(0, 0, 0, .6), -1px -1px 8px rgba(0, 0, 0, .6), 1px -1px 8px rgba(0, 0, 0, .6), 1px 1px 16px rgba(0, 213, 255, .8), -1px 1px 16px rgba(0, 213, 255, .8), -1px -1px 16px rgba(0, 213, 255, .8), 1px -1px 16px rgba(0, 213, 255, .8);
}
.top-camacz .text01 {
  line-height: 2;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, 1), -1px 1px 8px rgba(0, 0, 0, 1), -1px -1px 8px rgba(0, 0, 0, 1), 1px -1px 8px rgba(0, 0, 0, 1);
}
.top-camacz .text02 {
  font-size: 22px;
  line-height: 2;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, .6), -1px 1px 8px rgba(0, 0, 0, .6), -1px -1px 8px rgba(0, 0, 0, .6), 1px -1px 8px rgba(0, 0, 0, .6), 1px 1px 16px rgba(0, 213, 255, .8), -1px 1px 16px rgba(0, 213, 255, .8), -1px -1px 16px rgba(0, 213, 255, .8), 1px -1px 16px rgba(0, 213, 255, .8);
  margin: 10px 0 30px;  
}
.camacz-detail-card {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.camacz-detail-card > p {
  width: 320px;
}
.camacz-detail-card > div {
  width: 800px;
}
.camacz-detail-card-02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.camacz-detail-card-02 .card-03 {
  width: 550px;
}
.camacz-detail-card-02 .card-04 {
  width: 230px;
}
.camacz-detail-attention {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 25px;
  margin: 40px 0;
}
.camacz-detail-attention .attention-title span {
  background: #00d5ff;
  color: #000;
  padding: 5px 10px;
  display: block;
  margin-bottom: 25px;
  text-align: center;
}
/*.camacz-detail-attention .camacz-detail-attention-text p {
  margin-left: 1em;
  text-indent: -1em;
}
.camacz-detail-attention .camacz-detail-attention-text p + p {
  margin-top: 10px;
}
.camacz-detail-attention .camacz-detail-attention-text p:before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}*/
.camacz-detail-attention .at-red {
  font-weight: bold;
  color: #f00;
}
.camacz-detail-keyword {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #00d5ff;
  padding: 25px;
  margin: 40px 0;
}
.camacz-detail-keyword p {
  font-size: 30px;
  font-weight: bold;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, .6), -1px 1px 8px rgba(0, 0, 0, .6), -1px -1px 8px rgba(0, 0, 0, .6), 1px -1px 8px rgba(0, 0, 0, .6), 1px 1px 16px rgba(0, 213, 255, .8), -1px 1px 16px rgba(0, 213, 255, .8), -1px -1px 16px rgba(0, 213, 255, .8), 1px -1px 16px rgba(0, 213, 255, .8);
}
.camacz-detail-linkbtn {
  margin-bottom: 130px;
}
.camacz-detail-apply {
  padding: 40px;
  margin: 0 40px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #00d5ff;
}
.camacz-detail-apply-list {
  overflow: auto;
  height: 400px;
  padding: 10px 20px 10px 0;
  line-height: 2;
}
.camacz-detail-apply-list::-webkit-scrollbar {
  width: 8px;
}
.camacz-detail-apply-list::-webkit-scrollbar-thumb {
  background: #00d5ff;
}
.camacz-detail-apply-list::-webkit-scrollbar-track {
  background: #686666;
}
.camacz-detail-step {
  margin-top: 40px;
}
.camacz-detail-linkbtn.camacz-bnr {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.camacz-detail-linkbtn.camacz-bnr-02 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.camacz-movie {
  text-align: center;
}
.camacz-detail-flow dl {
  display: flex;
}
.camacz-detail-flow .number span {
  background: #00d5ff;
  display: inline-block;
  color: #000;
  text-align: center;
  width: 25px;
  height: 25px;
  font-weight: bold;
  margin-right: 20px;
}
.camacz-detail-flow .flow-text {
  display: flex;
  justify-content: space-between;
}
.camacz-detail-flow .flow-arrow {
  text-align: center;
  margin: 15px 0;
}

@media screen and (min-width: 769px) {
  .campaignacz-bg-image.top-bg-image:before {
    box-shadow: none;
  }
  .campaignacz-bg-image .top-bg-image-02:before {
    height: 1247px;
    background: url(../images/campaign/bg-campaign-aczkv.png) no-repeat center top;
    box-shadow: none;
    top: 115px;
  }
  .campaignacz-bg-image .top-bg-image-02:after {
    content: "";
    position: absolute;
    top: 1247px;
    bottom: 0;
    left: 0;
    width: 100%;
    background: url(../images/bg-body.png) repeat-y center top;
  }
  .camacz-detail-attention .at-red {
    font-size: 18px;
  }
  .camacz-detail-linkbtn.camacz-bnr p + p {
    margin-left: 50px;
  }
  .camacz-detail-linkbtn.camacz-bnr-02 p + p {
    margin-left: 40px;
  }
  .camacz-detail-flow dl {
    margin: 0 13em;
  }
  .camacz-detail-flow .flow-text p + p {
    margin-left: 20px;
    width: 150px;
  }
  .camacz-detail-flow .flow-text .w700 {
    width: 415px;
  }
}

@media screen and (max-width: 768px) {
  .campaignacz-bg-image .top-bg-image-02 {
    background: url(../images/bg-body.png) repeat-y center top / 250% auto;
  }
  .top-camacz {
    padding-top: 0;
    padding-bottom: 5rem;
  }
  .top-camacz .title01 {
    top: -6.8rem;
    left: 7.5rem;
  }
  .top-camacz .title02 {
    margin-bottom: 1rem;
  }
  .top-camacz .title03 {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
  .top-camacz .text02 {
    font-size: 1.3rem;
  }
  .camacz-wrap + .camacz-wrap {
    margin-top: 5rem;
  }
  .camacz-wrap.sp-camacz-wrap {
    margin-top: 1rem !important;
  }
  .camacz-inner {
    padding: 4rem 2rem 2rem;
  }
  .camacz-inner__02 .camacz-inner__03 {
    margin-bottom: 4rem;
  }
  .camacz-detail-card > div {
    width: 100%;
  }
  .camacz-detail-card > p {
    width: 18rem;
    margin: 0 auto 2rem;
  }
  .camacz-detail-attention {
    padding: 1.5rem;
    margin: 2rem 0;
  }
  .camacz-detail-keyword p {
    font-size: 1.5rem;
  }
  .camacz-detail-card-02 .card-04 {
    margin: 3rem auto 0;
  }
  .camacz-detail-card-02 .card-03 {
    width: 100%;
  }
  .camacz-detail-card-02 .card-04 {
    width: 100%;
    text-align: center;
  }
  .camacz-detail-linkbtn {
    margin-bottom: 3rem;
    padding: 0 2.5rem;
  }
  .camacz-detail-goods {
    padding: 2rem;
  }
  .camacz-detail-apply {
    padding: 1.5rem;
    margin: 0;
  }
  .camacz-detail-apply-list {
    padding-right: 1.2rem;
  }
  .camacz-detail-linkbtn.camacz-bnr {
    padding: 0 5rem;
    margin-bottom: 3rem !important;
  }
  .camacz-detail-linkbtn.camacz-bnr p + p,
  .camacz-detail-linkbtn.camacz-bnr-02 p + p {
    margin-top: 2rem;
  }
  .camacz-detail-linkbtn.camacz-bnr-02 .sp-simg {
    width: 80%;
  }
  .camacz-detail-linkbtn.camacz-bnr-02 {
    margin-bottom: 3rem;
  }
  .camacz-movie iframe {
    width: 600px !important;
    height: 350px !important;
  }
  .camacz-detail-flow .number span {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
  }
  .camacz-detail-flow .flow-text p + p {
    margin-left: 1rem;
    width: 8rem;
  }
  .camacz-detail-flow .flow-text .w700 {
    width: 13.5rem;
  }
}

@media screen and (max-width: 480px) {
  .top-camacz .title01 {
    left: 4.5rem;
    right: 4.5rem;
  }
  .camacz-movie iframe {
    width: 350px !important;
    height: 200px !important;
  }
}


/* add CAMPAIGN MAGOKORO MODAL **************************/
.campaign-wrap {
  text-align: left;
  letter-spacing: normal;
}
.campaign-wrap a:hover {
  text-decoration: underline;
}
.campaign-magokoro-ttl {
  margin: 0 -1%;
}
.campaign-magokoro-copy {
  text-align: center;
}
.campaign-magokoro-duration {
  text-align: center;
}
.campaign-magokoro-duration small {
  display: inline-block;
}
.campaign-magokoro-duration span {
  border-bottom: 2px solid;
}
.campaign-magokoro-lead {
  border: 3px solid #ff7595;
  box-shadow: 0 0 10px 1px #dca7c9;
  background: rgba(249, 217, 217, .24);
}
.campaign-magokoro-lead-sub {
  position: relative;
  border: 3px solid;
  border-radius: 10px;
  background: #270901;
}
.campaign-magokoro-lead-sub-ttl {
  position: absolute;
}
.campaign-magokoro-lead-sub-image {
  position: absolute;
}
.campaign-magokoro-present-ttl-top {
  line-height: 2.4;
  margin: 0 auto;
  color: #ff7595;
  text-align: center;
  font-weight: bold;
  border: 3px solid;
  box-shadow: 0 0 10px 1px #dca7c9;
}
.campaign-magokoro-present-imagebox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  line-height: 1.4;
  color: #ff7595;
  text-align: right;
  background: url(../images/campaign-magokoro-bg01.png) no-repeat center center / auto 100%;
}
.campaign-magokoro-present-image {
  position: absolute;
}
.campaign-magokoro-present .link {
 color: #2aa7ff;
}
.campaign-magokoro-present-link {
  margin-bottom: .5em;
  text-align: center;
}
.campaign-anniversary-ttl {
  margin: 0 -1%;
}
.campaign-anniversary-sub {
  color: #00bce1;
  text-align: center;
}
.campaign-anniversary-time {
  text-align: center;
}
.campaign-anniversary-time small {
  display: block;
}
.campaign-anniversary-url {
  text-align: center;
}
.campaign-anniversary-url a {
  color: #00bce1;
  font-weight: bold;
}
.campaign-anniversary-faq-ttl {
  font-weight: bold;
  text-align: center;
}
.campaign-anniversary-faq-btn a {
  display: block;
  margin: 0 auto;
  border: 3px solid #005d6f;
  text-align: center;
  box-shadow:
    0 0 0 1px #fff,
    0 0 10px 1px #3fe0ff;
  background: #00bce1;
}
.campaign-anniversary-faq-btn a:hover {
  text-decoration: none;
}
.campaign-anniversary-faq-duration {
  text-align: center;
}
.campaign-anniversary-faq-note dt {
  width: 16em;
  color: #00bce1;
  border: 3px solid;
  box-shadow: 0 0 10px 1px #3fe0ff;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .campaign-wrap {
    width: 920px;
    margin: 0 auto;
  }
  .campaign-magokoro-copy {
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 24px;
  }
  .campaign-magokoro-lead {
    padding: 40px 70px;
  }
  .campaign-magokoro-lead-sub {
    margin-top: 50px;
    padding: 60px 20px 20px;
  }
  .campaign-magokoro-lead-sub-ttl {
    top: -35px;
    left: 20px;
  }
  .campaign-magokoro-lead-sub-image {
    top: -35px;
    right: 10px;
  }
  .campaign-magokoro-lead-sub p {
    margin-bottom: 2em;
  }
  .campaign-magokoro-lead-sub p img {
    width: 49.3%;
  }
  .campaign-magokoro-lead-sub p img + img {
    margin-left: 1.4%;
  }
  .campaign-magokoro-present-ttl-top {
    width: 500px;
    margin-top: 100px;
    margin-bottom: 50px;
    font-size: 24px;
  }
  .campaign-magokoro-duration {
    padding-bottom: 30px;
  }
  .campaign-magokoro-duration small {
    margin-bottom: 1em;
    font-size: 18px;
  }
  .campaign-magokoro-duration span {
    font-size: 32px;
  }
  .campaign-magokoro-present {
    padding: 60px 0;
  }
  .campaign-magokoro-present-ttl {
    margin-bottom: 30px;
  }
  .campaign-magokoro-present-textbox {
    min-height: 6.5em;
  }
  .campaign-magokoro-present-imagebox {
    min-height: 84px;
    padding-right: 180px;
    margin: 30px 0;
  }
  .campaign-magokoro-present-image {
    bottom: -10px;
    right: 0;
  }
  .campaign-magokoro-present-note {
    font-size: 14px;
  }
  .campaign-magokoro-present-list {
    margin: 60px 0;
  }
  .campaign-magokoro-present-list dt {
    margin-bottom: 1em;
    font-size: 36px;
    font-weight: bold;
    color: #f59cb0;
    text-align: center;
  }
  .campaign-magokoro-image {
    margin-top: 60px;
  }
  
  .campaign-anniversary {
    margin-top: 70px;
  }
  .campaign-anniversary-sub {
    font-size: 18px;
    
  }
  .campaign-anniversary-ttl {
    margin-bottom: 60px;
  }
  .campaign-anniversary-time {
    margin-bottom: 60px;
    line-height: 1.4;
    font-size: 32px;
  }
  .campaign-anniversary-time small {
    font-size: 14px;
  }
  .campaign-anniversary-url {
    margin-bottom: 60px;
    font-size: 24px;
  }
  .campaign-anniversary-faq-ttl {
    line-height: 1.2;
    margin-bottom: 20px;
    font-size: 24px;
  }
  .campaign-anniversary-faq-btn {
    margin-bottom: 20px;
  }
  .campaign-anniversary-faq-btn a {
    width: 540px;
    font-size: 30px;
    line-height: 75px;
  }
  .campaign-anniversary-faq-duration {
    font-size: 14px;
  }
  .campaign-anniversary-faq-note {
    margin-top: 80px;
    font-size: 18px;
  }
  .campaign-anniversary-faq-note dl {
    margin-bottom: 40px; 
  }
  .campaign-anniversary-faq-note dt {
    margin-bottom: 1em;
  }
}

@media screen and (max-width: 768px) {
  .layer_board {
    left: 1rem !important;
    right: 1rem !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .campaign-wrap {
    padding: 0;
  }
  .campaign-magokoro-copy {
    margin-top: .5rem;
    margin-bottom: 1.5rem;
    font-size: 1rem;
  }
  .campaign-magokoro-present-ttl-top {
    width: 20rem;
    margin-top: 5rem;
    margin-bottom: 2rem;
    font-size: 1.2rem;
  }
  .campaign-magokoro-duration {
    padding-bottom: 1.5rem;
  }
  .campaign-magokoro-duration small {
    margin-bottom: .5em;
    font-size: .9rem;
  }
  .campaign-magokoro-duration span {
    font-size: 1rem;
  }
  .campaign-magokoro-lead {
    padding: 2rem;
  }
  .campaign-magokoro-lead-sub {
    margin-top: 2.5rem;
    padding: 4rem 1rem 1rem;
  }
  .campaign-magokoro-lead-sub-ttl {
    top: -2rem;
    left: 0;
    width: 100%;
    padding: 0 1rem;
    text-align: center;
  }
  .campaign-magokoro-lead-sub-image {
    position: static;
    margin-bottom: 1rem;
    text-align: center;
  }
  .campaign-magokoro-lead-sub p {
    margin-bottom: 2em;
  }
  .campaign-magokoro-lead-sub p img {
    display: block;
    margin: 0 auto;
  }
  .campaign-magokoro-lead-sub p img + img {
    margin-top: .5rem;
  }
  .campaign-magokoro-present {
    padding: 3rem 0;
  }
  .campaign-magokoro-present-ttl {
    margin-bottom: 1.5rem;
  }
  .campaign-magokoro-present-imagebox {
    min-height: 84px;
    padding: 1.5rem 7rem 1.5rem 2rem;
    margin: 3rem 0;
    font-size: .9rem;
    background-position-x: left;
  }
  .campaign-magokoro-present-image {
    width: 8rem;
    bottom: -2rem;
    right: -1rem;
  }
  .campaign-magokoro-present-link {
    text-align: left;
  }
  .campaign-magokoro-present-note {
    font-size: .9rem;
  }
  .campaign-magokoro-present-list {
    margin: 2rem 0;
    text-align: center;
  }
  .campaign-magokoro-present-list dt {
    margin-bottom: 1em;
    font-weight: bold;
    color: #f59cb0;
    text-align: center;
  }
  .campaign-magokoro-image {
    margin-top: 2rem;
  }

  .campaign-anniversary {
    margin-top: 3.5rem;
  }
  .campaign-anniversary-ttl {
    margin-bottom: 2rem;
  }
  .campaign-anniversary-time {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
  .campaign-anniversary-time small {
    font-size: .8rem;
  }
  .campaign-anniversary-url {
    margin-bottom: 2rem;
    font-size: 1.2rem;
  }
  .campaign-anniversary-faq-ttl {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
  .campaign-anniversary-faq-btn {
    margin-bottom: 1rem;
  }
  .campaign-anniversary-faq-btn a {
    width: 100%;
    font-size: 1.5rem;
    line-height: 3.5rem;
  }
  .campaign-anniversary-faq-duration {
    font-size: .9rem;
  }
  .campaign-anniversary-faq-note {
    margin-top: 2rem;
  }
  .campaign-anniversary-faq-note dl {
    margin-bottom: 2rem; 
  }
  .campaign-anniversary-faq-note dt {
    margin: 0 auto 1em;
  }
}


/* add CAMPAIGN FIRST ANNIVERSARY **************************/
.campaign-fa a {
  color: #4379dc;
}
.campaign-fa a:hover {
  text-decoration: underline;
}
.campaign-fa-duration {
  text-align: center;
}
.campaign-fa-duration-caption {
  font-weight: bold;
}
.campaign-fa-duration-content {
  display: inline-block;
  padding: 0 1em;
  border-bottom: 2px solid;
}
.campaign-fa-ttl-02 {
  line-height: 2;
  margin: 0 auto;
  color: #e5ca6f;
  font-weight: bold;
  border: 2px solid;
  text-align: center;
  box-shadow: 0 0 10px 2px rgba(220, 217, 167, .55);
}
.campaign-fa-note {
  font-size: 90%;
}
.campaign-fa-text-kome {
  margin-left: 1em;
  text-indent: -1em;
}
.campaign-fa-text-kome:before {
  content: "※";
  text-indent: 0;
}
.campaign-fa-example {
  line-height: 2;
  color: #000;
  background: #fff;
  text-align: center;
}
.campaign-fa-example-caption {
  color: #4196e6;
}
.campaign-fa-example-list {
  display: inline-block;
  text-align: left;
}
.campaign-fa-example-list dl {
  display: flex;
}
.campaign-fa-entry {
  text-align: center;
  background: url(../images/campaign/first_anniversary/bg-entry.png) no-repeat center top;
}
.campaign-fa-entry dl {
  position: relative;
}
.campaign-fa-entry dl + dl:before {
  content: "▼";
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.campaign-fa-entry dd {
  font-weight: bold;
}
.campaign-fa-accept {
  text-align: center;
}
.campaign-fa-accept dl {
  position: relative;
}
.campaign-fa-accept dl + dl:before {
  content: "▼";
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.campaign-fa-accept dt {
  margin-bottom: 1em;
}
.campaign-fa-accept dt em {
  font-size: 200%;
}
.campaign-fa-accept dd {
  font-weight: bold;
}
.campaign-fa-gacha-ttl {
  margin-bottom: 1em;
  font-weight: bold;
  color: #fada6e;
  text-align: center;
}
.campaign-fa-gacha-ttl em {
  font-weight: inherit;
}
.campaign-fa-comeback-ttl {
  line-height: 2;
  margin: 0 auto;
  color: #000;
  font-weight: bold;
  text-align: center;
  background: #fff;
}
.campaign-fa-medal-image {
  text-align: center;
}
.campaign-fa-requirement-ttl {
  line-height: 2;
  margin: 0 auto 2em;
  color: #000;
  font-weight: bold;
  text-align: center;
  background: #57bff5;
}
@media screen and (min-width: 769px) {
  .campaign-fa {
    margin-bottom: 150px;
    padding-top: 150px;
  }
  .campaign-fa-ttl {
    font-size: 50px;
    font-weight: bold;
  }
  .campaign-fa .top-content-inner {
    max-width: 1000px;
  }
  .campaign-fa-sub {
    margin-top: 150px;
  }
  .campaign-fa-ttl-01 {
    margin-bottom: 30px;
  }
  .campaign-fa-ttl-02 {
    width: 750px;
    margin-top: 100px;
    font-size: 30px;
  }
  .campaign-fa-duration {
    margin-top: 100px;
  }
  .campaign-fa-duration-content {
    font-size: 40px;
  }
  .campaign-fa-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 -40px 80px;
  }
  .campaign-fa-list.mb-small {
    margin-bottom: 20px;
  }
  .campaign-fa-list li {
    width: 33.33%;
    padding: 80px 40px 0;
  }
  .campaign-fa-example {
    width: 900px;
    padding: 20px;
    margin: 60px auto 0;
    border-radius: 10px;
    font-size: 20px;
  }
  .campaign-fa-example-caption {
    font-size: 24px;
  }
  .campaign-fa-entry {
    padding-top: 350px;
    margin-top: 80px;
    background-size: 600px auto;
  }
  .campaign-fa-entry dl {
    margin-bottom: 100px;
  }
  .campaign-fa-entry dl + dl:before {
    top: -50px;
    font-size: 20px;
  }
  .campaign-fa-entry dt {
    font-size: 50px;
  }
  .campaign-fa-accept {
    margin: 80px 0;
  }
  .campaign-fa-accept dl {
    margin-bottom: 100px;
  }
  .campaign-fa-accept dl + dl:before {
    top: -50px;
  }
  .campaign-fa-accept dt {
    font-size: 20px;
  }
  .campaign-fa-gacha-ttl {
    font-size: 40px;
  }
  .campaign-fa-comeback-ttl {
    margin-top: 100px;
    width: 650px;
    font-size: 34px;
  }
  .campaign-fa-medal {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 800px;
    margin: 50px auto 0;
  }
  .campaign-fa-medal > * {
    width: 50%;
  }
  .campaign-fa-medal-image img {
    width: 300px;
  }
  .campaign-fa-requirement {
    margin-top: 200px;
  }
  .campaign-fa-requirement-ttl {
    width: 600px;
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .campaign-fa {
    margin-bottom: 6.5rem;
    padding-top: 3rem;
  }
  .campaign-fa-ttl {
    font-size: 2rem;
    font-weight: bold;
  }
  .campaign-fa-sub {
    margin-top: 5rem;
  }
  .campaign-fa-ttl-01 {
    margin-bottom: 1.5rem;
  }
  .campaign-fa-ttl-02 {
    margin-top: 3rem;
    font-size: 1.4rem;
  }
  .campaign-fa-duration {
    margin-top: 3rem;
  }
  .campaign-fa-duration-content {
    padding: 0 .5em;
    font-size: 1.45rem;
    white-space: nowrap;
  }
  .campaign-fa-list {
    margin-bottom: 3rem;
  }
  .campaign-fa-list.mb-small {
    margin-bottom: 3rem;
  }
  .campaign-fa-list li {
    padding: 5rem 4rem 0;
    text-align: center;
  }
  .campaign-fa-example {
    padding: 1rem;
    margin: 3rem auto 0;
    border-radius: 1rem;
  }
  .campaign-fa-example-caption {
    font-size: 1.2rem;
  }
  .campaign-fa-example-list dt {
    white-space: nowrap;
  }
  .campaign-fa-entry {
    padding-top: 15rem;
    margin-top: 3rem;
    background-size: 90% auto;
  }
  .campaign-fa-entry dl {
    margin-bottom: 5rem;
  }
  .campaign-fa-entry dl + dl:before {
    top: -2.5rem;
  }
  .campaign-fa-entry dt {
    font-size: 2rem;
  }
  .campaign-fa-accept {
    margin: 3rem 0;
  }
  .campaign-fa-accept dl {
    margin-bottom: 5rem;
  }
  .campaign-fa-accept dl + dl:before {
    top: -2.5rem;
  }
  .campaign-fa-accept dt {
    font-size: 1.2rem;
  }
  .campaign-fa-gacha-ttl {
    font-size: 1.4rem;
  }
  .campaign-fa-comeback-ttl {
    margin-top: 3rem;
    font-size: 1.2rem;
  }
  .campaign-fa-medal-image {
    margin: 3rem 4rem;
  }
  .campaign-fa-requirement {
    margin-top: 5rem;
  }
  .campaign-fa-requirement-ttl {
    font-size: 1.4rem;
  }
}

/* add CAMPAIGN SUMMER 2020 **************************/
.campaign-summer a {
  color: #4379dc;
}
.campaign-summer a:hover {
  text-decoration: underline;
}
.campaign-summer-duration {
  text-align: center;
}
.campaign-summer-duration-caption {
  font-weight: bold;
}
.campaign-summer-duration-content {
  display: inline-block;
  padding: 0 1em;
  border-bottom: 2px solid;
}
.campaign-summer-ttl-02 {
  line-height: 2;
  margin: 0 auto;
  color: #ffffff;
  font-weight: bold;
  border: 2px solid;
  text-align: center;
  box-shadow: 0 0 10px 2px rgba(220, 217, 167, .55);
}
.campaign-summer-note {
  font-size: 90%;
}
.campaign-summer-text-kome {
  margin-left: 1em;
  text-indent: -1em;
}
.campaign-summer-text-kome:before {
  content: "※";
  text-indent: 0;
}
.campaign-summer-example {
  line-height: 2;
  color: #fff;
  background: #4196e6;
}
.campaign-summer-example-list {
  display: inline-block;
  text-align: left;
}
.campaign-summer-example-list dl {
  display: flex;
}
.campaign-summer-gacha-ttl {
  margin-bottom: 1em;
  font-weight: bold;
}
.campaign-summer-gacha-ttl em {
  font-weight: inherit;
}
.campaign-summer-requirement-ttl {
  line-height: 2;
  margin: 0 auto 2em;
  color: #000;
  font-weight: bold;
  text-align: center;
  background: #57bff5;
}
@media screen and (min-width: 769px) {
  .campaign-summer {
    margin-bottom: 150px;
    padding-top: 150px;
  }
  .campaign-summer-ttl {
    font-size: 50px;
    font-weight: bold;
  }
  .campaign-summer .top-content-inner {
    max-width: 1000px;
  }
  .campaign-summer-sub {
    margin-top: 150px;
  }
  .campaign-summer-ttl-01 {
    margin-bottom: 30px;
  }
  .campaign-summer-ttl-02 {
    width: 750px;
    font-size: 30px;
  }
  .campaign-summer-duration {
    margin-top: 70px;
  }
  .campaign-summer-duration-content {
    font-size: 40px;
  }
  .campaign-summer-list {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    margin: 40px -40px;
  }
  .campaign-summer-list.mb-small {
    margin-bottom: 20px;
  }
  .campaign-summer-list li {
    width: 46%;
    padding: 0 10px;
  }
  .campaign-summer-example {
    width: 920px;
    padding: 20px 0 20px 20px;
    margin: 60px auto 40px;
    border-radius: 10px;
  }
  .campaign-summer-example-caption {
    text-indent: -5.4em;
    margin-left: 5.4em;
    font-size: 20px;
  }
  .campaign-summer-gacha-ttl {
    font-size: 30px;
  }
  .campaign-summer-requirement {
    margin-top: 200px;
  }
  .campaign-summer-requirement-ttl {
    width: 600px;
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .campaign-summer {
    margin-bottom: 6.5rem;
    padding-top: 3rem;
  }
  .campaign-summer-ttl {
    font-size: 2rem;
    font-weight: bold;
  }
  .campaign-summer-sub {
    margin-top: 5rem;
  }
  .campaign-summer-ttl-01 {
    margin-bottom: 1.5rem;
  }
  .campaign-summer-ttl-02 {
    margin-top: 3rem;
    font-size: 1.4rem;
  }
  .campaign-summer-duration {
    margin-top: 3rem;
  }
  .campaign-summer-duration-content {
    padding: 0 .5em;
    font-size: 1.45rem;
    white-space: nowrap;
  }
  .campaign-summer-list {
    margin: 3rem 0;
  }
  .campaign-summer-list.mb-small {
    margin-bottom: 3rem;
  }
  .campaign-summer-list li {
    text-align: center;
  }
  .campaign-summer-list li + li {
    padding-top: 4rem;
  }
  .campaign-summer-list li img[alt="報酬表"] {
    margin-top: -4rem;
  }
  .campaign-summer-example {
    padding: 1rem;
    margin: 3rem auto 1.5rem;
    border-radius: 1rem;
  }
  .campaign-summer-example-caption {
    margin-left: 1em;
    text-indent: -1em;
    font-size: 1.2rem;
  }
  .campaign-summer-example-list dt {
    white-space: nowrap;
  }
  .campaign-summer-gacha-ttl {
    font-size: 1.2rem;
  }
  .campaign-summer-requirement {
    margin-top: 5rem;
  }
  .campaign-summer-requirement-ttl {
    font-size: 1.4rem;
  }
}


/* card index *******************/
.card-index-item {
  text-align: center;
}
.card-index-item a {
  display: block;
}
.card-index-item-name {
  margin-top: .5em;
  font-weight: bold;
}

@media screen and (min-width: 769px) {
  .card-index {
    margin-bottom: 150px;
    padding-top: 150px;
  }
  .card-index-ttl {
    font-size: 48px;
    font-weight: bold;
  }
  .card-index-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
  }
  .card-index-item {
    width: 20%;
    padding: 0 20px;
  }
  .card-index-item:nth-child(n+6) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .card-index {
    margin-bottom: 6.5rem;
    padding-top: 3rem;
  }
  .card-index-ttl {
    font-size: 2rem;
    font-weight: bold;
  }
  .card-index-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .card-index-item {
    width: 47.5%;
  }
  .card-index-item:nth-child(n+3) {
    margin-top: 2rem;
  }
}


/* card detail *******************/
.card-detail-note {
  font-weight: bold;
  text-align: center;
}
.card-detail-sort {
  display: flex;
  justify-content: space-between;
}
.card-detail-sort li {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.4em;
  font-weight: bold;
  border: 1px solid #2dadff;
  background: #000;
  cursor: pointer;
}
.card-detail-sort li em {
  color: #ffd800;
}
.card-detail-item-name {
  margin-top: .5em;
  font-weight: bold;
  text-align: center;
}
.card-detail-item-inner {
  transform-style: preserve-3d;
  transition: transform .5s ease;
}
.card-detail-item-image,
.card-detail-item-prof {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.card-detail-item-rarity {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5em;
  border-bottom: 1px solid #2dadff;
}
.card-detail-item-rarity dt {
  position: relative;
  width: 40%;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  z-index: 0;
}
.card-detail-item-rarity dt:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2dadff;
  transform-origin: right bottom;
  transform: skewX(30deg);
  z-index: -1;
}
.card-detail-item-rarity dd {
  width: 60%;
  color: #ffd800;
  text-align: center;
}
.card-detail-item-param1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .25em;
}
.card-detail-item-param1 dt {
  width: 40%;
  font-weight: bold;
  text-align: center;
  background: #2dadff;
}
.card-detail-item-param1 dd {
  width: 60%;
  font-weight: bold;
  text-align: center;
}
.card-detail-item-param1 + .card-detail-item-param2 {
  margin-top: .5em;
}
.card-detail-item-param2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .25em;
}
.card-detail-item-param2 dt {
  width: 40%;
  font-weight: bold;
  text-align: center;
  border: 1px solid #2dadff;
  background: #000;
}
.card-detail-item-param2 dd {
  width: 3em;
  font-weight: bold;
  text-align: right;
  margin: 0 auto;
}
.card-detail-item-method {
  margin-top: .5em;
}
.card-detail-item-method-caption {
  margin-bottom: .25em;
  font-weight: bold;
}
.card-detail-item-method-caption:before {
  content: "▼";
  margin-right: .5em;
  color: #2dadff;
}
.card-detail-item-method-content {
  font-weight: bold;
}
.card-detail-back {
  margin: 0 auto;
}
.card-detail-back a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.4em;
  font-weight: bold;
  color: #000;
  font-weight: bold;
  background: #fff;
}

@media screen and (min-width: 769px) {
  .card-detail {
    margin-bottom: 150px;
    padding-top: 150px;
  }
  .card-detail-ttl {
    font-size: 48px;
    font-weight: bold;
  }
  .card-detail-note {
    display: none;
    margin-bottom: 40px;
    font-size: 24px;
  }
  .touch-device .card-detail-note {
    display: block;
  }
  .card-detail-sort li {
    width: 300px;
  }
  .card-detail-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 60px 0;
  }
  .card-detail-list:before,
  .card-detail-list:after {
    content: "";
    display: block;
    width: 22.5%;
    height: 0;
    visibility: hidden;
  }
  .card-detail-list:before {
    order: 1;
  }
  .card-detail-item {
    width: 22.5%;
  }
  .card-detail-item:nth-child(n+5) {
    margin-top: 60px;
  }
  .card-detail-item-inner {
    position: relative;
  }
  .card-detail-item:hover .card-detail-item-inner {
    transform: rotateY(180deg);
  }
  .card-detail-item-prof {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px 15px;
    transform: rotateY(-180deg);
    overflow: hidden;
    background: url(../card/images/00bg.png) no-repeat center center / 100% 100%;
    font-size: 14px;
  }
  .card-detail-item-method-content {
    font-size: 12px;
  }
  .card-detail-back {
    margin-top: 60px;
    width: 300px;
  }
}

@media screen and (max-width: 768px) {
  .card-detail {
    margin-bottom: 6.5rem;
    padding-top: 3rem;
  }
  .card-detail-ttl {
    font-size: 2rem;
    font-weight: bold;
  }
  .card-detail-note {
    display: none;
  }
  .card-detail-sort li {
    width: 31%;
  }
  .card-detail-list {
    margin: 3rem 0;
  }
  .card-detail-item + .card-detail-item {
    margin-top: 3rem;
  }
  .card-detail-item-inner {
    display: flex;
    justify-content: space-between;
  }
  .card-detail-item-image {
    width: 40%;
  }
  .card-detail-item-prof {
    width: 56%;
  }
  .card-detail-item-method-content {
    font-size: .8rem;
  }
  .card-detail-back {
    margin-top: 3rem;
    width: 80%;
  }
}
