@charset "UTF-8";
/*!
Theme Name: Tera classic
Version: 1.0
Author: GRAVITY GAME ARISE Co.,Ltd.
Author URI: https://gravityga.jp
*/
/* Box sizing rules */
/* Box sizingの定義 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
/* デフォルトのpaddingを削除 */
ul[class],
ol[class] {
  padding: 0;
}

/* Remove default margin */
/* デフォルトのmarginを削除 */
body,
h1,
h2,
h3,
h4,
h5,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
/* bodyのデフォルトを定義 */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class],
ol[class] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
/* img要素の扱いを簡単にする */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Inherit fonts for inputs and buttons */
/* inputやbuttonなどのフォントは継承を定義 */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
/* 見たくない人用に、すべてのアニメーションとトランジションを削除 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*----- LINKS -----*/
a {
  color: #43494e;
  text-decoration: none;
}

a:hover {
  color: #43494e;
}

*:focus {
  outline: none;
}

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

a[href^="tel:"] {
  cursor: default;
}

.gothic-font {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

br.forPC {
  display: inline;
}

br.forSP {
  display: none;
}

@media only screen and (max-width: 768px) {
  br.forPC {
    display: none;
  }

  br.forSP {
    display: inline;
  }
}
/*----- IMAGES -----*/
img {
  max-width: 100%;
  vertical-align: bottom;
}

img[src$=".svg"] {
  width: 100%;
}

/*! 404 PAGE NOT FOUND
========================================================================== */
#post-404 {
  background-color: transparent;
  display: block;
}
#post-404 .notfound {
  background-position: 50% 50%;
  background-size: cover;
}
#post-404 .notfound h1 {
  max-width: 300px;
  width: 70%;
  margin: auto;
  padding: 100px 0;
  mix-blend-mode: overlay;
}
#post-404 .nottext {
  max-width: 650px;
  width: 90%;
  padding: 50px 0 0;
  margin: auto;
  text-align: center;
}
#post-404 .nottext p {
  margin-bottom: 2rem;
  font-size: 1.4rem;
}

/*----- WP CORE -----*/
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #FFF;
  border: 1px solid #F0F0F0;
  max-width: 96%;
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Document
========================================================================== */
/*----- MISC -----*/
::-webkit-scrollbar {
  overflow: hidden;
  width: 3px;
  background: #292f33;
}

::-webkit-scrollbar:horizontal {
  height: 1px;
}

::-webkit-scrollbar-button {
  display: none;
}

::-webkit-scrollbar-piece {
  background: #292f33;
}

::-webkit-scrollbar-piece:start {
  background: #292f33;
}

::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 5px;
}

::-webkit-scrollbar-corner {
  background: #fff;
  border-radius: 5px;
}

/*----- MISC -----*/
::selection {
  background: #cedae3;
  color: #43494e;
  text-shadow: none;
}

::-webkit-selection {
  background: #cedae3;
  color: #43494e;
  text-shadow: none;
}

::-moz-selection {
  background: #cedae3;
  color: #43494e;
  text-shadow: none;
}

html {
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  height: 100vh;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ryumin_l_subset", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight: 500;
  font-size: 1.8rem;
  font-feature-settings: "palt" 1;
  color: #efefef;
  background: #121212;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  padding: 0;
  margin: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  body {
    font-size: 3.4666666667vw;
  }
}

/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    height: -webkit-fill-available;
  }
}
body.explorer #head,
body.explorer .wrapper {
  display: none;
}

body.explorer {
  height: 100%;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ryumin_l_subset", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight: 500;
  font-size: 1.8rem;
  font-feature-settings: "palt" 1;
  color: #242424;
  background: #fff;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  padding: 0;
  margin: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  body.explorer {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  body.explorer {
    font-size: 3.4666666667vw;
  }
}
body.explorer #expinner {
  text-align: center;
  width: 90%;
  max-width: 1024px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
body.explorer #expinner h1 {
  font-size: 3rem;
}
body.explorer #expinner h2 {
  font-size: 1.8rem;
  margin-bottom: 3rem;
}
body.explorer #expinner .links {
  font-size: 1.2rem;
}
body.explorer #expinner a {
  font-size: 1.4rem;
  display: inline-block;
  outline: 0;
  color: #fff;
  background-color: #0067b8;
  padding: 5px 12px 6px;
  font-weight: bold;
}

/* Sections
========================================================================== */
.wrapper.simple {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 50px);
}
.wrapper.simple main {
  flex: 1;
}

h2.entitle {
  position: relative;
  font-family: "Parisienne", cursive;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  text-align: center;
  font-weight: normal;
  white-space: nowrap;
  opacity: 1;
  z-index: 0;
  mix-blend-mode: overlay;
}

h3.caption {
  font-size: 1.8rem;
  text-align: center;
  color: #fff;
  margin-bottom: 50px;
}

div.spacer {
  display: flex;
  justify-content: center;
}
div.spacer span {
  display: block;
  width: 120px;
  height: 14px;
}
div.spacer span svg {
  vertical-align: top;
}
div.spacer.blk svg {
  fill: rgba(0, 0, 0, 0.4);
}
div.spacer.wht svg {
  fill: rgba(255, 255, 255, 0.4);
}
div.spacer.tall {
  margin: 10vh 0;
}
@media screen and (max-width: 768px) {
  div.spacer.tall {
    margin: 7vh 0;
  }
}
div.spacer.half {
  margin: 5vh 0;
}
@media screen and (max-width: 768px) {
  div.spacer.half {
    margin: 3vh 0;
  }
}
div.spacer.short {
  margin: 3vh 0;
}

hr.linesquare {
  position: relative;
  overflow: unset;
  border: 0;
  border-bottom: 1px solid;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  hr.linesquare {
    width: 100%;
  }
}
hr.linesquare::before, hr.linesquare::after {
  content: "";
  display: block;
  background: #fff;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
hr.linesquare::before {
  left: 0;
}
hr.linesquare::after {
  right: 0;
}
hr.linesquare.tall {
  margin: 10vh auto;
}
hr.linesquare.half {
  margin: 5vh auto;
}
hr.linesquare.short {
  margin: 3vh auto;
}

.lozad {
  opacity: 0;
  transition: opacity 480ms;
}
.lozad.loaded {
  opacity: 1;
}

/**
* Featherlight – ultra slim jQuery lightbox
* Version 1.7.13 - http://noelboss.github.io/featherlight/
*
* Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/
.lightbox {
  display: none;
}

html.with-featherlight {
  /* disable global scrolling when featherlights are visible */
  overflow: hidden;
}

.featherlight {
  display: none;
  /* dimensions: spanning the background from edge to edge */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483647;
  /* z-index needs to be >= elements on the site. */
  /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
  white-space: nowrap;
  text-align: center;
  /* styling */
  cursor: pointer;
  background: #333;
  /* IE8 "hack" for nested featherlights */
  background: rgba(0, 0, 0, 0);
}

/* support for nested featherlights. Does not work in IE8 (use JS to fix) */
.featherlight:last-of-type {
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: saturate(90%) blur(5px);
  backdrop-filter: saturate(90%) blur(5px);
}

.featherlight:before {
  /* position: trick to center content vertically */
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.featherlight .featherlight-content {
  /* make content container for positioned elements (close button) */
  position: relative;
  text-align: left;
  /* position: centering vertical and horizontal */
  vertical-align: middle;
  display: inline-block;
  /* dimensions: handling large content */
  max-height: 100%;
  width: 90%;
  max-width: 1280px;
  /* styling */
  cursor: auto;
  /* reset white-space wrapping */
  white-space: normal;
}

/* contains the content */
.featherlight .featherlight-inner {
  /* make sure its visible */
  display: block;
}

/* don't show these though */
.featherlight script.featherlight-inner,
.featherlight link.featherlight-inner,
.featherlight style.featherlight-inner {
  display: none;
}

.featherlight .featherlight-close-icon {
  display: none;
}

.featherlight .featherlight-close-icon:focus {
  outline: 0;
}

.featherlight.howto .featherlight-close-icon {
  position: absolute;
  bottom: -30px;
  left: calc(50% - 30px);
  width: 60px;
  height: 53px;
  text-align: center;
  z-index: 999;
  background-image: url(./img/icons/close.png);
  background-position: 50% 50%;
  background-size: cover;
  background-color: transparent;
  transform-origin: 50% 20%;
  display: inline-block;
  /* styling */
  cursor: pointer;
  text-align: center;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  border: none;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .featherlight.howto .featherlight-close-icon {
    bottom: -40px;
  }
}
.featherlight.howto .featherlight-close-icon:hover {
  animation: shakelose 120ms linear infinite;
}
@keyframes shakelose {
  0% {
    transform: rotate(0deg);
  }
  12.5% {
    transform: rotate(1.6deg);
  }
  25% {
    transform: rotate(3.2deg);
  }
  37.5% {
    transform: rotate(0.8deg);
  }
  50% {
    transform: rotate(0deg);
  }
  62.5% {
    transform: rotate(-0.8deg);
  }
  75% {
    transform: rotate(-3.2deg);
  }
  87.5% {
    transform: rotate(-1.6deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.featherlight.featherlight-iframe .featherlight-close-icon {
  display: inline-block;
  /* position: centering vertical and horizontal */
  position: absolute;
  z-index: 9999;
  top: 0;
  right: 0;
  /* dimensions: 25px x 25px */
  line-height: 25px;
  width: 25px;
  /* styling */
  cursor: pointer;
  text-align: center;
  font-family: Arial, sans-serif;
  background: #fff;
  /* Set the background in case it overlaps the content */
  background: rgba(255, 255, 255, 0.3);
  color: #000;
  border: none;
  padding: 0;
}

.featherlight .featherlight-image {
  /* styling */
  width: 100%;
}

.featherlight-iframe .featherlight-content {
  /* removed the border for image croping since iframe is edge to edge */
  border-bottom: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  position: relative;
  width: 80%;
  max-width: 1280px;
  padding-top: 45%;
}

.featherlight-iframe .featherlight-content iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.featherlight iframe {
  /* styling */
  border: none;
}

.featherlight-loading:after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 11px;
  background-image: url(./img/icons/ajax-loader.gif);
  background-position: 50% 50%;
  background-size: cover;
}

/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
  .featherlight .featherlight-content {
    /* dimensions: maximize lightbox with for small screens */
    margin-left: 0;
    margin-right: 0;
    max-height: 98%;
  }
}
/* hide non featherlight items when printing */
@media print {
  html.with-featherlight > * > :not(.featherlight) {
    display: none;
  }
}
/* MODAL
---------------------------*/
.modal-trigger {
  padding: 1em 1.5em;
  background: #E8E8E8;
  border: 2px solid #000;
}

.modal-trigger:hover {
  cursor: pointer;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  background: rgba(30, 30, 30, 0.8);
  transition: 0.3s;
  cursor: pointer;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
}
.modal-overlay:hover {
  -webkit-backdrop-filter: saturate(90%) blur(10px);
          backdrop-filter: saturate(90%) blur(10px);
}

.modal-container {
  top: 50%;
  left: 50%;
  z-index: 200;
  visibility: hidden;
  transform: translate(-50%, -50%);
}

.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.3em 0.4em;
  color: #333;
  font-size: 2em;
}
.modal-close:hover {
  cursor: pointer;
}

.modal--show {
  opacity: 1;
  position: fixed;
  visibility: visible;
}
.modal--show ~ .modal-overlay {
  visibility: visible;
  opacity: 1;
}
.modal--show .modal-content {
  opacity: 1;
}

.section1 {
  z-index: 6;
}

.section2 {
  z-index: 5;
}

.section3 {
  z-index: 4;
}

.section4 {
  z-index: 3;
}

.section5 {
  z-index: 2;
}

.section6 {
  z-index: 1;
}

.sectionOne {
  position: relative;
  overflow: hidden;
  background-color: #000;
  z-index: 1;
}

.section0 {
  background: #fff;
  z-index: 0;
}

section {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #000;
}

/* HEADER
========================================================================== */
#header {
  position: fixed;
  width: 100%;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 2vh;
  transition: all 240ms;
  pointer-events: none;
}
#header #logo {
  width: 200px;
  transition: width 240ms;
  pointer-events: all;
}
@media screen and (max-width: 768px) {
  #header #logo {
    width: 150px;
  }
}
#header.shrink {
  padding: 5px;
  background: rgba(0, 0, 0, 0.8);
  box-shadow: 0 0.1px 0.6px rgba(0, 0, 0, 0.07), 0 0.3px 1.3px rgba(0, 0, 0, 0.101), 0 0.6px 2.5px rgba(0, 0, 0, 0.125), 0 1.1px 4.5px rgba(0, 0, 0, 0.149), 0 2.1px 8.4px rgba(0, 0, 0, 0.18), 0 5px 20px rgba(0, 0, 0, 0.25);
}
#header.shrink #logo {
  width: 80px;
}

#headersimple {
  width: 100%;
  z-index: 999;
  display: grid;
  place-items: center;
  height: 50px;
}
#headersimple #logo {
  width: 80px;
  transition: width 240ms;
}

/* HERO
========================================================================== */
.previsual {
  position: relative;
  width: 100%;
  height: 80vh;
}

.herovisual {
  position: relative;
  width: 100%;
  min-height: 75vh;
  display: grid;
  place-items: end center;
}

.movie {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.movie video {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}

.overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.15) 75%), linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}

.herovisual .floatbox {
  position: relative;
  z-index: 2;
  padding: 150px 0 30px;
  margin: 0 auto;
  width: 100%;
}
.herovisual .floatbox .superbanner {
  margin: 0 auto;
  width: 80%;
  display: grid;
  place-items: center;
}

.herovisual ul.storelist {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  padding: 0;
  margin: 30px auto 0;
  list-style: none;
}
.herovisual ul.storelist li:nth-child(2) {
  padding-left: 10px;
}
@media screen and (min-width: 769px) {
  .herovisual ul.storelist {
    max-width: 370px;
  }
}
@media screen and (max-width: 768px) {
  .herovisual ul.storelist {
    max-width: 300px;
  }
}
@media screen and (max-width: 480px) {
  .herovisual ul.storelist {
    width: 90%;
  }
}

.scrollWrap {
  position: absolute;
  z-index: 50;
  left: 2vw;
  bottom: 2vh;
  margin: 0;
  overflow: hidden;
}
.scrollWrap p {
  position: relative;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
  padding-left: 0.5rem;
}
.scrollWrap .scroll {
  overflow: hidden;
  display: block;
  height: 40px;
  margin: 0;
  overflow: hidden;
}
.scrollWrap .scroll:after, .scrollWrap .scroll:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 100%;
  content: "";
}
.scrollWrap .scroll:before {
  z-index: 10;
  animation: scroll 2400ms infinite normal;
  background: #bf953f;
}
.scrollWrap .scroll:after {
  background: #ffffff;
}
@keyframes scroll {
  0% {
    transform: translate3d(0, -100%, 0);
  }
  15% {
    transform: translate3d(0, -98%, 0);
  }
  85% {
    transform: translate3d(0, 98%, 0);
  }
  100% {
    transform: translate3d(0, 100%, 0);
  }
}
/* WORLD
========================================================================== */
.wrapper.mobile #world {
  padding: 5vh 0 7vh;
}

#world {
  padding: 20vh 0 15vh;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #world {
    padding: 5vh 0 7vh;
  }
}
#world:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
#world .outerwrap {
  width: 95%;
  max-width: 800px;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  #world .outerwrap {
    z-index: 5;
  }
}
#world .outerwrap:hover ~ .clouds {
  opacity: 0.2;
}
#world .outerwrap h2.entitle {
  font-size: 20rem;
  margin-bottom: -4.8rem;
}
@media screen and (max-width: 768px) {
  #world .outerwrap h2.entitle {
    font-size: 26.0417vw;
    margin-bottom: -6.25vw;
  }
}
#world .outerwrap .continner {
  color: #333;
  font-size: 1.6rem;
  position: relative;
  text-align: center;
  margin: 0 auto;
  padding: 6.2vh 7vh 9vh;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0px 0.7px rgba(0, 0, 0, 0.021), 0 0px 1.6px rgba(0, 0, 0, 0.031), 0 0px 2.8px rgba(0, 0, 0, 0.038), 0 0px 4.2px rgba(0, 0, 0, 0.044), 0 0px 6px rgba(0, 0, 0, 0.05), 0 0px 8.5px rgba(0, 0, 0, 0.056), 0 0px 12.1px rgba(0, 0, 0, 0.062), 0 0px 17.5px rgba(0, 0, 0, 0.069), 0 0px 27px rgba(0, 0, 0, 0.079), 0 0px 48px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  #world .outerwrap .continner {
    padding: 6.2vh 4vh 9vh;
  }
}
#world .outerwrap .continner::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #fff;
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#world .outerwrap .continner h3.title {
  font-size: 3rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #world .outerwrap .continner h3.title {
    font-size: 4.6875vw;
  }
}
#world .outerwrap .continner p {
  margin-bottom: 4rem;
  line-height: 2;
}
@media screen and (max-width: 840px) {
  #world .outerwrap .continner p {
    font-size: 1.90476vw;
  }
}
@media screen and (max-width: 630px) {
  #world .outerwrap .continner p {
    font-size: 1.2rem;
  }
}
#world .outerwrap .continner p:last-of-type {
  margin-bottom: 0;
}

#world .clouds {
  pointer-events: none;
  width: 10000px;
  height: 100%;
  background: transparent url("./img/world/clouds.png") repeat;
  background-size: 1000px 1000px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 3;
  opacity: 0.9;
  transition: opacity 1200ms;
  animation: cloud 106269ms linear infinite;
}
@media screen and (max-width: 768px) {
  #world .clouds {
    display: none;
  }
}

@keyframes cloud {
  0% {
    transform: translate3d(0px, 0px, 0px);
  }
  100% {
    transform: translate3d(1000px, 0px, 0px);
  }
}
/* CHARACTER
========================================================================== */
#character {
  background: #000;
}
#character .specbox {
  position: relative;
  z-index: 5;
  display: flex;
  max-width: 1280px;
  width: 95%;
  margin: auto;
  min-height: 100vh;
  height: 100%;
}
@media screen and (max-width: 768px) {
  #character .specbox {
    width: 100%;
    justify-content: center;
  }
}
#character .specbox .textarea {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 769px) {
  #character .specbox .textarea {
    justify-content: center;
    width: 50%;
    background-color: rgba(0, 0, 0, 0);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0);
    min-height: 700px;
    padding: 10vh 0 calc(100px + 15vh);
    transition: all 360ms;
    transition-delay: 720ms;
  }
}
@media screen and (max-width: 768px) {
  #character .specbox .textarea {
    width: 100%;
    justify-content: flex-end;
    padding: calc(100px + 80vw) 0 10vh;
    background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.5) 60%, rgba(0, 0, 0, 0.7));
  }
}
#character .specbox .textarea:before {
  content: "";
  position: absolute;
  top: 0;
  z-index: 10;
}
#character .charabox {
  width: 100%;
  height: 100%;
  top: 0%;
  position: absolute;
  pointer-events: none;
  z-index: 3;
  filter: contrast(110%) brightness(90%);
}
@media screen and (max-width: 768px) {
  #character .charabox {
    height: 100%;
    bottom: 0;
  }
}
#character .charabox img {
  width: auto;
  max-width: inherit;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-25%);
  transition: opacity 480ms, transform 240ms;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  #character .charabox img {
    transform: translateX(-45%);
  }
}

/* CHARACTER::COMMON SETTING
========================================================================== */
#character .swiper-container .swiper-wrapper .swiper-slide {
  position: relative;
  text-shadow: 0 0 10px #000;
}
#character .swiper-container .swiper-wrapper .swiper-slide:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  background-color: rgba(0, 0, 0, 0.3);
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_en {
  position: relative;
  font-family: "Parisienne", cursive;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  text-align: center;
  font-weight: normal;
  white-space: nowrap;
  font-size: 20rem;
  margin-bottom: -8rem;
  z-index: -1;
  opacity: 0.15;
}
@media screen and (max-width: 1280px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_en {
    font-size: 15.625vw;
    margin-bottom: -6.25vw;
  }
}
@media screen and (min-width: 769px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_en {
    opacity: 0;
    transform: translateY(-5vh);
    transition: opacity 1680ms, transform 1680ms;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  }
}
@media screen and (max-width: 768px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_en {
    display: none;
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_jp {
  line-height: 1;
  font-size: 7rem;
  font-weight: bold;
  margin-bottom: 3vh;
}
@media screen and (max-width: 1280px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_jp {
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .job_jp {
    font-size: 13.46875vw;
    margin-bottom: 1vh;
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .race {
  width: 100%;
  font-size: 3rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3vh;
}
@media screen and (max-width: 1280px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .race {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .race {
    font-size: 5.525vw;
    margin-bottom: 1vh;
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .race span {
  margin: 0 2rem;
}
@media screen and (max-width: 1100px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .race span {
    margin: 0 2vw;
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .race i {
  display: block;
  width: calc(100% / 5);
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .race i:first-of-type {
  transform: scale(-1, 1);
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .text {
  width: 80%;
}
@media screen and (max-width: 768px) {
  #character .swiper-container .swiper-wrapper .swiper-slide .textarea .text {
    width: 90%;
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills h3 {
  width: 100%;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 15px;
  position: relative;
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills h3::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills .skill {
  max-height: 70px;
  max-width: 70px;
  margin: 0 10px;
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills .skill:before {
  content: "";
  background-image: url(./img/icons/skill-overlay.png);
  background-position: 50% 50%;
  background-size: cover;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50;
  pointer-events: none;
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills .skill a {
  display: block;
  position: relative;
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea .skills .skill a i {
  position: relative;
  display: block;
  border-radius: 100px;
  overflow: hidden;
  z-index: 10;
}
@keyframes rotate1 {
  0% {
    transform: rotateZ(0deg) scaleX(1.01) scaleY(1.01);
  }
  50% {
    transform: rotateZ(180deg) scaleX(0.98) scaleY(0.9);
  }
  100% {
    transform: rotateZ(360deg) scaleX(1.01) scaleY(1.01);
  }
}
@keyframes rotate2 {
  0% {
    transform: rotateZ(0deg) scaleX(1.01) scaleY(1.01);
  }
  50% {
    transform: rotateZ(-180deg) scaleX(0.9) scaleY(0.98);
  }
  100% {
    transform: rotateZ(-360deg) scaleX(1.01) scaleY(1.01);
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide .textarea div {
  opacity: 0;
  transform: translateY(10vh);
  transition: opacity 840ms, transform 840ms;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
#character .swiper-container .swiper-wrapper .swiper-slide .bgimage {
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 20s ease-out, opacity 480ms ease-out;
}

/* CHARACTER::COMMON SETTING
========================================================================== */
#character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .skill a:after, #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .skill a:before {
  content: "";
  border-radius: 100%;
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  transform-origin: center center;
  filter: blur(0.5px);
}
#character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .skill a:before {
  box-shadow: inset 0 5px 0 rgba(166, 201, 230, 0.6), inset 5px 0 0 rgba(166, 201, 230, 0.6), inset 0 -5px 0 rgba(166, 201, 230, 0.6), inset -5px 0 0 rgba(166, 201, 230, 0.6);
  animation: rotate1 2400ms -480ms linear infinite;
}
#character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .skill a:after {
  box-shadow: inset 0 5px 0 rgba(166, 201, 230, 0.6), inset 5px 0 0 rgba(166, 201, 230, 0.6), inset 0 -5px 0 rgba(166, 201, 230, 0.6), inset -5px 0 0 rgba(166, 201, 230, 0.6);
  animation: rotate2 2400ms -480ms linear infinite;
}
@keyframes rotate1 {
  0% {
    transform: rotateZ(0deg) scaleX(1.01) scaleY(1.01);
  }
  50% {
    transform: rotateZ(180deg) scaleX(0.98) scaleY(0.9);
  }
  100% {
    transform: rotateZ(360deg) scaleX(1.01) scaleY(1.01);
  }
}
@keyframes rotate2 {
  0% {
    transform: rotateZ(0deg) scaleX(1.01) scaleY(1.01);
  }
  50% {
    transform: rotateZ(-180deg) scaleX(0.9) scaleY(0.98);
  }
  100% {
    transform: rotateZ(-360deg) scaleX(1.01) scaleY(1.01);
  }
}
@media screen and (min-width: 769px) {
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea {
    background-color: rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea:before {
    background: rgba(0, 0, 0, 0.7);
    animation: textareamove 840ms 360ms normal;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea .job_en {
    opacity: 0.15;
    transform: translateY(0);
    transition-delay: 1080ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div {
    opacity: 1;
    transform: translateY(0);
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(1) {
    transition-delay: 840ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(2) {
    transition-delay: 960ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(3) {
    transition-delay: 1080ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(4) {
    transition-delay: 1200ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(5) {
    transition-delay: 1320ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(6) {
    transition-delay: 1440ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(7) {
    transition-delay: 1560ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(8) {
    transition-delay: 1680ms;
  }
}
@media screen and (max-width: 768px) {
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div {
    opacity: 1;
    transform: translateY(0);
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(1) {
    transition-delay: 120ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(2) {
    transition-delay: 240ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(3) {
    transition-delay: 360ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(4) {
    transition-delay: 480ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(5) {
    transition-delay: 600ms;
  }
  #character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .textarea div:nth-child(6) {
    transition-delay: 720ms;
  }
}
#character .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active .bgimage {
  transform: translate(-50%, -50%) scale(1.2);
}

@keyframes textareamove {
  0% {
    width: 0;
    height: 0;
    right: 0;
  }
  40% {
    height: 100%;
    width: 3px;
    right: 0;
  }
  60% {
    height: 100%;
    width: 100%;
    right: 0;
  }
  100% {
    height: 100%;
    width: 0;
    right: 100%;
  }
}
/* CHARACTER::SETTING
========================================================================== */
@media screen and (max-width: 768px) {
  #character .swiper-container .swiper-wrapper .swiper-slide.chara04 .charabox {
    top: -5%;
  }
}
#character .swiper-button-prev, #character .swiper-button-next {
  position: absolute;
  top: 30%;
  width: 10vw;
  height: 10vw;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(45deg);
  display: none;
  transition: background 240ms;
}
@media screen and (max-width: 768px) {
  #character .swiper-button-prev, #character .swiper-button-next {
    display: flex;
    width: 35px;
    height: 35px;
  }
}
#character .swiper-button-prev:hover, #character .swiper-button-next:hover {
  background: rgba(255, 255, 255, 0.8);
}
#character .swiper-button-prev:after, #character .swiper-button-next:after {
  content: "" !important;
  width: 12px;
  height: 12px;
  display: block;
  border: 2px solid #000;
}
#character .swiper-button-prev:before, #character .swiper-button-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "" !important;
  display: block;
  border: 1px solid #000;
}
@media screen and (max-width: 768px) {
  #character .swiper-button-prev:before, #character .swiper-button-next:before {
    width: calc(35px - 4px);
    height: calc(35px - 4px);
  }
}
#character .swiper-button-prev.swiper-button-disabled, #character .swiper-button-next.swiper-button-disabled {
  opacity: 0.2;
}
#character .swiper-button-prev:after {
  border-top: none;
  border-right: none;
}
#character .swiper-button-next:after {
  border-left: none;
  border-bottom: none;
}
#character .swiper-button-prev, #character .swiper-container-rtl .swiper-button-next {
  left: 2vw;
  right: auto;
}
#character .swiper-button-next, #character .swiper-container-rtl .swiper-button-prev {
  right: 2vw;
  left: auto;
}

/* NEWS
========================================================================== */
#news {
  padding: 15vh 0 15vh;
  background-color: #fff;
  background-image: url(./img/information/newsBG.jpg);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #news {
    padding: 15vh 0 7vh;
  }
}
#news:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.15) 75%), linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
#news.onHero {
  display: block;
  padding-top: 0 !important;
}
#news.onHero .hero-header {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: -50px;
}
@media (max-width: 1280px) {
  #news.onHero .hero-header {
    margin-bottom: -3.9vw;
  }
}
#news.onHero .hero-header__image {
  width: 2500px;
  left: 50%;
  transform: translateX(-50%);
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, black 90%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 90%, transparent 100%);
}
@media (max-width: 1280px) {
  #news.onHero .hero-header__image {
    width: 200vw;
    max-width: 2500px;
    height: auto;
  }
}
@media (max-width: 768px) {
  #news.onHero .hero-header__image {
    width: 100vw;
    height: auto;
    left: inherit;
    transform: inherit;
  }
}
#news h2.entitle {
  font-size: 15rem;
  margin-bottom: -3.7rem;
}
@media screen and (max-width: 1000px) {
  #news h2.entitle {
    font-size: 15vw;
    margin-bottom: -3.7vw;
  }
}
#news h2.entitle i {
  font-size: 2.8rem;
  color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-style: normal;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #news h2.entitle i {
    display: none;
  }
}
#news .outerwrap {
  width: 95%;
  max-width: 1000px;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  #news .outerwrap {
    z-index: 5;
  }
}
#news .outerwrap .continner {
  font-size: 1.6rem;
  position: relative;
  text-align: center;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 480px) {
  #news .outerwrap .continner {
    font-size: 3.4666666667vw;
  }
}
#news .outerwrap .continner ul {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}
#news .outerwrap .continner ul li.item {
  text-align: left;
  position: relative;
}
#news .outerwrap .continner ul li.item:first-of-type::before {
  content: "";
  display: block;
  width: calc(100% - 4vh);
  height: 1px;
  background: #333;
  margin-left: 2vh;
}
#news .outerwrap .continner ul li.item:not(:last-of-type):after {
  content: "";
  display: block;
  width: calc(100% - 4vh);
  height: 1px;
  background: #333;
  margin-left: 2vh;
}
#news .outerwrap .continner ul li.item a {
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 240ms;
  padding: 5vh 4vh;
}
@media (max-width: 768px) {
  #news .outerwrap .continner ul li.item a {
    padding: 5vw 4vh;
  }
}
#news .outerwrap .continner ul li.item a:hover {
  background-color: rgba(25, 30, 35, 0.61);
}
#news .outerwrap .continner ul li.item a:hover i {
  fill: rgba(255, 255, 255, 0.8);
}
#news .outerwrap .continner ul li.item a i {
  display: block;
  width: 20px;
  height: 20px;
  fill: rgba(255, 255, 255, 0.2);
  margin-left: 1rem;
  transition: fill 240ms;
  flex-shrink: 0;
}
#news .outerwrap .continner ul li.item a i svg {
  vertical-align: top;
  padding-top: 1px;
}
#news .outerwrap .continner ul li.item a .textbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
#news .outerwrap .continner ul li.item a .metabox {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
  #news .outerwrap .continner ul li.item a .metabox {
    font-size: 3.4666666667vw;
  }
}
#news .outerwrap .continner ul li.item a .metabox .date {
  color: #ccd6dd;
  margin-right: 10px;
  letter-spacing: 0;
}
#news .outerwrap .continner ul li.item a .metabox .category {
  position: relative;
  font-size: 1rem;
  display: flex;
  align-items: center;
  padding-left: 19px;
  margin-right: 20px;
  letter-spacing: 0;
  width: 85px;
  height: 20px;
  line-height: 1;
  background-color: var(--main-bg-color);
  border-radius: 5px 2px 2px 5px;
}
#news .outerwrap .continner ul li.item a .metabox .category:before, #news .outerwrap .continner ul li.item a .metabox .category:after {
  content: "";
  position: absolute;
}
#news .outerwrap .continner ul li.item a .metabox .category:before {
  display: block;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}
#news .outerwrap .continner ul li.item a .metabox .category:after {
  right: -9px;
  top: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: transparent transparent transparent var(--main-bg-color);
  border-width: 10px 0 10px 10px;
}
#news .outerwrap .continner ul li.item a h4.title {
  font-size: 1.8rem;
}
@media screen and (max-width: 640px) {
  #news .outerwrap .continner ul li.item a h4.title {
    font-size: 1.4rem;
    width: 100%;
  }
}
#news .outerwrap .continner ul li.item.viewmore {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4vh 20px;
}
#news .outerwrap .continner ul li.item.viewmore a.word {
  display: flex;
  align-items: center;
  border: 1px solid #fff;
  padding: 5px 25px 7px;
  border-radius: 50px;
  font-size: 1.6rem;
  transition: background 240ms, color 240ms;
}
#news .outerwrap .continner ul li.item.viewmore a.word i {
  display: block;
  width: 14px;
  height: 14px;
  fill: #fff;
  margin-left: 1rem;
  transition: fill 240ms;
}
#news .outerwrap .continner ul li.item.viewmore a.word i svg {
  vertical-align: top;
  padding-top: 1px;
}
#news .outerwrap .continner ul li.item.viewmore a.word:hover {
  border: 1px solid #fff;
  background: #fff;
  color: #121212;
}
#news .outerwrap .continner ul li.item.viewmore a.word:hover i {
  fill: #121212;
}
#news .outerwrap .continner .titlebox {
  padding: 4vh 5vh;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #news .outerwrap .continner .titlebox {
    padding: 2vh 2.5vh;
  }
}
#news .outerwrap .continner .titlebox h1.title {
  position: relative;
  font-size: 5rem;
  margin-bottom: 2vh;
}
@media screen and (max-width: 768px) {
  #news .outerwrap .continner .titlebox h1.title {
    font-size: 6.51042vw;
  }
}
#news .outerwrap .continner .titlebox:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #333;
}
#news .outerwrap .continner .titlebox .metabox {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 2vh;
}
@media screen and (max-width: 480px) {
  #news .outerwrap .continner .titlebox .metabox {
    font-size: 3.4666666667vw;
  }
}
#news .outerwrap .continner .titlebox .metabox .date {
  color: #ccd6dd;
  margin-right: 10px;
  letter-spacing: 0;
}
#news .outerwrap .continner .titlebox .metabox .category {
  position: relative;
  font-size: 1rem;
  display: flex;
  align-items: center;
  padding-left: 19px;
  margin-right: 20px;
  letter-spacing: 0;
  width: 85px;
  height: 20px;
  line-height: 1;
  background-color: var(--main-bg-color);
  border-radius: 5px 2px 2px 5px;
}
#news .outerwrap .continner .titlebox .metabox .category:before, #news .outerwrap .continner .titlebox .metabox .category:after {
  content: "";
  position: absolute;
}
#news .outerwrap .continner .titlebox .metabox .category:before {
  display: block;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}
#news .outerwrap .continner .titlebox .metabox .category:after {
  right: -9px;
  top: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: transparent transparent transparent var(--main-bg-color);
  border-width: 10px 0 10px 10px;
}
#news .outerwrap .continner .entrybox {
  padding: 4vh 5vh 7vh;
  padding-top: 0;
  text-align: left;
  line-height: 2;
  overflow: hidden;
  /*Text Color*/
  /*List*/
  /*Youtube*/
  /*Form(サンプルのみで使用)*/
}
#news .outerwrap .continner .entrybox table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #news .outerwrap .continner .entrybox {
    padding: 2vh 2.5vh;
    padding-top: 0;
  }
}
#news .outerwrap .continner .entrybox h2 {
  background: linear-gradient(to left, #101015, rgba(25, 40, 57, 0.6));
  border-top: double 0.3em #554c2e;
  border-bottom: double 0.3em #554c2e;
  color: #ead186;
  margin: 2.4rem 0 0.8rem 0;
  padding-left: 0.5em;
}
#news .outerwrap .continner .entrybox h3::before {
  background: url("./img/icons/h3background.png") left center no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  left: 0;
  width: 0.9em;
  height: 0.9em;
}
#news .outerwrap .continner .entrybox h3 {
  padding-left: 1em;
  text-indent: -1em;
}
#news .outerwrap .continner .entrybox p img {
  padding: 0.5em 0;
}
#news .outerwrap .continner .entrybox p {
  line-height: 1.8;
}
#news .outerwrap .continner .entrybox a {
  color: #aaaaaa;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
#news .outerwrap .continner .entrybox .blue {
  color: #6fb7e9;
}
#news .outerwrap .continner .entrybox .red {
  color: #ff5c5c;
}
#news .outerwrap .continner .entrybox .note-list li::before {
  content: "※";
}
#news .outerwrap .continner .entrybox .note-list li {
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
#news .outerwrap .continner .entrybox .note-list li {
  margin-bottom: 0.5em;
}
#news .outerwrap .continner .entrybox .note-list li:last-child {
  margin-bottom: 0;
}
#news .outerwrap .continner .entrybox .youtube {
  position: relative;
  height: 0;
  padding: 30px 0 56.25%;
  overflow: hidden;
}
#news .outerwrap .continner .entrybox .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0.5em 0;
}
#news .outerwrap .continner .entrybox hr {
  border-style: none;
  border-top: 2px solid #535353;
}
#news .outerwrap .continner .entrybox textarea.sample {
  resize: inherit;
  width: 100%;
  height: 120px;
  font-size: 14px;
  margin-top: 10px;
}
#news .outerwrap .continner .entrybox textarea.sample::selection, #news .outerwrap .continner .entrybox input.sample::selection {
  color: #000;
}
#news .outerwrap .continner .entrybox .totalpoll-wrapper {
  background: #fff;
  padding: 15px;
}
#news .outerwrap a.totop {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0 0 3vh;
  padding: 5px 0;
  color: #bfbfbf;
  transition: color 240ms;
}
#news .outerwrap a.totop:before, #news .outerwrap a.totop:after {
  content: "";
  background-color: #c7c7c7;
  position: absolute;
  display: block;
  height: 1px;
  width: 0%;
  left: 50%;
  transform: translateX(-50%);
  transition: width 240ms;
}
#news .outerwrap a.totop:before {
  top: 0;
}
#news .outerwrap a.totop:after {
  bottom: 0;
}
#news .outerwrap a.totop i {
  fill: #bfbfbf;
  display: inline-block;
  width: 15px;
  height: 15px;
  transition: fill 240ms;
}
#news .outerwrap a.totop i svg {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#news .outerwrap a.totop span {
  margin-left: 1rem;
}
#news .outerwrap a.totop:hover {
  color: #fff;
}
#news .outerwrap a.totop:hover i {
  fill: #fff;
}
#news .outerwrap a.totop:hover:before, #news .outerwrap a.totop:hover:after {
  width: 100%;
}

#news nav#menuBox {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  --menuAWPC: 50px;
  --menuAWSP: 50px;
  --menuWPC: 120px;
  --menuWSP: 90px;
  --borderCol: rgba(255, 255, 255, 0.2);
}
@media (max-width: 768px) {
  #news nav#menuBox {
    margin-bottom: 5vw;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid #111;
  }
}
#news nav#menuBox ul#menu-news {
  display: flex;
  padding: 4vh 2vh;
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news {
    padding: 3vw 2vh 2vw;
    width: calc((var(--menuWPC) * 4) + var(--menuAWPC));
  }
}
@media (max-width: 480px) {
  #news nav#menuBox ul#menu-news {
    padding: 4vw 2vh 2vw;
    width: calc((var(--menuWSP) * 4) + var(--menuAWSP));
  }
}
#news nav#menuBox ul#menu-news li {
  flex-basis: 50%;
  white-space: nowrap;
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news li {
    display: inline-block;
    flex-basis: auto;
    width: var(--menuWPC);
  }
}
@media (max-width: 480px) {
  #news nav#menuBox ul#menu-news li {
    font-size: 1.2rem;
    width: var(--menuWSP);
  }
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news li.menu-all {
    width: var(--menuAWPC);
  }
}
@media (max-width: 480px) {
  #news nav#menuBox ul#menu-news li.menu-all {
    width: var(--menuAWSP);
  }
}
#news nav#menuBox ul#menu-news li:first-of-type a {
  border-left: 1px solid var(--borderCol);
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news li:first-of-type a {
    border: none;
  }
}
#news nav#menuBox ul#menu-news li a {
  overflow: hidden;
  display: block;
  width: 100%;
  border: 1px solid var(--borderCol);
  border-left: none;
  color: #fff;
  padding: 1.5vh 2vh;
  position: relative;
  transition: color 480ms;
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news li a {
    border: none;
    padding: 0 0 5px;
  }
}
@media (max-width: 480px) {
  #news nav#menuBox ul#menu-news li a {
    padding: 0 0 2px;
  }
}
#news nav#menuBox ul#menu-news li a:hover {
  color: #111;
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news li a:hover {
    color: #fff;
  }
}
@media (min-width: 769px) {
  #news nav#menuBox ul#menu-news li a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: "";
    background: #fff;
    transform-origin: right bottom;
    transform: scale(1, 0);
    transition: opacity 360ms, transform 360ms;
    opacity: 0;
  }
  #news nav#menuBox ul#menu-news li a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
    opacity: 1;
  }
}
#news nav#menuBox ul#menu-news li.current-menu-item a {
  color: #111;
}
#news nav#menuBox ul#menu-news li.current-menu-item a::before {
  transform-origin: left top;
  transform: scale(1, 1);
  opacity: 1;
}
@media (max-width: 768px) {
  #news nav#menuBox ul#menu-news li.current-menu-item a {
    color: #fff;
  }
  #news nav#menuBox ul#menu-news li.current-menu-item a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: "";
    background: #fff;
    width: 100%;
    height: 2px;
  }
}

/* PAGINATION
========================================================================== */
#pagination {
  position: relative;
}
#pagination:before {
  content: "";
  display: block;
  width: calc(100% - 4vh);
  height: 1px;
  background: #333;
  margin-left: 2vh;
}
#pagination ul.pagelist {
  padding: 5vh 4vh !important;
  display: flex;
  justify-content: center;
}
#pagination ul.pagelist li {
  margin: 0 5px;
}
#pagination ul.pagelist li a, #pagination ul.pagelist li span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid transparent;
  transition: border 480ms;
}
#pagination ul.pagelist li a {
  color: #fff;
}
#pagination ul.pagelist li a:hover {
  border: 1px solid #fff;
}
#pagination ul.pagelist li span {
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
}

#news.simple {
  padding: 0vh 0 10vh;
}

/* NEWS Privacy Policy
========================================================================== */
#news .outerwrap .continner.policy {
  text-align: left;
}
#news .outerwrap .continner.policy .entrybox h2 {
  font-size: 2rem;
  margin: 5vh 0 1vh;
}

/* NEWS Questions and Answer
========================================================================== */
#news.faq h2.entitle {
  font-size: 11rem;
  margin-bottom: -2.7rem;
}
@media screen and (max-width: 1000px) {
  #news.faq h2.entitle {
    font-size: 11vw;
    margin-bottom: -2.7vw;
  }
}
#news.faq .continner {
  text-align: left;
}
#news.faq .continner .content {
  padding: 4vh 5vh 2vh;
}
@media screen and (max-width: 768px) {
  #news.faq .continner .content {
    padding: 2vh 2.5vh;
  }
}
#news.faq .continner .content:last-of-type {
  padding-bottom: 7vh;
}
#news.faq .continner .content h2.title {
  position: relative;
  margin-bottom: 1vh;
}
#news.faq .continner .content h2.title:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #333;
}
#news.faq .continner .content h2.title span {
  padding: 0 0 1vh;
  display: block;
}
#news.faq .faqbox h3 {
  position: relative;
  font-size: 1.8rem;
  margin-top: 2vh;
  margin-bottom: 1vh;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  #news.faq .faqbox h3 {
    font-size: 4.4666666667vw;
  }
}
#news.faq .faqbox ul.faq-wrap {
  margin-bottom: 7vh;
}
#news.faq .faqbox ul.faq-wrap li {
  padding: 1vh 0;
  margin-bottom: 1vh;
  transition: background 1200ms;
}
#news.faq .faqbox ul.faq-wrap li:hover {
  transition: background 240ms;
  background: rgba(0, 0, 0, 0.2);
}
#news.faq .faqbox ul.faq-wrap li.active {
  background: rgba(0, 0, 0, 0.6);
}
#news.faq .faqbox ul.faq-wrap li.active h4.question i:before {
  transform: rotate(-45deg);
}
#news.faq .faqbox ul.faq-wrap li.active h4.question i:after {
  transform: rotate(45deg);
}
#news.faq .faqbox ul.faq-wrap li h4.question {
  position: relative;
  cursor: pointer;
  display: flex;
  padding-right: 40px;
}
@media screen and (max-width: 768px) {
  #news.faq .faqbox ul.faq-wrap li h4.question {
    padding-right: 1vh;
  }
}
#news.faq .faqbox ul.faq-wrap li h4.question span {
  padding-top: 0.3rem;
}
#news.faq .faqbox ul.faq-wrap li h4.question:before {
  content: "Q.";
  font-size: 2.6rem;
  line-height: 1;
  opacity: 0.25;
  font-weight: bold;
  padding: 0 0.5rem;
}
@media screen and (max-width: 480px) {
  #news.faq .faqbox ul.faq-wrap li h4.question:before {
    font-size: 2rem;
  }
}
#news.faq .faqbox ul.faq-wrap li h4.question i {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 768px) {
  #news.faq .faqbox ul.faq-wrap li h4.question i {
    display: none;
  }
}
#news.faq .faqbox ul.faq-wrap li h4.question i:before, #news.faq .faqbox ul.faq-wrap li h4.question i:after {
  content: "";
  background-color: #c7c7c7;
  position: absolute;
  display: block;
  top: 50%;
  height: 2px;
  width: 40%;
  transition: transform 480ms;
}
#news.faq .faqbox ul.faq-wrap li h4.question i:before {
  left: 5px;
  transform: rotate(45deg);
}
#news.faq .faqbox ul.faq-wrap li h4.question i:after {
  right: 5px;
  transform: rotate(-45deg);
}
#news.faq .faqbox ul.faq-wrap li div.anser.peek-a-box {
  display: none;
}
#news.faq .faqbox ul.faq-wrap li div.anser.peek-a-box .inbox {
  display: flex;
  padding: 1vh 0 3vh;
  padding-right: 1vh;
  font-size: 1.4rem;
}
@media screen and (max-width: 480px) {
  #news.faq .faqbox ul.faq-wrap li div.anser.peek-a-box .inbox {
    font-size: 3.4666666667vw;
  }
}
#news.faq .faqbox ul.faq-wrap li div.anser.peek-a-box .inbox:before {
  content: "A.";
  font-size: 2.6rem;
  line-height: 1;
  opacity: 0.25;
  font-weight: bold;
  padding: 0 0.5rem;
}
@media screen and (max-width: 480px) {
  #news.faq .faqbox ul.faq-wrap li div.anser.peek-a-box .inbox:before {
    font-size: 2rem;
  }
}
#news.faq .gotoLink {
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#news.faq .gotoLink a {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #ffffff;
  padding: 10px 5px;
  transition: all 240ms;
}
@media screen and (max-width: 1200px) {
  #news.faq .gotoLink a {
    justify-content: end;
    padding: 7px 15px;
  }
}
#news.faq .gotoLink a:hover {
  color: #121212;
  background: #fff;
}
#news.faq .gotoLink a img {
  margin-right: 5px;
}
#news.faq .gotoLink.count1 {
  justify-content: center;
}
#news.faq .gotoLink.count1 a {
  width: 60%;
}
@media screen and (max-width: 768px) {
  #news.faq .gotoLink.count1 a {
    width: 100%;
  }
}
#news.faq .gotoLink.count2 {
  justify-content: space-between;
}
#news.faq .gotoLink.count2 a {
  width: calc(100% / 2 - 10px);
}
@media screen and (max-width: 900px) {
  #news.faq .gotoLink.count2 a {
    width: 100%;
  }
  #news.faq .gotoLink.count2 a:not(:last-of-type) {
    margin-bottom: 10px;
  }
}
#news.faq .gotoLink.count3 {
  justify-content: space-between;
}
#news.faq .gotoLink.count3 a {
  width: calc(100% / 3 - 10px);
}
@media screen and (max-width: 1200px) {
  #news.faq .gotoLink.count3 a {
    width: 100%;
  }
  #news.faq .gotoLink.count3 a:not(:last-of-type) {
    margin-bottom: 10px;
  }
}
#news.faq .gotoLink.countwide {
  justify-content: space-between;
}
#news.faq .gotoLink.countwide a {
  width: calc(100% / 2 - 7px);
  margin-bottom: 15px;
}
@media screen and (max-width: 900px) {
  #news.faq .gotoLink.countwide a {
    width: 100%;
  }
  #news.faq .gotoLink.countwide a:not(:last-of-type) {
    margin-bottom: 10px;
  }
}

/* コンタクトフォーム
========================================================================== */
#news.contact .outerwrap {
  max-width: 600px;
}
#news.contact h2.title {
  position: relative;
  padding: 4vh 5vh;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #news.contact h2.title {
    padding: 2vh 2.5vh;
  }
}
#news.contact h2.title:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #333;
}
#news.contact h2.title span {
  padding: 0 0 1vh;
  display: block;
}
#news.contact .mw_wp_form .mw-inner {
  padding: 0 5vh 7vh;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #news.contact .mw_wp_form .mw-inner {
    padding: 0 2.5vh 4vh;
  }
}
#news.contact .mw_wp_form .mw-inner .contact-row {
  margin-bottom: 20px;
}
#news.contact .mw_wp_form .mw-inner .contact-row div.title {
  font-size: 1.3rem;
  padding-left: 0.3rem;
  padding-bottom: 5px;
}
#news.contact .mw_wp_form .mw-inner .contact-row div.title .required {
  color: #f00;
}
#news.contact .mw_wp_form .mw-inner .contact-row div.title .required:after {
  content: "*";
}
#news.contact .mw_wp_form .mw-inner .contact-row p.note {
  font-size: 1rem;
  padding: 5px 0;
  padding-left: 0.3rem;
  color: #dddddd;
}
#news.contact .mw_wp_form .mw-inner .contact-row .error {
  font-size: 1.2rem;
  background-color: #fff0f1;
  border: 1px solid #e35b66;
  color: #cc3340;
  border-radius: 4px;
  line-height: 14px;
  margin-top: 5px;
  padding: 7px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
#news.contact .mw_wp_form .mw-inner .contact-row .error + input, #news.contact .mw_wp_form .mw-inner .contact-row .error + textarea, #news.contact .mw_wp_form .mw-inner .contact-row .error ~ span label {
  background: #f2c4c4 !important;
}
#news.contact .mw_wp_form .mw-inner .contact-row .error ~ span label {
  padding: 5px;
}
#news.contact .mw_wp_form .mw-inner .contact-row div.wrap {
  display: flex;
  flex-wrap: wrap;
  color: #555;
  width: 100%;
  font-size: 1.6rem;
  padding: 10px 10px 0;
  background: #f5f5f5;
  border: 1px solid #dedede;
  box-sizing: border-box;
  border-radius: 4px;
}
#news.contact .mw_wp_form .mw-inner .contact-row div.wrap span.mwform-checkbox-field, #news.contact .mw_wp_form .mw-inner .contact-row div.wrap span.mwform-radio-field {
  display: inline-block;
  align-items: center;
  margin-right: 10px;
  padding-bottom: 10px;
  margin-left: 0 !important;
}
#news.contact .mw_wp_form .mw-inner .contact-row div.wrap span label {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
}
#news.contact .mw_wp_form .mw-inner input, #news.contact .mw_wp_form .mw-inner textarea, #news.contact .mw_wp_form .mw-inner select {
  width: 100%;
  font-size: 1.6rem;
  padding: 5px 10px;
  background: #f5f5f5;
  border: 1px solid #dedede;
  box-sizing: border-box;
  border-radius: 4px;
}
#news.contact .mw_wp_form .mw-inner input[type=radio], #news.contact .mw_wp_form .mw-inner textarea[type=radio], #news.contact .mw_wp_form .mw-inner select[type=radio] {
  width: auto;
}
#news.contact .mw_wp_form .mw-inner input[type=checkbox], #news.contact .mw_wp_form .mw-inner textarea[type=checkbox], #news.contact .mw_wp_form .mw-inner select[type=checkbox] {
  width: auto;
}
#news.contact .mw_wp_form .mw-inner input[type=file], #news.contact .mw_wp_form .mw-inner textarea[type=file], #news.contact .mw_wp_form .mw-inner select[type=file] {
  background: transparent;
  border: none;
  width: auto;
  font-size: 1.2rem;
  align-items: center;
  padding: 5px 0;
}
#news.contact .mw_wp_form .mw-inner input[type=submit], #news.contact .mw_wp_form .mw-inner textarea[type=submit], #news.contact .mw_wp_form .mw-inner select[type=submit] {
  background-color: #0072ef;
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 2.72;
  min-width: 190px;
  padding: 0 1.9286em;
}
#news.contact .mw_wp_form .mw-inner input.repetition:not(:last-of-type), #news.contact .mw_wp_form .mw-inner textarea.repetition:not(:last-of-type), #news.contact .mw_wp_form .mw-inner select.repetition:not(:last-of-type) {
  margin-bottom: 5px;
}
#news.contact .mw_wp_form .mw-inner textarea {
  display: block;
}
#news.contact .requests-notice {
  font-size: 1.1rem;
  padding: 0 5vh 7vh;
  text-align: left;
}
#news.contact .requests-notice .requests-notice-title {
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #a5a5a5;
}
#news.contact .requests-notice ul {
  padding: 0;
  padding-left: 2rem;
  margin: 0;
  list-style: circle;
}

#news.contact button.back {
  background-color: #ccc;
  border: 0;
  border-radius: 4px;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  line-height: 2.72;
  min-width: 190px;
  padding: 0 1.9286em;
  margin: 20px auto 0;
  display: block;
}

#news.contact .requests-wrap {
  padding: 0 5vh 7vh;
  text-align: left;
}
#news.contact .requests-wrap .requests-notice {
  border: 1px solid #a5a5a5;
  font-size: 1.1rem;
  padding: 10px;
}
#news.contact .requests-wrap .requests-notice .requests-notice-title {
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #a5a5a5;
}
#news.contact .requests-wrap .requests-notice ul {
  padding: 0;
  padding-left: 2rem;
  margin: 0;
  list-style: square;
}

/* INFORMATION
========================================================================== */
.wrapper.mobile #information {
  padding: 10vh 0 15vh;
}
@media screen and (max-width: 768px) {
  .wrapper.mobile #information {
    padding: 7vh 0 7vh;
  }
}

#information {
  flex-direction: column;
  padding: 20vh 0 15vh;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #information {
    padding: 12vh 0 7vh;
  }
}
#information.release {
  padding-top: 0 !important;
}
#information:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  pointer-events: none;
}
#information h2.entitle {
  font-size: 20rem;
  margin-bottom: -13.1rem;
}
@media screen and (max-width: 1000px) {
  #information h2.entitle {
    font-size: 20vw;
    margin-bottom: -14.25vw;
  }
}
#information .outerwrap {
  width: 95%;
  max-width: 1000px;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  #information .outerwrap {
    z-index: 5;
  }
}
#information .outerwrap div.innerbox {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  #information .outerwrap div.innerbox {
    flex-direction: column;
    align-items: center;
  }
}
#information .outerwrap div.innerbox .infobox {
  width: calc(50% - 20px);
  overflow-y: hidden;
}
#information .outerwrap div.innerbox .infobox h3.boxtitle {
  color: #fff;
  font-size: 7rem;
  font-weight: normal;
  text-align: center;
  margin-bottom: -2.2rem;
  letter-spacing: 0;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 768px) {
  #information .outerwrap div.innerbox .infobox h3.boxtitle {
    font-size: 9.11458vw;
    margin-bottom: -2.85vw;
  }
}
#information .outerwrap div.innerbox .infobox div.box {
  height: 500px;
  overflow-y: scroll;
  background: rgba(0, 0, 0, 0.5);
  transition: background 480ms;
}
@media screen and (max-width: 1000px) {
  #information .outerwrap div.innerbox .infobox div.box {
    background: rgba(0, 0, 0, 0.8);
  }
}
#information .outerwrap div.innerbox .infobox div.box:hover {
  background: rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 1000px) {
  #information .outerwrap div.innerbox .infobox {
    width: inherit;
  }
  #information .outerwrap div.innerbox .infobox.newsbox {
    max-width: 450px;
    flex-basis: 100%;
    margin-bottom: 5vh;
  }
  #information .outerwrap div.innerbox .infobox.tweetbox {
    max-width: 450px;
    width: 100%;
  }
}

div.infobox.newsbox div.box ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
div.infobox.newsbox div.box ul li a {
  color: #fff;
  display: block;
  padding: 2vh 20px;
  transition: all 240ms;
}
div.infobox.newsbox div.box ul li a:hover {
  background-color: rgba(25, 30, 35, 0.61);
}
div.infobox.newsbox div.box ul li a .textbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
div.infobox.newsbox div.box ul li a .metabox {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
  div.infobox.newsbox div.box ul li a .metabox {
    font-size: 3.4666666667vw;
  }
}
div.infobox.newsbox div.box ul li a .metabox .date {
  color: #CCD6DD;
  margin-right: 10px;
  letter-spacing: 0;
}
div.infobox.newsbox div.box ul li a .metabox .category {
  position: relative;
  font-size: 1rem;
  display: flex;
  align-items: center;
  padding-left: 19px;
  margin-right: 20px;
  letter-spacing: 0;
  width: 85px;
  height: 20px;
  line-height: 1;
  background-color: var(--main-bg-color);
  border-radius: 5px 0 0 5px;
}
div.infobox.newsbox div.box ul li a .metabox .category:before, div.infobox.newsbox div.box ul li a .metabox .category:after {
  content: "";
  position: absolute;
}
div.infobox.newsbox div.box ul li a .metabox .category:before {
  display: block;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}
div.infobox.newsbox div.box ul li a .metabox .category:after {
  right: -10px;
  top: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: transparent transparent transparent var(--main-bg-color);
  border-width: 10px 0 10px 10px;
}
div.infobox.newsbox div.box ul li a h4.title {
  font-size: 1.8rem;
}
@media screen and (max-width: 640px) {
  div.infobox.newsbox div.box ul li a h4.title {
    font-size: 1.4rem;
    width: 100%;
  }
}
div.infobox.newsbox div.box ul li.viewmore {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4vh 20px;
}
div.infobox.newsbox div.box ul li.viewmore a.word {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  padding: 0 25px;
  padding-left: 50px;
  color: #fff;
  height: 40px;
  border-radius: 50px;
  font-size: 1.6rem;
  transition: background 240ms, color 240ms;
}
div.infobox.newsbox div.box ul li.viewmore a.word::before {
  content: "";
  position: absolute;
  display: block;
  margin: 0;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  background: #fff;
  left: 0;
  z-index: -1;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
div.infobox.newsbox div.box ul li.viewmore a.word .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #333;
  z-index: 2;
}
div.infobox.newsbox div.box ul li.viewmore a.word .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 5px;
  width: 20px;
  height: 2px;
  background: none;
}
div.infobox.newsbox div.box ul li.viewmore a.word .icon.arrow::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 10px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #121212;
  border-right: 2px solid #121212;
  transform: translateY(-50%) rotate(45deg);
}
div.infobox.newsbox div.box ul li.viewmore a.word:hover {
  color: #121212;
}
div.infobox.newsbox div.box ul li.viewmore a.word:hover::before {
  width: 100%;
}
div.infobox.newsbox div.box ul li.viewmore a.word:hover .icon.arrow {
  background: #121212;
  left: 20px;
}
/* INFORMATION
========================================================================== */
.wrapper.mobile #system {
  padding: 20vh 0;
}

#system.comingsoon:after {
  mix-blend-mode: color;
  background: #fff;
}
#system.comingsoon .outerwrap p {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.6) 85%, transparent);
  line-height: 1;
  padding: 5px 0 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #system.comingsoon .outerwrap p {
    font-size: 3rem;
  }
}
#system.comingsoon .outerwrap p:after {
  content: "";
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.6) 85%, transparent);
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
}
#system.comingsoon .outerwrap p:before {
  top: 3px;
}
#system.comingsoon .outerwrap p:before, #system.comingsoon .outerwrap p:after {
  bottom: 3px;
}

#system {
  flex-direction: column;
  padding: 20vh 0 15vh;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #system {
    padding: 12vh 0 7vh;
  }
}
#system:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  pointer-events: none;
}
#system:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  pointer-events: none;
}
#system h2.entitle {
  font-size: 20rem;
  margin-bottom: -4.8rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #system h2.entitle {
    font-size: 26.0417vw;
    margin-bottom: -6.25vw;
  }
}
#system .outerwrap {
  width: 95%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 5;
}
#system .outerwrap .container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  flex-wrap: wrap;
}
#system .outerwrap .container .tab-list li, #system .outerwrap .container .tab-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#system .outerwrap .container .tab-list {
  width: 150px;
}
@media screen and (max-width: 768px) {
  #system .outerwrap .container .tab-list {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #system .outerwrap .container .tab-list ul {
    display: flex;
    justify-content: space-between;
  }
}
#system .outerwrap .container .tab-list ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2px;
  margin-bottom: 10px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  border: 1px solid #343d50;
  background: #000;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  transition: border 240ms;
  position: relative;
}
@media screen and (max-width: 768px) {
  #system .outerwrap .container .tab-list ul li {
    width: calc(100% / 4 - 5px);
    margin-bottom: 5vh;
    font-size: 1.2rem;
    padding: 1px;
  }
}
#system .outerwrap .container .tab-list ul li span {
  letter-spacing: 0;
  flex-grow: 1;
  border: 1px solid #52607e;
  padding: 8px 5px;
  transition: border 480ms;
}
@media (max-width: 519px) {
  #system .outerwrap .container .tab-list ul li span {
    padding: 5px 5px;
  }
}
#system .outerwrap .container .tab-list ul li:hover span {
  border: 1px solid #fff;
}
#system .outerwrap .container .tab-list ul li::before, #system .outerwrap .container .tab-list ul li::after, #system .outerwrap .container .tab-list ul li span::before, #system .outerwrap .container .tab-list ul li span::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 240ms;
  background: #fff;
}
#system .outerwrap .container .tab-list ul li::before {
  width: 0px;
  height: 1px;
  top: -1px;
  left: -1px;
}
#system .outerwrap .container .tab-list ul li:hover::before {
  width: calc(100% + 2px);
}
#system .outerwrap .container .tab-list ul li::after {
  width: 0px;
  height: 1px;
  bottom: -1px;
  right: -1px;
}
#system .outerwrap .container .tab-list ul li:hover::after {
  width: calc(100% + 2px);
}
#system .outerwrap .container .tab-list ul li span::before {
  width: 1px;
  height: 0;
  bottom: -1px;
  left: -1px;
}
#system .outerwrap .container .tab-list ul li span:hover::before {
  height: calc(100% + 2px);
}
#system .outerwrap .container .tab-list ul li span::after {
  width: 1px;
  height: 0;
  top: -1px;
  right: -1px;
}
#system .outerwrap .container .tab-list ul li span:hover::after {
  height: calc(100% + 2px);
}
#system .outerwrap .container .tab-list ul li.active {
  border: 1px solid #fff;
  color: #fff;
}
#system .outerwrap .container .tab-list ul li.active i::before, #system .outerwrap .container .tab-list ul li.active i::after {
  content: "";
  display: block;
  border: 7px solid transparent;
  position: absolute;
  z-index: 5;
}
@media screen and (min-width: 767px) {
  #system .outerwrap .container .tab-list ul li.active i::before, #system .outerwrap .container .tab-list ul li.active i::after {
    border-right-width: 2px;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 768px) {
  #system .outerwrap .container .tab-list ul li.active i::before, #system .outerwrap .container .tab-list ul li.active i::after {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 767px) {
  #system .outerwrap .container .tab-list ul li.active i::before {
    border-left: 12px solid #fff;
    right: -15px;
  }
}
@media screen and (max-width: 768px) {
  #system .outerwrap .container .tab-list ul li.active i::before {
    border-top: 12px solid #fff;
    bottom: -16px;
  }
}
@media screen and (min-width: 767px) {
  #system .outerwrap .container .tab-list ul li.active i::after {
    border-left: 12px solid #000;
    right: -13px;
  }
}
@media screen and (max-width: 768px) {
  #system .outerwrap .container .tab-list ul li.active i::after {
    border-top: 12px solid #000;
    bottom: -14px;
  }
}
#system .outerwrap .tab-body {
  position: relative;
  width: calc(100% - 170px);
  height: auto;
}
@media screen and (max-width: 768px) {
  #system .outerwrap .tab-body {
    width: 100%;
  }
}
#system .outerwrap .tab-body .tab-body-content {
  border-left: 0;
  transition: opacity 480ms;
}
#system .outerwrap .tab-body .tab-body-content h3 {
  display: flex;
  align-items: center;
  z-index: 5;
  position: relative;
  font-weight: normal;
  height: 70px;
  transform: translateY(-35px);
  margin-bottom: -70px;
}
#system .outerwrap .tab-body .tab-body-content h3 span {
  font-size: 4rem;
  font-style: italic;
  padding: 0 20px 0 0;
  letter-spacing: 0;
  filter: drop-shadow(2px 2px 2px #000);
}
@media (max-width: 519px) {
  #system .outerwrap .tab-body .tab-body-content h3 span {
    font-size: 2.6rem;
  }
}
#system .outerwrap .tab-body .tab-body-content h3::before, #system .outerwrap .tab-body .tab-body-content h3::after {
  content: "";
  height: 1px;
  display: block;
  background: #fff;
}
#system .outerwrap .tab-body .tab-body-content h3::before {
  flex-grow: 1;
}
#system .outerwrap .tab-body .tab-body-content h3::after {
  flex-grow: 10;
}
#system .outerwrap .tab-body .tab-body-content h3 i {
  height: 50px;
  width: 1px;
  display: block;
  background: #fff;
  position: absolute;
  top: 50%;
}
#system .outerwrap .tab-body .tab-body-content h3 i:first-of-type {
  left: 0;
}
#system .outerwrap .tab-body .tab-body-content h3 i:last-of-type {
  right: 0;
}
#system .outerwrap .tab-body .tab-body-content.active {
  display: block;
  visibility: visible;
  position: relative;
  opacity: 1;
}
#system .outerwrap .tab-body .tab-body-content.hide {
  opacity: 0;
  display: block;
  visibility: hidden;
  position: absolute;
  width: calc(100%);
  height: 0;
}

/* GENERAL RULES (REQUIRED) */
.tab-wrap {
  overflow: hidden;
}
.tab-wrap .tabContentTop, .tab-wrap .tabContentBot {
  height: 0;
  opacity: 0;
  padding: 0;
  opacity: 0;
  transition: opacity 0ms;
  width: 100%;
  overflow: hidden;
}
.tab-wrap .tabContentTop.active, .tab-wrap .tabContentBot.active {
  height: auto;
  opacity: 1;
  order: 1;
  pointer-events: auto;
  transition: transform 240ms 80ms, opacity 480ms 80ms;
}
.tab-wrap .tabContentTop {
  position: relative;
  transform: translateX(30%);
  padding: 0 10px;
}
.tab-wrap .tabContentTop.active {
  transform: translateX(0);
}
.tab-wrap .tabContentTop.active ~ .tabContentTop {
  transform: translateX(-30%);
}
.tab-wrap .tabContentTop .systemmovie, .tab-wrap .tabContentTop .system-swiper-container {
  overflow: hidden;
  padding: 10px 0;
  width: 100%;
}
.tab-wrap .tabContentBot {
  transform: translateX(-30%);
}
.tab-wrap .tabContentBot.active {
  padding: 30px;
  transform: translateX(0);
}
.tab-wrap .tabContentBot.active ~ .tabContentBot {
  transform: translateX(30%);
}

.tab-wrap .tabContentTop a .playBtn {
  position: absolute;
  width: 120px;
  height: 120px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.tab-wrap .tabContentTop a .playBtn i {
  display: block;
  transition: all 480ms;
}
.tab-wrap .tabContentTop a .playBtn i.out {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.tab-wrap .tabContentTop a .playBtn svg .st0 {
  fill: none;
}
.tab-wrap .tabContentTop a .playBtn svg .st1 {
  fill: rgba(255, 255, 255, 0.5);
  transition: all 480ms;
}
.tab-wrap .tabContentTop a .playBtn svg .st2 {
  fill: none;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 3;
  stroke-miterlimit: 7.5;
  transition: all 480ms;
}
.tab-wrap .tabContentTop a:hover .playBtn i.out {
  transform: rotate(360deg);
}
.tab-wrap .tabContentTop a:hover .playBtn svg .st1 {
  fill: white;
}
.tab-wrap .tabContentTop a:hover .playBtn svg .st2 {
  stroke: white;
}

.tab-wrap .tabContentBot {
  position: relative;
  background: rgba(0, 0, 0, 0.85);
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
}
.tab-wrap .tabContentBot:before {
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  display: block;
  border: 1px solid #333333;
  position: absolute;
  top: 10px;
  left: 10px;
  pointer-events: none;
}
.tab-wrap .tabContentBot h4 {
  text-align: center;
  font-size: 3.6rem;
  border-bottom: 1px solid #333333;
  position: relative;
  margin-bottom: 3vh;
}
@media screen and (max-width: 580px) {
  .tab-wrap .tabContentBot h4 {
    font-size: 6.2vw;
  }
}
.tab-wrap .tabContentBot h4::before, .tab-wrap .tabContentBot h4::after {
  content: "";
  height: 5px;
  width: 5px;
  display: block;
  background: #333333;
  position: absolute;
  bottom: 0;
  transform: translateY(3px) rotate(45deg);
}
.tab-wrap .tabContentBot h4::before {
  left: 0;
}
.tab-wrap .tabContentBot h4::after {
  right: 0;
}

ul.tabMenu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 3vh 0 1.5vh;
  position: relative;
}
ul.tabMenu:before {
  content: "";
  width: 100%;
  height: 50px;
  display: block;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: calc(-50px - 3vh);
}
ul.tabMenu li {
  position: relative;
  display: grid;
  place-items: center;
  letter-spacing: 0;
  line-height: 1.1;
  cursor: pointer;
  font-size: 1.4rem;
  color: #fff;
  width: calc(100% / 4 - 10px);
  border-radius: 50px;
  padding: 10px;
  margin: 0 5px 1.5vh !important;
  text-align: center;
  background: linear-gradient(200deg, #042f52, #296da3 50%, #042f52);
  background-size: 100% 300%;
  transition: background-position 240ms;
  --shadow-size: 10px;
  --shadow-color: rgba(0, 0, 0, 0.3);
  text-shadow: 2px 0px var(--shadow-size) var(--shadow-color), 1px 0px var(--shadow-size) var(--shadow-color), -1px 0px var(--shadow-size) var(--shadow-color), -2px 0 var(--shadow-size) var(--shadow-color), 0 0 var(--shadow-size) var(--shadow-color), 0 2px var(--shadow-size) var(--shadow-color), 0 1px var(--shadow-size) var(--shadow-color), 0 -1px var(--shadow-size) var(--shadow-color), 0 -2px var(--shadow-size) var(--shadow-color);
}
@media screen and (max-width: 640px) {
  ul.tabMenu li {
    width: calc(100% / 2 - 10px);
    margin: 0 5px 1.5vh !important;
    font-size: 1.2rem;
    padding: 7px;
  }
}
ul.tabMenu li:hover {
  background-position: 0 100%;
}
ul.tabMenu li.active {
  background: #6087a7;
}
ul.tabMenu li::before, ul.tabMenu li::after {
  content: "";
  position: absolute;
  border-radius: 50px;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  z-index: -1;
  background: #6087a7;
}
/* SLIDER */
#system .swiper-button-prev, #system .swiper-button-next {
  position: absolute;
  top: 55%;
  width: 10vw;
  height: 10vw;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-50%) rotate(45deg);
  display: none;
  transition: background 240ms;
  display: flex;
  width: 35px;
  height: 35px;
}
@media (max-width: 959px) {
  #system .swiper-button-prev, #system .swiper-button-next {
    width: 25px;
    height: 25px;
  }
}
@media (max-width: 519px) {
  #system .swiper-button-prev, #system .swiper-button-next {
    width: 20px;
    height: 20px;
  }
}
#system .swiper-button-prev:hover, #system .swiper-button-next:hover {
  background: rgba(255, 255, 255, 0.8);
}
#system .swiper-button-prev:after, #system .swiper-button-next:after {
  content: "" !important;
  width: 12px;
  height: 12px;
  display: block;
  border: 2px solid #000;
}
#system .swiper-button-prev:before, #system .swiper-button-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "" !important;
  display: block;
  border: 1px solid #000;
}
#system .swiper-button-prev.swiper-button-disabled, #system .swiper-button-next.swiper-button-disabled {
  opacity: 0.2;
}
#system .swiper-button-prev:after {
  border-top: none;
  border-right: none;
}
#system .swiper-button-next:after {
  border-left: none;
  border-bottom: none;
}
#system .swiper-button-prev, #system .swiper-container-rtl .swiper-button-next {
  left: 2vw;
  right: auto;
}
#system .swiper-button-next, #system .swiper-container-rtl .swiper-button-prev {
  right: 2vw;
  left: auto;
}
#system .swiper-container-horizontal > .swiper-pagination-bullets, #system .swiper-pagination-custom, #system .swiper-pagination-fraction {
  bottom: 3.5%;
}
@media (max-width: 519px) {
  #system .swiper-container-horizontal > .swiper-pagination-bullets, #system .swiper-pagination-custom, #system .swiper-pagination-fraction {
    bottom: 4%;
  }
}
#system .swiper-pagination-bullet {
  border-radius: 0;
  transform: rotate(45deg);
}
@media (max-width: 519px) {
  #system .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
  }
}

/* ---- page dots ---- */
/* COMMON
========================================================================== */
.clearfix {
  display: block;
}
.clearfix:after, .clearfix:before {
  content: "";
  display: block;
  clear: both;
}

/* CAMPAIGN 横
========================================================================== */
#campaignX {
  width: 100%;
  position: relative;
  padding: 45px 0 50px;
  z-index: 2;
}
@media screen and (max-width: 1000px) {
  #campaignX {
    padding: 25px 0 20px;
  }
}
#campaignX #swiper-outer {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  padding: 4vh 0 0;
  padding: 2vh 0 1.5vh;
}
#campaignX #swiper-outer .banner-info-container .swiper-wrapper .swiper-slide {
  overflow: visible;
}
#campaignX #swiper-outer .banner-info-container .swiper-wrapper .swiper-slide a {
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 0px 0.2px rgba(0, 0, 0, 0.065), 0 0px 0.3px rgba(0, 0, 0, 0.096), 0 0px 0.6px rgba(0, 0, 0, 0.119), 0 0px 0.9px rgba(0, 0, 0, 0.138), 0 0px 1.3px rgba(0, 0, 0, 0.155), 0 0px 1.8px rgba(0, 0, 0, 0.172), 0 0px 2.5px rgba(0, 0, 0, 0.191), 0 0px 3.7px rgba(0, 0, 0, 0.214), 0 0px 5.6px rgba(0, 0, 0, 0.245), 0 0px 10px rgba(0, 0, 0, 0.31);
  display: block;
  position: relative;
}
#campaignX #swiper-outer .banner-info-container .swiper-wrapper .swiper-slide a:after {
  content: "";
  width: calc(100% - 7px);
  height: calc(100% - 7px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 6px;
  opacity: 0;
  transition: all 240ms cubic-bezier(0.33, 1, 0.68, 1);
}
#campaignX #swiper-outer .banner-info-container .swiper-wrapper .swiper-slide a:hover:after {
  width: calc(100% - 3px);
  height: calc(100% - 3px);
  opacity: 1;
}
#campaignX #swiper-outer .banner-info-container .swiper-wrapper .swiper-slide a img {
  pointer-events: none;
}
#campaignX #swiper-outer .controler {
  position: relative;
  display: none;
  width: 65%;
  max-width: 500px;
  margin: 25px auto;
  padding: 5px 0;
  /* Scrollbar */
}
#campaignX #swiper-outer .controler.show {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#campaignX #swiper-outer .controler .info-scrollbar {
  z-index: 50;
  height: 5px;
  width: 98%;
  margin: 0 10px;
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}
#campaignX #swiper-outer .controler .swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}
#campaignX #swiper-outer .controler .swiper-scrollbar-cursor-drag {
  cursor: move;
}
#campaignX #swiper-outer .controler .info-button-prev, #campaignX #swiper-outer .controler .info-button-next {
  width: 25px;
  height: 25px;
  border-radius: 30px;
  opacity: 0.8;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  display: flex;
  transition: opacity 480ms;
}
#campaignX #swiper-outer .controler .info-button-prev.swiper-button-disabled, #campaignX #swiper-outer .controler .info-button-next.swiper-button-disabled {
  opacity: 0.2;
}
#campaignX #swiper-outer .controler .info-button-prev svg {
  transform: scaleX(-1);
}
#campaignX #swiper-outer .controler .info-button-prev:after {
  border-top: none;
  border-right: none;
}
#campaignX #swiper-outer .controler .info-button-next:after {
  border-left: none;
  border-bottom: none;
}

/* CAMPAIGN TOP用
========================================================================== */
#campaignY {
  width: 300px;
  position: absolute;
  right: 2vw;
  bottom: 2vh;
  padding: 0;
  z-index: 2;
  /* Scrollbar */
}
@media screen and (max-width: 480px) {
  #campaignY {
    right: inherit;
    left: 50%;
    transform: translateX(-50%);
    bottom: 5vh;
  }
}
#campaignY div.frame {
  position: relative;
  z-index: 1;
  border-radius: 7px;
  box-shadow: 0 0px 0.7px rgba(0, 0, 0, 0.021), 0 0px 1.6px rgba(0, 0, 0, 0.031), 0 0px 2.8px rgba(0, 0, 0, 0.038), 0 0px 4.2px rgba(0, 0, 0, 0.044), 0 0px 6px rgba(0, 0, 0, 0.05), 0 0px 8.5px rgba(0, 0, 0, 0.056), 0 0px 12.1px rgba(0, 0, 0, 0.062), 0 0px 17.5px rgba(0, 0, 0, 0.069), 0 0px 27px rgba(0, 0, 0, 0.079), 0 0px 48px rgba(0, 0, 0, 0.1);
  margin-bottom: 1vh;
}
#campaignY div.frame ul.slidee {
  margin: auto;
}
#campaignY div.frame ul.slidee li {
  float: left;
  width: 300px;
}
#campaignY div.frame ul.slidee li a {
  position: relative;
  overflow: hidden;
  display: block;
}
#campaignY div.frame ul.slidee li a:after {
  content: "";
  width: calc(100% - 7px);
  height: calc(100% - 7px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 6px;
  opacity: 0;
  transition: all 240ms cubic-bezier(0.33, 1, 0.68, 1);
}
#campaignY div.frame ul.slidee li a:hover:after {
  width: calc(100% - 3px);
  height: calc(100% - 3px);
  opacity: 1;
}
#campaignY .pages {
  display: flex;
  justify-content: center;
}
#campaignY .pages i.bullet {
  display: block;
  width: 9px;
  height: 9px;
  background: rgba(0, 67, 111, 0.5);
  margin: 0 5px;
  border-radius: 50%;
  transition: all 480ms;
}
#campaignY .pages i.bullet.active {
  box-shadow: 0 0 5px #000;
  background: #00436f;
}

/* CAMPAIGN ONE用
========================================================================== */
#campaignOne {
  width: 300px;
  position: absolute;
  right: 2vw;
  bottom: 2vh;
  padding: 0;
  z-index: 2;
  /* Bullets */
}
@media screen and (max-width: 480px) {
  #campaignOne {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 375px) {
  #campaignOne {
    width: 80vw;
  }
}
#campaignOne .banner-one-container {
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 0px 0.7px rgba(0, 0, 0, 0.021), 0 0px 1.6px rgba(0, 0, 0, 0.031), 0 0px 2.8px rgba(0, 0, 0, 0.038), 0 0px 4.2px rgba(0, 0, 0, 0.044), 0 0px 6px rgba(0, 0, 0, 0.05), 0 0px 8.5px rgba(0, 0, 0, 0.056), 0 0px 12.1px rgba(0, 0, 0, 0.062), 0 0px 17.5px rgba(0, 0, 0, 0.069), 0 0px 27px rgba(0, 0, 0, 0.079), 0 0px 48px rgba(0, 0, 0, 0.1);
}
#campaignOne .swiper-wrapper .swiper-slide img {
  pointer-events: none;
}
#campaignOne .swiper-pagination-bullets {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0 0;
}
#campaignOne .swiper-pagination-bullet {
  position: relative;
  margin: 0 8px;
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #3b184c;
  opacity: 0.4;
  box-shadow: 0 0 0 #000;
  transition: box-shadow 480ms;
}
#campaignOne .swiper-pagination-bullet-active {
  opacity: 0.8;
  box-shadow: 0 0 5px #000;
}

/* CAMPAIGN ONE用
========================================================================== */
#campaignMulti {
  width: 100%;
  padding: 30px 0;
  z-index: 2;
  /* Bullets */
}
#campaignMulti .banner-one-container {
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 0px 0.7px rgba(0, 0, 0, 0.021), 0 0px 1.6px rgba(0, 0, 0, 0.031), 0 0px 2.8px rgba(0, 0, 0, 0.038), 0 0px 4.2px rgba(0, 0, 0, 0.044), 0 0px 6px rgba(0, 0, 0, 0.05), 0 0px 8.5px rgba(0, 0, 0, 0.056), 0 0px 12.1px rgba(0, 0, 0, 0.062), 0 0px 17.5px rgba(0, 0, 0, 0.069), 0 0px 27px rgba(0, 0, 0, 0.079), 0 0px 48px rgba(0, 0, 0, 0.1);
}
#campaignMulti .swiper-wrapper {
  padding-top: 30px;
}
#campaignMulti .swiper-wrapper .swiper-slide {
  overflow: visible;
}
#campaignMulti .swiper-wrapper .swiper-slide img {
  pointer-events: none;
}
#campaignMulti .swiper-wrapper .swiper-slide.swiper-slide-active a {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
  transform: translateY(-10px);
}
#campaignMulti .swiper-wrapper .swiper-slide:hover a {
  transform: translateY(-20px);
}
#campaignMulti .swiper-wrapper .swiper-slide a {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  position: relative;
  display: block;
  transition: transform 240ms, box-shadow 240ms;
  background: rgba(255, 255, 255, 0.85);
}
#campaignMulti .swiper-wrapper .swiper-slide a .imgbox {
  position: relative;
}
#campaignMulti .swiper-wrapper .swiper-slide a .metabox {
  padding: 20px 20px 0;
  flex-basis: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
  #campaignMulti .swiper-wrapper .swiper-slide a .metabox {
    font-size: 3.4666666667vw;
  }
}
#campaignMulti .swiper-wrapper .swiper-slide a .metabox .date {
  color: #606d76;
  margin-right: 10px;
  letter-spacing: 0;
}
#campaignMulti .swiper-wrapper .swiper-slide a .metabox .category {
  color: #fff;
  position: relative;
  font-size: 1rem;
  display: flex;
  align-items: center;
  padding-left: 19px;
  margin-right: 20px;
  letter-spacing: 0;
  width: 85px;
  height: 20px;
  line-height: 1;
  background-color: var(--main-bg-color);
  border-radius: 5px 2px 2px 5px;
}
@media (max-width: 519px) {
  #campaignMulti .swiper-wrapper .swiper-slide a .metabox .category {
    margin-right: 15px;
  }
}
#campaignMulti .swiper-wrapper .swiper-slide a .metabox .category:before, #campaignMulti .swiper-wrapper .swiper-slide a .metabox .category:after {
  content: "";
  position: absolute;
}
#campaignMulti .swiper-wrapper .swiper-slide a .metabox .category:before {
  display: block;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 6px;
  transform: translateY(-50%);
}
#campaignMulti .swiper-wrapper .swiper-slide a .metabox .category:after {
  right: -9px;
  top: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: transparent transparent transparent var(--main-bg-color);
  border-width: 10px 0 10px 10px;
}
#campaignMulti .swiper-wrapper .swiper-slide a h3.title {
  padding: 10px 20px 25px;
  line-height: 1.3;
}
#campaignMulti .swiper-pagination-bullets {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0 0;
}
#campaignMulti .swiper-pagination-bullet {
  position: relative;
  margin: 0 8px;
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #3b184c;
  opacity: 0.4;
  box-shadow: 0 0 0 #000;
  transition: box-shadow 480ms;
}
#campaignMulti .swiper-pagination-bullet-active {
  opacity: 0.8;
  box-shadow: 0 0 5px #000;
}

.wrapper.mobile #footer .inbox {
  padding: 15vh 0 3vh;
}
.wrapper.mobile #footer .inbox #ptop {
  top: 5vh;
}

#footer {
  color: #333;
  background: #fff;
}
#footer .inbox {
  width: 90%;
  max-width: 900px;
  margin: auto;
  padding: 110px 0 3vh;
  position: relative;
  /*! store link
  ========================================================================== */
  /*! app info
  ========================================================================== */
  /*! LiNK box
  ========================================================================== */
  /*! copyright
  ========================================================================== */
  /*! underline
  ========================================================================== */
}
@media screen and (max-width: 768px) {
  #footer .inbox {
    padding: 15vh 0 3vh;
  }
}
#footer .inbox article.store .inner {
  width: 100%;
}
#footer .inbox article.store .inner h2.title {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  font-weight: normal;
  font-size: 2rem;
}
#footer .inbox article.store .inner ul.storelist {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 450px;
  padding: 0;
  margin: 0 auto;
  list-style: none;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #footer .inbox article.store .inner ul.storelist {
    margin: 0 auto 20px;
  }
}
#footer .inbox article.store .inner ul.storelist li {
  padding: 0 0.5vw;
}
@media screen and (max-width: 768px) {
  #footer .inbox article.store .inner ul.storelist li {
    padding: 0 1vw;
  }
}
#footer .inbox article.appinfo .inner {
  width: 100%;
  max-width: 650px;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #footer .inbox article.appinfo .inner {
    flex-direction: column;
  }
}
#footer .inbox article.appinfo .inner .info {
  position: relative;
  width: 150px;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  #footer .inbox article.appinfo .inner .info {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
#footer .inbox article.appinfo .inner .info span {
  display: block;
  overflow: hidden;
  border-radius: 20%;
  box-shadow: 0 0.4px 0.6px rgba(0, 0, 0, 0.028), 0 1px 1.3px rgba(0, 0, 0, 0.04), 0 1.9px 2.5px rgba(0, 0, 0, 0.05), 0 3.4px 4.5px rgba(0, 0, 0, 0.06), 0 6.3px 8.4px rgba(0, 0, 0, 0.072), 0 15px 20px rgba(0, 0, 0, 0.1);
}
#footer .inbox article.appinfo .inner ul.games {
  padding: 0;
  margin: 0;
  list-style: none;
}
#footer .inbox article.appinfo .inner ul.games li {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 1rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  #footer .inbox article.appinfo .inner ul.games li {
    font-size: 1.3rem;
  }
}
#footer .inbox article.appinfo .inner ul.games li span {
  font-weight: bold;
}
#footer .inbox article.linkbox {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#footer .inbox article.linkbox ul.links {
  width: 100%;
  display: flex;
  justify-content: center;
}
#footer .inbox article.linkbox ul.links li {
  position: relative;
  font-size: 1.2rem;
}
#footer .inbox article.linkbox ul.links li:not(:first-of-type) {
  margin-left: 3rem;
}
#footer .inbox article.linkbox ul.links li:not(:first-of-type):before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 0;
  width: 1px;
  height: 100%;
  display: block;
  background: linear-gradient(to bottom, transparent 0%, #dedede 50%, transparent 100%);
}
#footer .inbox article.linkbox ul.links li a {
  color: #333;
  transition: color 240ms;
}
#footer .inbox article.linkbox ul.links li a:hover {
  color: #6c00ff;
}
#footer .inbox article.copyright {
  font-size: 1rem;
  text-align: center;
  margin: auto 0 10px;
}
#footer .inbox article.copyright .partner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#footer .inbox article.copyright .partner p {
  margin: 0 10px 5px;
}
#footer .inbox article.copyright .ggacopy {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 10px;
}
#footer .inbox article.copyright .ggacopy span.ggalogo {
  display: block;
  margin-right: 10px;
}
#footer .inbox .underline {
  position: relative;
}
#footer .inbox .underline:after {
  content: "";
  max-width: 1000px;
  width: 100%;
  height: 1px;
  display: block;
  margin: 3vh auto;
  background: linear-gradient(to right, transparent 0%, #dedede 10%, #dedede 90%, transparent 100%);
}
#footer .inbox #ptop {
  position: absolute;
  top: 70px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  #footer .inbox #ptop {
    top: 5vh;
  }
}
#footer .inbox #ptop svg {
  vertical-align: top;
  fill: #133b5c;
  transition: fill 240ms;
}
#footer .inbox #ptop a {
  display: block;
}
#footer .inbox #ptop a:hover svg {
  fill: #3f7aab;
}

#footer ul.snslinks {
  display: flex;
  justify-content: center;
  padding: 3vh 0 0;
}
#footer ul.snslinks li {
  display: inline-flex;
  padding: 0 10px;
}
@media (max-width: 768px) {
  #footer ul.snslinks li {
    padding: 0 5px;
  }
}
#footer ul.snslinks li a {
  display: inline-flex;
}
#footer ul.snslinks li svg {
  width: 40px;
  height: 40px;
}
@media (max-width: 768px) {
  #footer ul.snslinks li svg {
    width: 50px;
    height: 50px;
  }
}
#footer ul.snslinks li svg path {
  width: 100%;
  height: auto;
}

#footer.simple {
  min-height: initial;
}
#footer.simple .inbox {
  padding: 3vh 0 0 !important;
}

/**
 * Swiper 5.3.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2020 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 11, 2020
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}
@media screen and (max-width: 1280px) {
  .swiper-container {
    overflow: inherit;
  }
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  position: relative;
  transition-property: transform;
  overflow: hidden;
}
.swiper-slide img {
  width: 100%;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

/* Pagination */
#character {
  /* Bullets */
}
#character .swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #character .swiper-pagination {
    bottom: 5vh;
  }
}
@media screen and (max-width: 768px) {
  #character .swiper-pagination {
    top: 5vh;
  }
}
#character .swiper-pagination span {
  background-position: 50% 50%;
  background-size: cover;
}
#character .swiper-pagination-bullet {
  position: relative;
  margin: 0 10px;
  cursor: pointer;
  width: 100px;
  height: 100px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 1;
  box-shadow: 0 0 5px #000;
  transition: box-shadow 480ms;
}
@media screen and (max-width: 640px) {
  #character .swiper-pagination-bullet {
    width: 75px;
    height: 75px;
    margin: 0 5px;
  }
}
@media screen and (max-width: 350px) {
  #character .swiper-pagination-bullet {
    width: 70px;
    height: 70px;
    margin: 0 3px;
  }
}
@media screen and (max-width: 640px) and (max-height: 375px) {
  #character .swiper-pagination-bullet {
    width: calc(100vw / 6 - 20px);
    height: calc(100vw / 6 - 20px);
  }
}
#character .swiper-pagination-bullet:focus {
  outline: none;
}
#character .swiper-pagination-bullet:after {
  content: "";
  width: calc(100% + 0px);
  height: calc(100% + 0px);
  display: block;
  background: rgba(255, 255, 255, 0);
  border-radius: 100%;
  transition: background 240ms, width 120ms cubic-bezier(0, 0.4, 0.5, 1.5), height 120ms cubic-bezier(0, 0.4, 0.5, 1.5);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
#character .swiper-pagination-bullet:hover {
  box-shadow: 0 0 0 #000;
}
#character .swiper-pagination-bullet:hover:after {
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  background: rgba(255, 255, 255, 0.5);
}
#character .swiper-pagination-bullet-active {
  opacity: 1;
  box-shadow: 0 0 0 #000;
}
#character .swiper-pagination-bullet-active:after {
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 640px) {
  #character .swiper-pagination-bullet-active:after {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
  }
}
#character .swiper-pagination-bullet-active:hover {
  box-shadow: 0 0 0 #000;
}
#character .swiper-pagination-bullet-active:hover:after {
  width: calc(100% + 14px);
  height: calc(100% + 14px);
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 640px) {
  #character .swiper-pagination-bullet-active:hover:after {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
  }
}

/* Preloader */
:root {
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  */
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

.swiper-lazy-preloader-tera {
  --swiper-preloader-color: #d3a9ed;
}

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg);
  }
}
/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* WRAPPER
========================================================================== */
@media screen and (max-width: 768px) {
  .wrapper.mobile #visualwrapper {
    min-height: auto;
  }
}

.wrapper.mobile #registration,
.wrapper.mobile #precampaign,
.wrapper.mobile #questionnaire {
  padding: 5vh 0 10vh;
}

#visualwrapper {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background-color: transparent;
}
#visualwrapper:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.45) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.45) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.45) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.45) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  background-color: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}
#visualwrapper .outerwrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin: auto;
  z-index: 5;
  width: 95%;
  max-width: 1000px;
  padding: 120px 0 5vh;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap {
    padding: 90px 0 5vh;
  }
}
#visualwrapper .outerwrap #logo {
  max-width: 250px;
  margin: 0 0 5vh;
}
#visualwrapper .outerwrap .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  #visualwrapper .outerwrap .box {
    margin-bottom: 0;
  }
}
#visualwrapper .outerwrap .box .counterbox {
  position: relative;
  background: rgba(0, 0, 0, 0.6);
  padding: 15px;
  margin-bottom: 30px;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
}
#visualwrapper .outerwrap .box .counterbox::before, #visualwrapper .outerwrap .box .counterbox::after {
  position: absolute;
  top: -14px;
  content: " ";
  border: solid transparent;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.4);
}
#visualwrapper .outerwrap .box .counterbox::before {
  width: calc(100% + 10px);
  height: 100%;
  top: 0;
  left: -5px;
}
#visualwrapper .outerwrap .box .counterbox::after {
  width: 100%;
  height: calc(100% + 10px);
  top: -5px;
  left: 0;
}
#visualwrapper .outerwrap .box .counterbox h3.title {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
}
#visualwrapper .outerwrap .box .counterbox h3.title::before, #visualwrapper .outerwrap .box .counterbox h3.title::after {
  content: " ";
  flex-grow: 1;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.4);
}
#visualwrapper .outerwrap .box .counterbox h3.title span {
  padding: 0 10px;
}
#visualwrapper .outerwrap .box .counterbox .counter {
  padding-left: 10px;
  position: relative;
  z-index: 3;
  font-size: 10rem;
  letter-spacing: -5px;
  line-height: 1;
  color: transparent;
  background: repeating-linear-gradient(0deg, #8e8e8e, #ffffff);
  -webkit-background-clip: text;
  font-family: "Roboto Condensed", sans-serif;
}
@media screen and (max-width: 790px) {
  #visualwrapper .outerwrap .box .counterbox .counter {
    font-size: 19vw;
  }
}
#visualwrapper .outerwrap .box .counterbox .counter::after {
  content: "人";
  font-size: 5rem;
  padding-right: 5px;
}
#visualwrapper .outerwrap .box .counterbox .caution {
  text-align: center;
  position: relative;
  z-index: 5;
  font-size: 1.2rem;
  color: #333;
  background: rgba(255, 255, 255, 0.3);
  padding: 5px 0;
}
#visualwrapper .outerwrap .box h2.title {
  max-width: 700px;
  margin-bottom: 20px;
}
#visualwrapper .outerwrap .box div.term {
  position: relative;
  max-width: 480px;
  margin: 0 auto 10px;
  font-size: 2rem;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.6) 85%, transparent);
}
@media screen and (max-width: 640px) {
  #visualwrapper .outerwrap .box div.term {
    font-size: 3.125vw;
    margin: 0 auto;
  }
}
#visualwrapper .outerwrap .box div.term p.date {
  padding: 1.5rem 3rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .box div.term p.date {
    padding: 1rem 3rem;
  }
}
#visualwrapper .outerwrap .box div.term p.date::before, #visualwrapper .outerwrap .box div.term p.date::after {
  position: absolute;
  bottom: -14px;
  content: " ";
  width: 0;
  height: 0;
  border: solid transparent;
  border-width: 7px 7px;
  border-top-color: #fff;
}
#visualwrapper .outerwrap .box div.term p.date::before {
  left: -1px;
}
#visualwrapper .outerwrap .box div.term p.date::after {
  right: -1px;
}
#visualwrapper .outerwrap .box div.term::before, #visualwrapper .outerwrap .box div.term::after {
  position: absolute;
  top: -14px;
  content: " ";
  width: 0;
  height: 0;
  border: solid transparent;
  border-width: 7px 7px;
  border-bottom-color: #fff;
}
#visualwrapper .outerwrap .box div.term::before {
  left: -1px;
}
#visualwrapper .outerwrap .box div.term::after {
  right: -1px;
}
#visualwrapper .outerwrap .box .frame {
  max-width: 600px;
  margin: 0 auto 3vh;
}

@keyframes animateBG {
  0% {
    background-position: 0 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
#visualwrapper .superbanner {
  max-width: 350px;
}
@media screen and (min-width: 1331px) {
  #visualwrapper .superbanner {
    position: absolute;
    top: 10px;
    right: 10px;
  }
}
@media screen and (max-width: 1330px) {
  #visualwrapper .superbanner {
    margin-bottom: 20px;
  }
}

#visualwrapper .charabg {
  position: absolute;
  top: -2%;
  right: -2%;
  width: 55vw;
  z-index: 4;
  transition: width 240ms;
}
@media screen and (max-width: 1200px) {
  #visualwrapper .charabg {
    width: 65vw;
  }
}
@media screen and (max-width: 900px) {
  #visualwrapper .charabg {
    width: 85vw;
  }
}
@media screen and (max-width: 700px) {
  #visualwrapper .charabg {
    width: 95vw;
  }
}
@media screen and (max-width: 480px) {
  #visualwrapper .charabg {
    top: 2%;
    right: -18%;
    width: 125vw;
  }
}

#visualwrapper .movie {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

#playBtn {
  position: relative;
  width: 120px;
  height: 120px;
}
@media screen and (max-width: 768px) {
  #playBtn {
    max-width: 120px;
    max-height: 120px;
    width: 25vw;
    height: 25vw;
  }
}
#playBtn i {
  display: block;
  transition: all 480ms;
}
#playBtn i.out {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#playBtn svg .st0 {
  fill: none;
}
#playBtn svg .st1 {
  fill: rgba(255, 255, 255, 0.5);
  transition: all 480ms;
}
#playBtn svg .st2 {
  fill: none;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 3;
  stroke-miterlimit: 7.5;
  transition: all 480ms;
}
#playBtn:hover i.out {
  transform: rotate(360deg);
}
#playBtn:hover svg .st1 {
  fill: white;
}
#playBtn:hover svg .st2 {
  stroke: white;
}

/* REGISTRATION
========================================================================== */
#precampaign {
  padding: 20vh 0;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #precampaign {
    padding: 5vh 0 7vh;
  }
}
#precampaign:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.15) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.15) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
#precampaign .outerwrap {
  width: 95%;
  max-width: 900px;
  margin: auto;
}
#precampaign .outerwrap h2.entitle {
  font-size: 20rem;
  margin-bottom: -4.8rem;
}
@media screen and (max-width: 1100px) {
  #precampaign .outerwrap h2.entitle {
    font-size: 18.2vw;
    margin-bottom: -4.35vw;
  }
}
#precampaign .outerwrap .continner {
  position: relative;
  text-align: center;
  margin: 0 auto 10vh;
}
#precampaign .outerwrap .continner div.term {
  max-width: 480px;
  margin: 0 auto 12vh;
}
@media screen and (max-width: 640px) {
  #precampaign .outerwrap .continner div.term {
    margin: 0 auto 6.5vh;
  }
}
#precampaign .outerwrap .continner div.term h3.title {
  display: block;
  color: #333;
  padding: 1vh 0 1.5vh;
  line-height: 1;
  font-size: 2.6rem;
  font-weight: normal;
  text-align: center;
  background: rgba(255, 255, 255, 0.7);
  margin: 0 auto 6.5vh;
}
@media screen and (max-width: 640px) {
  #precampaign .outerwrap .continner div.term h3.title {
    font-size: 4.0625vw;
  }
}
#precampaign .outerwrap .continner div.benefit h3.title {
  display: block;
  line-height: 1;
  font-size: 3.4rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #precampaign .outerwrap .continner div.benefit h3.title {
    font-size: 4.0625vw;
  }
}
#precampaign .outerwrap .continner div.benefit .catch {
  position: relative;
  margin-bottom: 10vh;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5), 0 0 5px rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .continner div.benefit .catch {
    margin-bottom: 5vh;
  }
}
#precampaign .outerwrap .continner div.benefit .catch p:first-of-type {
  line-height: 1;
  font-size: 5rem;
}
@media screen and (max-width: 840px) {
  #precampaign .outerwrap .continner div.benefit .catch p:first-of-type {
    font-size: 5.95238vw;
  }
}
#precampaign .outerwrap .continner div.benefit .catch p:last-of-type {
  font-size: 7rem;
}
@media screen and (max-width: 840px) {
  #precampaign .outerwrap .continner div.benefit .catch p:last-of-type {
    font-size: 8.33333vw;
  }
}
#precampaign .outerwrap .continner div.benefit .catch p:last-of-type span {
  font-weight: bold;
}
#precampaign .outerwrap .continner div.benefit .catch .ATTENTION {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(2.5deg);
  font-size: 2rem;
  width: 450px;
  background: #950b0b;
  box-shadow: 0 0 10px #000;
  padding: 5px 0;
}
@media (max-width: 640px) {
  #precampaign .outerwrap .continner div.benefit .catch .ATTENTION {
    font-size: 3.2vw;
    width: 80%;
  }
}
#precampaign .outerwrap .continner div.benefit ul.list {
  padding: 0;
  margin: 0 auto;
  list-style: none;
  max-width: 900px;
  width: 100%;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward {
  position: relative;
  background: #fff;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward {
    margin-bottom: 40px;
  }
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  background: linear-gradient(120deg, #80b2db, #986d36 40%, #f5cc51 50%, #986d36 60%, #80b2db);
  background-size: 200%;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  z-index: -1;
  animation: animate 6000ms cubic-bezier(0.33, 1, 0.68, 1) infinite;
}
@keyframes animate {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 200% 0;
  }
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:after {
  filter: blur(5px);
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(1):before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(1):after {
  animation-delay: 480ms;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(2):before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(2):after {
  animation-delay: 960ms;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(3):before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(3):after {
  animation-delay: 1440ms;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(4):before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(4):after {
  animation-delay: 1920ms;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(5):before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(5):after {
  animation-delay: 2400ms;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(6):before, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(6):after {
  animation-delay: 2880ms;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox {
  position: relative;
  color: #121212;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox:before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border: 1px solid #dbe2e8;
  mix-blend-mode: color-dodge;
  pointer-events: none;
  z-index: 2;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox.extra .num .numinner span {
  font-size: 5.2rem;
}
@media screen and (max-width: 1052px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox.extra .num .numinner span {
    font-size: 4.94297vw;
  }
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox.extra .num .numinner span {
    font-size: 10vw;
  }
}
@media screen and (max-width: 480px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox.extra .num .numinner span {
    font-size: 16vw;
  }
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num {
  font-family: "Roboto Condensed", sans-serif;
  background: #fff;
  color: #3f7aab;
  z-index: 2;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .badge {
  margin: 0 auto 9px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  opacity: 0.8;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .numinner span {
  position: relative;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.3rem;
  line-height: 1;
  font-style: normal;
}
@media screen and (max-width: 1052px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .numinner span {
    font-size: 5.70342vw;
  }
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .numinner span {
    font-size: 10vw;
  }
}
@media screen and (max-width: 480px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .numinner span {
    font-size: 16vw;
  }
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .numinner span:before {
  content: "事前登録者数";
  display: block;
  font-size: 1.8rem;
  padding-bottom: 5px;
  letter-spacing: 0;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .num .numinner span:after {
  content: "人";
  font-size: 1.6rem;
  position: absolute;
  right: -1.5rem;
  bottom: 1.5rem;
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .item {
  position: relative;
  background: linear-gradient(to right, #fff, #b8c8d4);
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .continner div.benefit ul.list li.reward .itembox .item {
    background: linear-gradient(to bottom, #fff, #b8c8d4);
  }
}
#precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(5) .itembox .num .numinner span, #precampaign .outerwrap .continner div.benefit ul.list li.reward:nth-child(6) .itembox .num .numinner span {
  margin-left: -2rem;
  display: inline-block;
}
@media screen and (min-width: 769px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num {
    box-shadow: -5px 5px 15px rgba(0, 0, 0, 0.15);
    position: absolute;
    top: 50%;
    transform: translatey(-50%) rotate(45deg);
    left: 10px;
    height: 200px;
    width: 200px;
    display: grid;
    place-items: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 1052px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num {
    height: 19.012vw;
    width: 19.012vw;
  }
}
@media screen and (min-width: 769px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num .badge {
    width: 180%;
    transform: translate(-50%, -50%) rotate(-15deg);
  }
}
@media screen and (min-width: 769px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num .numinner {
    text-align: center;
    transform: rotate(-45deg);
  }
}
@media screen and (min-width: 769px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .item {
    padding-left: 250px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1052px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .item {
    padding-left: 23.7643vw;
  }
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num {
    padding: 3vh;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    width: 95%;
    margin: 0px auto -20px;
    transform: translateY(-20px);
    position: relative;
  }
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num .badge {
    width: 60%;
    transform: translate(-50%, -50%) rotate(-10deg);
  }
  #precampaign .outerwrap .continner div.benefit ul.list li .itembox .num .numinner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
#precampaign .outerwrap .notice {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  padding: 6.2vh 7vh 9vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0 5px #000;
}
@media screen and (max-width: 768px) {
  #precampaign .outerwrap .notice {
    padding: 6.2vh 4vh 9vh;
  }
}
#precampaign .outerwrap .notice::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #333;
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#precampaign .outerwrap .notice h3.title {
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #precampaign .outerwrap .notice h3.title {
    font-size: 3.75vw;
  }
}
#precampaign .outerwrap .notice ul.caution {
  padding-left: 1.5rem;
  font-size: 1.2rem;
}
#precampaign .outerwrap .notice ul.caution li {
  position: relative;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
#precampaign .outerwrap .notice ul.caution li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: -1.5rem;
}

/* REGISTRATION
========================================================================== */
#visualwrapper .outerwrap .continner {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  padding: 6.2vh 7vh 9vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0 5px #000;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner {
    padding: 6.2vh 4vh 5vh;
    width: 100%;
  }
}
#visualwrapper .outerwrap .continner::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #333;
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#visualwrapper .outerwrap .continner h3.title {
  font-size: 4rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #visualwrapper .outerwrap .continner h3.title {
    font-size: 6.25vw;
  }
}
#visualwrapper .outerwrap .continner h4.title {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  font-weight: normal;
  font-size: 2.4rem;
}
@media screen and (max-width: 640px) {
  #visualwrapper .outerwrap .continner h4.title {
    font-size: 3.75vw;
  }
}
#visualwrapper .outerwrap .continner ul.storelist {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 450px;
  padding: 0;
  margin: 0 auto 5vh;
  list-style: none;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner ul.storelist {
    margin: 0 auto 20px;
  }
}
#visualwrapper .outerwrap .continner ul.storelist li {
  padding: 0 0.5vw;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner ul.storelist li {
    padding: 0 1vw;
  }
}
#visualwrapper .outerwrap .continner ul.snslist {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  list-style: none;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner ul.snslist {
    margin: 0 auto 20px;
  }
}
#visualwrapper .outerwrap .continner ul.snslist li {
  text-align: center;
  width: calc(100% / 4 - 20px);
  margin: 0 10px;
}
@media screen and (max-width: 950px) {
  #visualwrapper .outerwrap .continner ul.snslist li {
    width: calc(100% / 2 - 20px);
    margin: 0 10px 20px;
  }
}
@media screen and (max-width: 640px) {
  #visualwrapper .outerwrap .continner ul.snslist li {
    width: calc(100% / 2 - 10px);
    margin: 0 5px 10px;
  }
}
#visualwrapper .outerwrap .continner ul.snslist li.twitter a {
  background: linear-gradient(200deg, #10547d, #1da1f2 50%, #10547d);
  background-size: 100% 500%;
}
#visualwrapper .outerwrap .continner ul.snslist li.facebook a {
  background: linear-gradient(200deg, #0a3771, #1877f2 50%, #0a3771);
  background-size: 100% 500%;
}
#visualwrapper .outerwrap .continner ul.snslist li.line a {
  background: linear-gradient(200deg, #004a00, #00b900 50%, #004a00);
  background-size: 100% 500%;
}
#visualwrapper .outerwrap .continner ul.snslist li.youtube a {
  background: linear-gradient(200deg, #890101, #ff0000 50%, #890101);
  background-size: 100% 500%;
}
#visualwrapper .outerwrap .continner ul.snslist li a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-shadow: 0 0 5px #000;
  display: block;
  padding: 3vh 0;
  letter-spacing: 0;
  border-radius: 5px;
  box-shadow: 0 0 7px #000;
  background-size: 100% 100%;
  transition: background-position 480ms;
}
@media screen and (max-width: 840px) {
  #visualwrapper .outerwrap .continner ul.snslist li a {
    font-size: 1.90476vw;
    padding: 2vh 0;
  }
}
@media screen and (max-width: 640px) {
  #visualwrapper .outerwrap .continner ul.snslist li a {
    font-size: 2.5vw;
    padding: 1.5vh 0;
  }
}
#visualwrapper .outerwrap .continner ul.snslist li a:hover {
  background-position: 0 100%;
}
#visualwrapper .outerwrap .continner .contact {
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
#visualwrapper .outerwrap .continner .contact p.caution {
  text-align: center;
  font-size: 1.2rem;
  position: relative;
  padding: 0 3vw 2.5vh;
}
#visualwrapper .outerwrap .continner .contact p.caution a {
  color: #fff;
  text-decoration: underline;
}
#visualwrapper .outerwrap .continner .contact .agreement {
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
  font-size: 1.4rem;
  letter-spacing: 0;
  color: #fff;
}
#visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label {
  padding: 10px;
  cursor: pointer;
  display: inline-block;
  transition: color 600ms;
}
#visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label:before, #visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label:after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
}
#visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='rgb(249, 226, 103)' stroke-width='1' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 2px;
  opacity: 0;
  transition: opacity 120ms;
}
#visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label:after {
  background-color: transparent;
  border: 1px solid #fff;
  transition: border-color 600ms;
}
#visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label:hover {
  color: #f9e267;
}
#visualwrapper .outerwrap .continner .contact .agreement .wpcf7-list-item-label:hover:after {
  border-color: #f9e267;
}
#visualwrapper .outerwrap .continner .contact .agreement input[type=checkbox] {
  visibility: hidden;
}
#visualwrapper .outerwrap .continner .contact .agreement input[type=checkbox]:checked + .wpcf7-list-item-label {
  color: #f9e267;
}
#visualwrapper .outerwrap .continner .contact .agreement input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  opacity: 1;
}
#visualwrapper .outerwrap .continner .contact .agreement input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  border-color: #f9e267;
}
#visualwrapper .outerwrap .continner .contact .mform {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  width: 90%;
  max-width: 650px;
  margin: auto;
}
#visualwrapper .outerwrap .continner .contact .mform .emailinput {
  width: calc(100% - 100px);
  position: relative;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner .contact .mform .emailinput {
    width: calc(100% - 70px);
  }
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email] {
  width: 100%;
  margin: 0;
  padding: 10px;
  display: block;
  border: none;
  border-radius: 5px 0 0 5px;
  color: #121212;
  font-weight: bolder;
  font-size: 1.6rem;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) inset;
  transition: all 240ms;
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email]::placeholder {
  color: rgba(0, 0, 0, 0.2);
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email]:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.2);
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email]::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.2);
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email]:focus {
  background: #ededed;
  color: #000;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner .contact .mform input[type=email] {
    font-size: 1.6rem;
  }
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email][disabled] {
  opacity: 0.35;
  cursor: not-allowed;
  /* 禁止カーソル */
}
#visualwrapper .outerwrap .continner .contact .mform input[type=submit] {
  display: inline-block;
  width: 100px;
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  padding: 5px 0;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: bottom;
  border-radius: 0 5px 5px 0;
  border: none;
  background: linear-gradient(to right, #ff887c, #b6325f);
  color: #E6EAEF;
  transition: opacity 480ms;
}
#visualwrapper .outerwrap .continner .contact .mform input[type=submit]:not([disabled]):hover {
  background: linear-gradient(to bottom, #ffa5a5, #ff6565);
}
#visualwrapper .outerwrap .continner .contact .mform input[type=submit]:active {
  color: #ff6565;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
  background-color: #4eb81e;
  background-image: linear-gradient(to bottom, #ffa5a5, #ff6565);
}
#visualwrapper .outerwrap .continner .contact .mform input[type=submit][disabled] {
  opacity: 0.35;
  cursor: not-allowed;
  /* 禁止カーソル */
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner .contact .mform input[type=submit] {
    width: 70px;
    font-size: 1.6rem;
  }
}
#visualwrapper .outerwrap .continner .contact .mform span.wpcf7-not-valid-tip {
  position: absolute;
  bottom: -5px;
  left: -5px;
  pointer-events: none;
  background: #f7d7da;
  border: 1px solid #f4c6cb;
  padding: 2px 5px;
  transition: all 480ms;
}
#visualwrapper .outerwrap .continner .contact .mform input[type=email]:focus + span.wpcf7-not-valid-tip {
  bottom: -15px;
  opacity: 0;
}
#visualwrapper .outerwrap .continner .contact div.wpcf7 .ajax-loader {
  background-image: url(./img/icons/ajax-loader.gif);
  width: 16px;
  height: 11px;
  border: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 110px;
}
@media screen and (max-width: 768px) {
  #visualwrapper .outerwrap .continner .contact div.wpcf7 .ajax-loader {
    right: 80px;
  }
}
#visualwrapper .outerwrap .continner .contact div.wpcf7-mail-sent-ok {
  background: #d5edda;
  color: #185626;
  border: 1px solid #c4e5cc;
  padding: 10px;
}
#visualwrapper .outerwrap .continner .contact div.wpcf7-validation-errors,
#visualwrapper .outerwrap .continner .contact div.wpcf7-acceptance-missing {
  background: #fff2cf;
  color: #846314;
  border: 1px solid #feedbd;
  padding: 10px;
}
#visualwrapper .outerwrap .continner .contact div.wpcf7-mail-sent-ng {
  background: #f7d7da;
  color: #711d26;
  border: 1px solid #f4c6cb;
  padding: 10px;
}
#visualwrapper .outerwrap .continner .contact div.wpcf7-spam-blocked {
  background: #fff2cf;
  color: #846314;
  border: 1px solid #feedbd;
  padding: 10px;
}

#visualwrapper ul.campaign-info {
  display: flex;
  justify-content: center;
}
#visualwrapper ul.campaign-info li {
  width: calc(100% / 3 - 20px);
  margin: 0 10px;
  padding: 5px;
  background: #fff;
  animation: campaignanimate 3600ms linear infinite alternate;
  transition: background 480ms;
}
@media screen and (max-width: 768px) {
  #visualwrapper ul.campaign-info li {
    width: calc(100% / 1 - 20px);
    max-width: 320px;
  }
}
#visualwrapper ul.campaign-info li:hover {
  background: #f9e267;
}
@keyframes campaignanimate {
  0% {
    box-shadow: 0 0 0px #f9e267;
  }
  50% {
    box-shadow: 0 0 10px #f9e267;
  }
  100% {
    box-shadow: 0 0 0px #f9e267;
  }
}

/* REGISTRATION
========================================================================== */
#questionnaire {
  padding: 20vh 0;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  /* 注意事項
  ========================================================================== */
}
@media screen and (max-width: 768px) {
  #questionnaire {
    padding: 5vh 0 7vh;
  }
}
#questionnaire .outerwrap {
  width: 95%;
  max-width: 1000px;
  margin: auto;
}
#questionnaire .outerwrap h2.entitle {
  font-size: 20rem;
  margin-bottom: -4.8rem;
}
@media screen and (max-width: 1100px) {
  #questionnaire .outerwrap h2.entitle {
    font-size: 18.2vw;
    margin-bottom: -4.35vw;
  }
}
#questionnaire .outerwrap .continner {
  position: relative;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(184, 200, 212, 0.8));
  padding: 6vh 7vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0 5px #000;
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner {
    padding: 4vh 3vw;
  }
}
#questionnaire .outerwrap .continner:not(:first-of-type) {
  margin-top: 10vh;
}
#questionnaire .outerwrap .continner::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#questionnaire .outerwrap .continner h3.itemtitle {
  position: relative;
  color: #4495da;
  font-weight: bold;
  font-size: 4.5rem;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 5vh;
}
@media screen and (max-width: 900px) {
  #questionnaire .outerwrap .continner h3.itemtitle {
    font-size: 5vw;
    margin-bottom: 3vh;
  }
}
#questionnaire .outerwrap .continner h3.itemtitle i {
  font-family: "Parisienne", cursive;
  letter-spacing: 0;
  line-height: 1;
  color: rgba(107, 107, 107, 0.2);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14rem;
  font-weight: normal;
  z-index: -1;
}
@media screen and (max-width: 900px) {
  #questionnaire .outerwrap .continner h3.itemtitle i {
    font-size: 15.55555vw;
  }
}
#questionnaire .outerwrap .continner .itembox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox {
    flex-wrap: wrap;
  }
}
#questionnaire .outerwrap .continner .itembox .totalpoll-wrapper {
  width: 60%;
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .totalpoll-wrapper {
    width: 100%;
    margin-bottom: 3vh;
  }
}
#questionnaire .outerwrap .continner .itembox .totalpoll-wrapper .totalpoll-question-choices-item-votes {
  display: none;
}
#questionnaire .outerwrap .continner .itembox .reward {
  position: relative;
  width: calc(40% - 30px);
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .reward {
    width: 100%;
    display: flex;
  }
  #questionnaire .outerwrap .continner .itembox .reward::before, #questionnaire .outerwrap .continner .itembox .reward::after {
    content: "";
    position: absolute;
  }
  #questionnaire .outerwrap .continner .itembox .reward::before {
    z-index: -2;
    width: 100%;
    height: 100%;
    background: linear-gradient(125deg, #9dd2ff, #c1e3ff);
  }
  #questionnaire .outerwrap .continner .itembox .reward::after {
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.4);
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    top: 3px;
    left: 3px;
  }
}
#questionnaire .outerwrap .continner .itembox .reward .badge {
  display: flex;
  justify-content: flex-end;
  margin-bottom: -5vh;
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .reward .badge {
    width: 60%;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
  }
}
#questionnaire .outerwrap .continner .itembox .reward .badge span {
  color: #3d54a8;
  position: relative;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 2px;
  font-size: 3rem;
}
@media screen and (min-width: 769px) {
  #questionnaire .outerwrap .continner .itembox .reward .badge span {
    width: 90px;
    height: 90px;
    display: grid;
    place-items: center;
  }
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .reward .badge span {
    justify-content: center;
    align-items: center;
  }
  #questionnaire .outerwrap .continner .itembox .reward .badge span br {
    display: none;
  }
}
#questionnaire .outerwrap .continner .itembox .reward .badge span::before, #questionnaire .outerwrap .continner .itembox .reward .badge span::after {
  content: "";
  position: absolute;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .reward .badge span::before, #questionnaire .outerwrap .continner .itembox .reward .badge span::after {
    content: none;
  }
}
#questionnaire .outerwrap .continner .itembox .reward .badge span::before {
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(125deg, #9dd2ff, #c1e3ff);
}
#questionnaire .outerwrap .continner .itembox .reward .badge span::after {
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.4);
  width: calc(100% - 10px);
  height: calc(100% - 10px);
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .reward .item {
    width: 40%;
  }
}
#questionnaire .outerwrap .continner .itembox .reward .item .clearbadge {
  position: absolute;
  opacity: 0.7;
  transform: translate(-50%, -50%) rotate(-10deg);
  top: 50%;
  left: 50%;
  width: 90%;
}
@media screen and (max-width: 768px) {
  #questionnaire .outerwrap .continner .itembox .reward .item .clearbadge {
    width: 40%;
  }
}
#questionnaire .caution {
  font-size: 1.2rem;
  padding: 30px;
  position: relative;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(0, 0, 0, 0.5);
  margin-top: 10vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
}
@media screen and (max-width: 768px) {
  #questionnaire .caution {
    padding: 5vw;
    padding-left: 3vw;
  }
}
#questionnaire .caution h3.title {
  display: inline-block;
  background: #000;
  padding: 5px 10px;
  margin-bottom: 15px;
}
#questionnaire .caution ul {
  padding: 0;
  padding-left: 2rem;
  margin: 0;
}
#questionnaire .caution ul li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}

/* POLL
========================================================================== */
#questionnaire {
  /* タイトル */
  /* アイテム：：画像周り */
  /* アイテム：：テキスト部分 */
  /* 回答ボタン */
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices {
  flex-wrap: nowrap !important;
  margin: 0 !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-content {
  text-align: center;
  margin-bottom: 3vh !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-content p {
  background: linear-gradient(transparent 60%, rgba(255, 255, 102, 0.8) 60%);
  display: inline;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question {
  margin-bottom: 0 !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-content-container {
  overflow: inherit !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-content {
  display: block !important;
  padding: 5px !important;
  background: #fff !important;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35) !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-control {
  position: relative;
  border-width: inherit !important;
  background: transparent !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-label {
  padding: 5px 0 !important;
  font-weight: bold;
  text-align: center;
  border-color: transparent !important;
  background: none !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-selector {
  position: absolute !important;
  padding: 0 !important;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-selector-box {
  opacity: 0 !important;
  fill: #ff0000 !important;
  border: none !important;
  box-shadow: none !important;
  width: 0% !important;
  height: 100% !important;
  border-radius: inherit !important;
  background-size: auto auto !important;
  background-color: rgba(255, 255, 255, 0) !important;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 3px, rgba(218, 68, 68, 0.5) 3px, rgba(218, 68, 68, 0.5) 6px) !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-selector input:checked + .totalpoll-question-choices-item-selector-box {
  opacity: 1 !important;
  fill: #ff0000 !important;
  border: none !important;
  background-size: auto auto !important;
  background-color: rgba(255, 255, 255, 0) !important;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 3px, rgba(218, 68, 68, 0.5) 3px, rgba(218, 68, 68, 0.5) 6px) !important;
  box-shadow: none !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-selector input:checked + .totalpoll-question-choices-item-selector-box svg {
  transform: scale(1) translate(-50%, -70px) !important;
  max-width: none !important;
  max-height: none !important;
  width: 60px;
  height: 60px;
  left: 50%;
  position: absolute;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-buttons {
  justify-content: center !important;
  padding: 0 !important;
  margin: 3vh 0 0 !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-button-primary {
  background: linear-gradient(15deg, #082565, #040d36) !important;
  color: #ffffff;
  font-weight: bold !important;
  border: none !important;
  width: 100% !important;
  border-radius: 5px !important;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35) !important;
  margin: 0 !important;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-checked .totalpoll-question-choices-item-control, #questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-checked:hover .totalpoll-question-choices-item-control, #questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-checked:focus .totalpoll-question-choices-item-control {
  color: #333 !important;
  text-shadow: 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6, 0 0 3px #b5c6d6;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices {
  justify-content: space-between;
}
#questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item {
  width: calc(100%/3 - 10px) !important;
  padding: 0 !important;
}
@media screen and (min-width: 768px) {
  #questionnaire div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item {
    width: calc(100%/3 - 10px) !important;
    padding: 0 !important;
  }
}
#questionnaire .continner.clear div#totalpoll.totalpoll-wrapper .totalpoll-buttons,
#questionnaire .continner.clear div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-selector {
  display: none;
}
#questionnaire .continner.clear div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-checked .totalpoll-question-choices-item-control, #questionnaire .continner.clear div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-checked:hover .totalpoll-question-choices-item-control, #questionnaire .continner.clear div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-checked:focus .totalpoll-question-choices-item-control {
  color: #333 !important;
  text-shadow: none;
}
#questionnaire .totalpoll-modal-content {
  border: solid transparent;
  border-width: 1px;
  border-color: rgba(160, 160, 160, 0.5);
}
#questionnaire .totalpoll-modal-content::before, #questionnaire .totalpoll-modal-content::after {
  position: absolute;
  content: " ";
  border: solid transparent;
  border-width: 1px;
  border-color: rgba(160, 160, 160, 0.5);
}
#questionnaire .totalpoll-modal-content::before {
  width: calc(100% + 8px);
  height: calc(100% - 8px);
  top: 4px;
  left: -4px;
}
#questionnaire .totalpoll-modal-content::after {
  width: calc(100% - 8px);
  height: calc(100% + 8px);
  top: -4px;
  left: 4px;
}

#onigokko {
  font-family: "Sawarabi Gothic";
}
#onigokko article.inner {
  width: 95%;
  max-width: 750px;
}

#onigokko #introduction {
  padding: 150px 0 7vh;
  background-image: url("./img/cp/oni/bg01.jpg");
  background-position: 50% 50%;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #onigokko #introduction {
    padding: 120px 0 7vh;
  }
}
#onigokko #introduction div.titlebox {
  max-width: 730px;
  margin: auto;
}
#onigokko #introduction div.titlebox p.date {
  padding: 5px;
  color: #d09549;
  background: #ffef40;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}
@media screen and (max-width: 640px) {
  #onigokko #introduction div.titlebox p.date span {
    display: block;
  }
}
#onigokko #introduction div.button-wrap {
  text-align: center;
  padding: 40px 0;
}
#onigokko #introduction div.button-wrap a.button {
  padding: 3px;
  border-radius: 500px;
  display: inline-block;
  color: #fff;
  letter-spacing: 0;
  font-weight: bold;
  background: linear-gradient(to bottom, #5cadff, #007fff);
}
#onigokko #introduction div.button-wrap a.button span {
  border-radius: 500px;
  border: 2px solid #fff;
  display: flex;
  align-items: center;
  padding: 10px 50px;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  #onigokko #introduction div.button-wrap a.button span {
    font-size: 2rem;
  }
}
#onigokko #introduction div.button-wrap a.button span svg {
  fill: #fff;
  margin-top: 2px;
  margin-right: 10px;
  width: 3.5rem;
  height: 3.5rem;
}
@media screen and (max-width: 768px) {
  #onigokko #introduction div.button-wrap a.button span svg {
    width: 2.5rem;
    height: 2.5rem;
  }
}
#onigokko #introduction div.button-wrap a.button:hover {
  background: linear-gradient(to bottom, #116fb3, #116fb3);
}

#onigokko #profile {
  color: #333;
  padding: 7vh 0;
  background-color: #e0f7ff;
}
#onigokko #profile div.profbox div.item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 5vh;
}
#onigokko #profile div.profbox div.item h3.title {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  text-align: center;
  font-weight: normal;
  margin: 0 0 20px;
  width: 100%;
}
#onigokko #profile div.profbox div.item h3.title b {
  font-weight: bold;
  display: block;
  font-size: 3rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #onigokko #profile div.profbox div.item h3.title b {
    font-size: 2.2rem;
  }
}
#onigokko #profile div.profbox div.item h3.title::before, #onigokko #profile div.profbox div.item h3.title::after {
  flex-grow: 1;
  content: "";
  height: 4px;
  border-top: 2px solid;
  border-bottom: 1px solid;
  border-color: #81a9b7;
}
#onigokko #profile div.profbox div.item h3.title span {
  position: relative;
  padding: 0 3rem;
  margin: 0 10px;
  line-height: 1.3;
}
#onigokko #profile div.profbox div.item h3.title span i {
  display: block;
  height: 6px;
  width: 6px;
  background-color: #81a9b7;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#onigokko #profile div.profbox div.item h3.title span i::before, #onigokko #profile div.profbox div.item h3.title span i::after {
  content: "";
  display: block;
  height: 15px;
  width: 21px;
  border: 2px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  border-color: #81a9b7;
}
#onigokko #profile div.profbox div.item h3.title span i::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#onigokko #profile div.profbox div.item h3.title span i::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#onigokko #profile div.profbox div.item h3.title span i:first-child {
  left: 0;
}
#onigokko #profile div.profbox div.item h3.title span i:last-child {
  right: 0;
}
#onigokko #profile div.profbox div.item div.twicon {
  max-width: 300px;
  position: relative;
  display: inline-block;
  border: 2px solid;
  margin: 4px auto 15px;
}
#onigokko #profile div.profbox div.item div.twicon::before {
  content: "";
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  border: 3px solid;
  display: block;
  position: absolute;
  top: -6px;
  left: -6px;
}
#onigokko #profile div.profbox div.item div.twicon.oni {
  border-color: #8e0909;
}
#onigokko #profile div.profbox div.item div.twicon.oni::before {
  border-color: #8e0909;
}
#onigokko #profile div.profbox div.item div.twicon.tera {
  border-color: #1e62c9;
}
#onigokko #profile div.profbox div.item div.twicon.tera::before {
  border-color: #1e62c9;
}
#onigokko #profile div.profbox div.item h4.name {
  font-size: 3rem;
  letter-spacing: -1px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #onigokko #profile div.profbox div.item h4.name {
    font-size: 2rem;
  }
}
#onigokko #profile div.profbox div.item p.twid {
  color: #007fff;
  font-size: 1.4rem;
  letter-spacing: 0;
}
#onigokko #profile ul.attention {
  position: relative;
  padding: 30px;
  color: #666;
  border: 2px solid #81a9b7;
}
#onigokko #profile ul.attention::before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid #81a9b7;
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
}

#onigokko #cautions {
  padding: 7vh 0 30vw;
  background-position: 50% 100%;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #onigokko #cautions {
    padding: 7vh 0 35vw;
  }
}
@media screen and (max-width: 480px) {
  #onigokko #cautions {
    padding: 7vh 0 55vw;
  }
}

#onigokko div.overview {
  position: relative;
  padding: 30px 50px;
  background: rgba(10, 33, 61, 0.7);
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0 5px #000;
}
@media screen and (max-width: 768px) {
  #onigokko div.overview {
    padding: 30px 5vw;
  }
}
#onigokko div.overview::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#onigokko div.overview h2.title {
  padding: 0 0 10px;
  margin: 0 0 20px;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
#onigokko div.overview ul.howtolist {
  position: relative;
  margin: 0 0 20px;
  list-style: none;
}
#onigokko div.overview ul.howtolist li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  counter-increment: number 1;
  line-height: 1.3;
  padding-bottom: 1rem;
}
#onigokko div.overview ul.howtolist li:before {
  width: 80px;
  text-align: center;
  color: #fff;
  content: counter(number) "．";
}
@media screen and (max-width: 768px) {
  #onigokko div.overview ul.howtolist li:before {
    width: 60px;
  }
}
#onigokko div.overview ul.howtolist li span.sns {
  padding-top: 5px;
  display: inline-flex;
}
#onigokko div.overview ul.howtolist li b {
  color: #ffea00;
}

#onigokko ul.attention {
  font-size: 1.4rem;
  color: #ccc;
}
#onigokko ul.attention li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.3;
  padding-bottom: 1rem;
}
#onigokko ul.attention li:before {
  text-align: center;
  content: "※";
}
#onigokko ul.attention li span.sns {
  padding-top: 5px;
  display: inline-flex;
}
#onigokko ul.attention li b {
  color: #ffea00;
}

main.cbt {
  color: #e7dfdf;
}
main.cbt p:not(:last-of-type) {
  margin-bottom: 2rem;
}
main.cbt ul {
  padding-left: 2rem;
}
main.cbt .cbtframe i {
  opacity: 0.4;
  display: block;
  width: 71px;
  height: 71px;
  position: absolute;
}
main.cbt .cbtframe i:after, main.cbt .cbtframe i:before {
  content: "";
  display: block;
  position: absolute;
  background: linear-gradient(to right, #f5ea53, #ec872a);
}
main.cbt .cbtframe i:before {
  width: 100%;
  height: 1px;
  top: 5px;
  left: -5px;
}
main.cbt .cbtframe i:after {
  width: 1px;
  height: 100%;
  top: -5px;
  left: 5px;
}
main.cbt .cbtframe i:nth-child(1) {
  top: 0;
  left: 0;
}
main.cbt .cbtframe i:nth-child(2) {
  top: 0;
  right: 0;
  transform: rotate(90deg);
}
main.cbt .cbtframe i:nth-child(3) {
  bottom: 0;
  left: 0;
  transform: rotate(270deg);
}
main.cbt .cbtframe i:nth-child(4) {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}

#cbthero {
  background-color: #000;
  background-image: url(./img/cbt/herobg.jpg);
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
  display: grid;
  place-items: center;
}
#cbthero:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.5) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.5) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
#cbthero .outerwrap {
  position: relative;
  margin: auto;
  max-width: 800px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
  padding: 20vh 0 5vh;
}
#cbthero .outerwrap h1.title {
  margin: 55vh auto 0;
}
@media screen and (max-width: 768px) {
  #cbthero .outerwrap h1.title {
    margin: 70vw auto 0;
  }
}
#cbthero .outerwrap div.date {
  margin: 5vh auto 0;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.6));
}
@media screen and (max-width: 768px) {
  #cbthero .outerwrap div.date {
    margin: 5vw auto 0;
  }
}

@keyframes bling {
  0% {
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.6));
  }
  50% {
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.6));
  }
  100% {
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.6));
  }
}
#cbtabout {
  padding: 20vh 0;
  flex-direction: column;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #cbtabout {
    padding: 10vh 0;
  }
}
#cbtabout:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.5) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.5) 75%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
#cbtabout #cbtregistration {
  margin-bottom: 12vh;
}
#cbtabout .outerwrap {
  font-size: 1.6rem;
  margin: auto;
  max-width: 1024px;
  width: 90%;
  position: relative;
  z-index: 1;
}

#cbtabout .cbtregistration {
  position: relative;
}
#cbtabout .cbtregistration h3.title {
  position: relative;
  display: block;
  color: #333;
  padding: 3vh 0 3.5vh;
  line-height: 1;
  font-size: 2.6rem;
  font-weight: normal;
  text-align: center;
  margin: 0 auto 6.5vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  background: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 640px) {
  #cbtabout .cbtregistration h3.title {
    font-size: 4.0625vw;
  }
}
#cbtabout .cbtregistration h3.title::before, #cbtabout .cbtregistration h3.title::after {
  position: absolute;
  content: " ";
  border: solid transparent;
  border-width: 1px;
  border-color: rgba(160, 160, 160, 0.5);
}
#cbtabout .cbtregistration h3.title::before {
  width: calc(100% + 8px);
  height: calc(100% - 8px);
  top: 4px;
  left: -4px;
}
#cbtabout .cbtregistration h3.title::after {
  width: calc(100% - 8px);
  height: calc(100% + 8px);
  top: -4px;
  left: 4px;
}
#cbtabout .cbtregistration div.text {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 15vh;
  text-shadow: 0 2px 5px #000, 0 -2px 5px #000;
}
@media screen and (max-width: 1000px) {
  #cbtabout .cbtregistration div.text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration div.text br {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  #cbtabout .cbtregistration div.text {
    margin: 0 auto 8vh;
  }
}
#cbtabout .cbtregistration div.endframe {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.6) 85%, transparent);
  line-height: 1.2;
  padding: 5vh 4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration div.endframe {
    padding: 5vh 4vw;
    font-size: 3rem;
  }
}
@media screen and (max-width: 550px) {
  #cbtabout .cbtregistration div.endframe {
    font-size: 5.4vw;
  }
}
#cbtabout .cbtregistration div.endframe:before, #cbtabout .cbtregistration div.endframe:after {
  content: "";
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.6) 85%, transparent);
  width: 100%;
  height: 1px;
  left: 0;
  display: block;
  position: absolute;
}
#cbtabout .cbtregistration div.endframe:before {
  top: 3px;
}
#cbtabout .cbtregistration div.endframe:before, #cbtabout .cbtregistration div.endframe:after {
  bottom: 3px;
}
#cbtabout .cbtregistration div.endframe p {
  margin-top: 3vh;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration div.endframe p {
    font-size: 3vw;
  }
}
#cbtabout .cbtregistration .contact {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  padding: 6.2vh 7vh 9vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0 5px #000;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration .contact {
    padding: 6.2vh 4vh 5vh;
  }
}
#cbtabout .cbtregistration .contact::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #333;
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#cbtabout .cbtregistration .contact div.caution {
  text-align: center;
  font-size: 1.2rem;
  position: relative;
  padding: 4vh 3vw 2.5vh;
}
#cbtabout .cbtregistration .contact div.caution a {
  color: #fff;
  text-decoration: underline;
}
#cbtabout .cbtregistration .contact .agreement {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
  font-size: 1.4rem;
  letter-spacing: 0;
  color: #fff;
}
#cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label {
  padding: 10px;
  cursor: pointer;
  display: inline-block;
  transition: color 600ms;
}
#cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label:before, #cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label:after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
}
#cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label:before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='rgb(249, 226, 103)' stroke-width='1' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 2px;
  opacity: 0;
  transition: opacity 120ms;
}
#cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label:after {
  background-color: transparent;
  border: 1px solid #fff;
  transition: border-color 600ms;
}
#cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label:hover {
  color: #f9e267;
}
#cbtabout .cbtregistration .contact .agreement .wpcf7-list-item-label:hover:after {
  border-color: #f9e267;
}
#cbtabout .cbtregistration .contact .agreement input[type=checkbox] {
  visibility: hidden;
}
#cbtabout .cbtregistration .contact .agreement input[type=checkbox]:checked + .wpcf7-list-item-label {
  color: #f9e267;
}
#cbtabout .cbtregistration .contact .agreement input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  opacity: 1;
}
#cbtabout .cbtregistration .contact .agreement input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  border-color: #f9e267;
}
#cbtabout .cbtregistration .contact .mform {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  max-width: 650px;
  margin: auto;
}
#cbtabout .cbtregistration .contact .mform .emailinput {
  width: calc(100% - 100px);
  position: relative;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration .contact .mform .emailinput {
    width: calc(100% - 70px);
  }
}
#cbtabout .cbtregistration .contact .mform input[type=email] {
  width: 100%;
  margin: 0;
  padding: 10px;
  display: block;
  border: none;
  border-radius: 5px 0 0 5px;
  color: #121212;
  font-weight: bolder;
  font-size: 1.6rem;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) inset;
  transition: all 240ms;
}
#cbtabout .cbtregistration .contact .mform input[type=email]::placeholder {
  color: rgba(0, 0, 0, 0.2);
}
#cbtabout .cbtregistration .contact .mform input[type=email]:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.2);
}
#cbtabout .cbtregistration .contact .mform input[type=email]::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.2);
}
#cbtabout .cbtregistration .contact .mform input[type=email]:focus {
  background: #ededed;
  color: #000;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration .contact .mform input[type=email] {
    font-size: 1.6rem;
  }
}
#cbtabout .cbtregistration .contact .mform input[type=email][disabled] {
  opacity: 0.35;
  cursor: not-allowed;
  /* 禁止カーソル */
}
#cbtabout .cbtregistration .contact .mform input[type=submit] {
  display: inline-block;
  width: 100px;
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  padding: 5px 0;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: bottom;
  border-radius: 0 5px 5px 0;
  border: none;
  color: #E6EAEF;
  transition: opacity 480ms;
}
#cbtabout .cbtregistration .contact .mform input[type=submit]:active {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}
#cbtabout .cbtregistration .contact .mform input[type=submit][disabled] {
  opacity: 0.35;
  cursor: not-allowed;
  /* 禁止カーソル */
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration .contact .mform input[type=submit] {
    width: 70px;
    font-size: 1.6rem;
  }
}
#cbtabout .cbtregistration .contact .mform span.wpcf7-not-valid-tip {
  position: absolute;
  bottom: -5px;
  left: -5px;
  pointer-events: none;
  background: #f7d7da;
  border: 1px solid #f4c6cb;
  padding: 2px 5px;
  transition: all 480ms;
}
#cbtabout .cbtregistration .contact .mform input[type=email]:focus + span.wpcf7-not-valid-tip {
  bottom: -15px;
  opacity: 0;
}
#cbtabout .cbtregistration .contact div.wpcf7 .ajax-loader {
  background-image: url(./img/icons/ajax-loader.gif);
  width: 16px;
  height: 11px;
  border: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 110px;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtregistration .contact div.wpcf7 .ajax-loader {
    right: 80px;
  }
}
#cbtabout .cbtregistration .contact div.wpcf7-mail-sent-ok {
  background: #d5edda;
  color: #185626;
  border: 1px solid #c4e5cc;
  padding: 10px;
}
#cbtabout .cbtregistration .contact div.wpcf7-validation-errors,
#cbtabout .cbtregistration .contact div.wpcf7-acceptance-missing {
  background: #fff2cf;
  color: #846314;
  border: 1px solid #feedbd;
  padding: 10px;
}
#cbtabout .cbtregistration .contact div.wpcf7-mail-sent-ng {
  background: #f7d7da;
  color: #711d26;
  border: 1px solid #f4c6cb;
  padding: 10px;
}
#cbtabout .cbtregistration .contact div.wpcf7-spam-blocked {
  background: #fff2cf;
  color: #846314;
  border: 1px solid #feedbd;
  padding: 10px;
}

#cbtabout .cbtinformation {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  padding: 6.2vh 7vh 9vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  box-shadow: 0 0 5px #000;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtinformation {
    padding: 6.2vh 4vh 5vh;
  }
}
#cbtabout .cbtinformation::after {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #333;
  position: absolute;
  top: 5px;
  left: 5px;
  pointer-events: none;
}
#cbtabout .cbtinformation h2.title {
  margin-bottom: 3.6vh;
  color: #e7dfdf;
  font-size: 3.5rem;
  text-align: center;
}
@media screen and (max-width: 480px) {
  #cbtabout .cbtinformation h2.title {
    font-size: 7.29166vw;
  }
}
#cbtabout .cbtinformation ul li {
  margin-bottom: 1rem;
}
#cbtabout .cbtinformation div.textbox:not(:last-of-type) {
  margin-bottom: 7vh;
}
#cbtabout .cbtinformation div.textbox h3.title {
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtinformation div.textbox h3.title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 480px) {
  #cbtabout .cbtinformation div.textbox h3.title {
    font-size: 1.8rem;
  }
}
#cbtabout .cbtinformation div.textbox div.image {
  padding-top: 3vh;
}
#cbtabout .cbtinformation div.table {
  position: relative;
}
#cbtabout .cbtinformation div.table:before {
  content: "";
  background: linear-gradient(to right, transparent 0%, #454545 10%, #454545 90%, transparent 100%);
  height: 1px;
  width: calc(100% + 30px);
  position: absolute;
  top: 0;
  left: -15px;
}
#cbtabout .cbtinformation div.table .row {
  position: relative;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtinformation div.table .row {
    padding: 10px;
  }
}
#cbtabout .cbtinformation div.table .row:before {
  content: "";
  background: linear-gradient(to right, transparent 0%, #454545 10%, #454545 90%, transparent 100%);
  height: 1px;
  width: calc(100% + 30px);
  position: absolute;
  bottom: 0;
  left: -15px;
}
#cbtabout .cbtinformation div.table .row .col.tr {
  width: 200px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtinformation div.table .row .col.tr {
    width: 100%;
    margin-bottom: 5px;
  }
}
#cbtabout .cbtinformation div.table .row .col.td {
  width: calc(100% - 200px);
}
@media screen and (max-width: 768px) {
  #cbtabout .cbtinformation div.table .row .col.td {
    width: 100%;
  }
}

#cbttestflight {
  margin: auto;
}
#cbttestflight h2.title {
  margin-bottom: 3.6vh;
  color: #e7dfdf;
  font-size: 3.5rem;
  text-align: center;
}
@media screen and (max-width: 480px) {
  #cbttestflight h2.title {
    font-size: 7.29166vw;
  }
}
#cbttestflight .inner {
  padding: 4vh 4%;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
}
#cbttestflight .inner h3.title {
  margin-bottom: 5vh;
  color: #e7dfdf;
  font-size: 3.5rem;
  text-align: center;
}
@media screen and (max-width: 480px) {
  #cbttestflight .inner h3.title {
    font-size: 7.29166vw;
  }
}
#cbttestflight .inner ul.appstep {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
}
#cbttestflight .inner ul.appstep li {
  position: relative;
  width: calc(100% / 2 - 30px);
  margin-bottom: 50px;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  #cbttestflight .inner ul.appstep li {
    width: 100%;
  }
}
#cbttestflight .inner ul.appstep li img {
  margin: auto;
}
#cbttestflight .inner ul.appstep li .linkbox {
  position: absolute;
  bottom: 5%;
  display: flex;
  justify-content: center;
  width: 100%;
}
#cbttestflight .inner ul.appstep li .linkbox a {
  color: #fff;
  background: #017aff;
  padding: 10px 15px;
  font-size: 1.4rem;
  border-radius: 50px;
  box-shadow: 0 0 10px 5px #000;
}
@media screen and (max-width: 768px) {
  #cbttestflight .inner ul.appstep li .linkbox a {
    font-size: 1.2rem;
  }
}

#cbtattention {
  margin: auto;
}
#cbtattention h2.title {
  margin-bottom: 3.6vh;
  color: #e7dfdf;
  font-size: 3.5rem;
  text-align: center;
}
@media screen and (max-width: 480px) {
  #cbtattention h2.title {
    font-size: 7.29166vw;
  }
}
#cbtattention .inner {
  font-size: 1.2rem;
  color: #a2a2a2;
  padding: 4vh 4%;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
}
#cbtattention .inner ul li {
  margin-bottom: 0.4rem;
  line-height: 1.2;
}

.cbtblingframe {
  margin: 10vh 0;
  position: relative;
}
.cbtblingframe i {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  background: linear-gradient(to right, transparent 0%, rgba(236, 135, 42, 0.5) 10%, rgba(236, 135, 42, 0.5) 90%, transparent 100%);
}
.cbtblingframe i:before, .cbtblingframe i:after {
  content: "";
  display: block;
  position: absolute;
  background: linear-gradient(to right, transparent 0%, #f5ea53 50%, transparent 100%);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  animation: blingline 4800ms linear infinite;
}
.cbtblingframe i:after {
  filter: blur(5px);
}

@keyframes blingline {
  0% {
    transform-origin: left;
    transform: scaleX(0);
    opacity: 0;
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
    opacity: 0;
  }
}
#cbtabout {
  /*タブ切り替え全体のスタイル*/
  /*タブのスタイル*/
  /*ラジオボタンを全て消す*/
  /*タブ切り替えの中身のスタイル*/
  /*選択されているタブのコンテンツのみを表示*/
  /*選択出来ないタブのスタイルを変える*/
  /*選択されているタブのスタイルを変える*/
}
#cbtabout .tabs {
  margin-top: 50px;
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#cbtabout .tab_item {
  width: calc(100%/2 - 25px);
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #ddd;
  display: block;
  text-align: center;
  font-weight: bold;
  border-radius: 5px;
  transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  #cbtabout .tab_item {
    width: 100%;
  }
  #cbtabout .tab_item.ios {
    margin-bottom: 3vh;
  }
}
#cbtabout .tab_item.ios {
  background: linear-gradient(200deg, #304294, #3974ea 50%, #304294);
  background-size: 100% 500%;
}
#cbtabout .tab_item.android {
  background: linear-gradient(200deg, #69831f, #a5cb3a 50%, #69831f);
  background-size: 100% 500%;
}
#cbtabout input[name=tab_item] {
  display: none;
}
#cbtabout .tab_content {
  padding: 5vh 0 0;
  display: none;
  clear: both;
  overflow: hidden;
  width: 100%;
}
#cbtabout .tab_content .wpcf7 br {
  display: none;
}
#cbtabout .tab_content#tab01_content input[type=submit] {
  background: linear-gradient(to right, #3974ea, #304294);
}
#cbtabout .tab_content#tab01_content input[type=submit]:not([disabled]):hover {
  color: #000;
  background: linear-gradient(to bottom, #3974ea, #304294);
}
#cbtabout .tab_content#tab01_content input[type=submit]:hover:active {
  color: #000;
  background-image: linear-gradient(to bottom, #304294, #304294);
}
#cbtabout .tab_content#tab02_content input[type=submit] {
  background: linear-gradient(to right, #a5cb3a, #69831f);
}
#cbtabout .tab_content#tab02_content input[type=submit]:not([disabled]):hover {
  color: #000;
  background: linear-gradient(to bottom, #a5cb3a, #69831f);
}
#cbtabout .tab_content#tab02_content input[type=submit]:hover:active {
  color: #000;
  background-image: linear-gradient(to bottom, #69831f, #69831f);
}
#cbtabout #tab01:checked ~ #tab01_content, #cbtabout #tab02:checked ~ #tab02_content {
  display: block;
}
#cbtabout .tabs input:disabled + .tab_item {
  opacity: 0.5;
  pointer-events: none;
}
#cbtabout #tab01:disabled ~ #tab01_content, #cbtabout #tab02:disabled ~ #tab02_content {
  display: none;
}
#cbtabout .tabs input:checked + .tab_item {
  background-position: 0 100%;
  color: #f4e210;
}

#friends {
  background-color: transparent;
  padding: 5vh 0;
}
#friends h1.title {
  margin-bottom: 5vh;
  text-align: center;
}
#friends .inner {
  margin: auto;
  max-width: 500px;
  width: 90%;
  text-align: center;
  /* 注意事項
  ========================================================================== */
}
#friends .inner .caution {
  padding-top: 5vh !important;
  font-size: 1.2rem !important;
  position: relative;
  padding: 4vh 3vw 2.5vh;
  color: #fff !important;
}
#friends .inner .caution p {
  text-align: left;
}
#friends .inner .caution a {
  color: #fff !important;
  text-decoration: underline;
}
#friends .inner .notes {
  font-size: 1.2rem;
  padding: 20px 30px 30px;
  position: relative;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(0, 0, 0, 0.5);
  margin-top: 5vh;
  -webkit-backdrop-filter: saturate(90%) blur(5px);
          backdrop-filter: saturate(90%) blur(5px);
  text-align: left;
}
@media screen and (max-width: 768px) {
  #friends .inner .notes {
    padding: 3vh 5vw 5vw;
    padding-left: 3vw;
  }
}
#friends .inner .notes h3.title {
  display: inline-block;
  background: #000;
  padding: 5px 10px;
  margin-bottom: 15px;
}
#friends .inner .notes ul {
  padding: 0;
  padding-left: 2rem;
  margin: 0;
}
#friends .inner .notes ul li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
#friends .personalitybox .totalpoll-form-field-errors-item {
  margin-bottom: 5vh !important;
  background: #f00 !important;
  color: #fff !important;
  font-weight: bold !important;
  padding: 20px 0 !important;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 5vh;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio] {
  display: none !important;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio] + .totalpoll-form-field-label {
  width: 48%;
  position: relative;
  display: inline-block;
  margin: 0 4px 0 0;
  padding: 10px 0;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  letter-spacing: 0;
  cursor: pointer;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio] + .totalpoll-form-field-label[for=choice-radio-iphone] {
  background: linear-gradient(200deg, #304294, #3974ea 50%, #304294);
  background-size: 100% 500%;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio] + .totalpoll-form-field-label[for=choice-radio-android] {
  background: linear-gradient(200deg, #69831f, #a5cb3a 50%, #69831f);
  background-size: 100% 500%;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio]:checked + .totalpoll-form-field-label {
  background: rgba(255, 128, 0, 0.8);
  color: #000;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio]:checked + .totalpoll-form-field-label::before, #friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio]:checked + .totalpoll-form-field-label::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  height: calc(100% + 2px);
  width: calc(100% + 2px);
  background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
  border-radius: 6px;
  z-index: -1;
  animation: animatedgradient 3s ease alternate infinite;
  background-size: 300% 300%;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-radio input[type=radio]:checked + .totalpoll-form-field-label::after {
  filter: blur(5px);
}
@keyframes animatedgradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-questions {
  display: none !important;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-custom-fields {
  padding: 0 !important;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-page {
  width: 100%;
  margin: 0 !important;
  display: block;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-errors {
  width: 100%;
}
#friends div#totalpoll.totalpoll-wrapper #totalpoll-fields-p {
  display: none;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field {
  padding: 0 !important;
  margin-bottom: 1em;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-question-content, #friends div#totalpoll.totalpoll-wrapper p, #friends div#totalpoll.totalpoll-wrapper fieldset, #friends div#totalpoll.totalpoll-wrapper table, #friends div#totalpoll.totalpoll-wrapper pre {
  color: #fff;
  margin-bottom: 10px !important;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-control {
  position: relative;
  border-radius: 5px;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-selector {
  position: absolute !important;
  width: 100%;
  height: 100%;
  opacity: 0;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-input {
  border-radius: 5px;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item {
  width: calc(100% /2);
}
@media screen and (max-width: 480px) {
  #friends div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item {
    width: 100%;
  }
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-question-choices-item-label {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-checkbox {
  margin: auto;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-buttons {
  justify-content: center;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-form-field-label {
  color: #fff;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-button-primary {
  background: linear-gradient(15deg, #082565, #040d36) !important;
  color: #ffffff;
  font-weight: bold !important;
  border: none !important;
  width: 70% !important;
  border-radius: 5px !important;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35) !important;
  margin: 0 !important;
}
#friends div#totalpoll.totalpoll-wrapper .totalpoll-buttons > .totalpoll-button.totalpoll-buttons-back {
  display: none;
}

#poll {
  padding: 110px 0 10vh;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
#poll .outerwrap {
  position: relative;
  margin: auto;
  max-width: 800px;
  width: 95%;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
  color: #111;
  background: #fbfffc;
  padding: 30px;
}
@media (max-width: 768px) {
  #poll .outerwrap {
    padding: 3vw;
  }
}
#poll .outerwrap h1.title {
  margin-bottom: 30px;
}