@charset "UTF-8";
/* =================================
  RESET
================================= */
a, ins {
  text-decoration: none; }

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

a, hr {
  padding: 0; }

* {
  box-sizing: border-box; }

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0; }

ins, mark {
  background-color: #000;
  color: #fff; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

body {
  line-height: 1; }

nav ul {
  list-style: none; }

ul li {
  list-style-type: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0; }

mark {
  font-style: italic;
  font-weight: 700; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0; }

input, select {
  vertical-align: middle; }

ul {
  font-size: 0; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

/* =================================
  BASE
================================= */
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow: auto;
  height: 100%; }

body {
  color: #fff;
  font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  background-color: #000;
  -webkit-overflow-scrolling: touch;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }
  @media (max-width: 768px) {
    body {
      overflow: hidden; } }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  border: 0;
  margin: 0;
  padding: 0; }

a,
a:focus,
a:hover {
  outline: none;
  color: #fff; }

#wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto; }
  @media (max-width: 768px) {
    #wrapper {
      position: relative;
      overflow: hidden;
      width: 100%; } }

.yellow {
  color: #ffd617; }

.red {
  color: #ef1616; }

/* =================================
  HEADER
================================= */
#header {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 150px;
  overflow: hidden;
  z-index: 999; }
  @media (max-width: 768px) {
    #header {
      width: 10.4166666667vw;
      height: 20.8333333333vw; } }
  #header .header_s {
    position: relative;
    z-index: 0;
    width: 60px;
    height: 150px;
    right: -120px; }
    @media (max-width: 768px) {
      #header .header_s {
        width: 10.4166666667vw;
        height: 20.8333333333vw;
        right: -20.0520833333vw; } }
    #header .header_s .twBtn {
      position: relative;
      padding-left: 2px;
      padding-top: 18px; }
      @media (max-width: 768px) {
        #header .header_s .twBtn {
          padding-left: 0;
          padding-top: 3.90625vw; } }
      #header .header_s .twBtn a {
        display: block;
        width: 43px;
        height: 35px; }
        @media (max-width: 768px) {
          #header .header_s .twBtn a {
            width: 9.375vw;
            height: 7.8125vw; } }

.prereg_wrap {
  position: fixed;
  z-index: 10; }
  @media (min-width: 769px) {
    .prereg_wrap {
      top: 20px;
      left: -120px;
      width: 81px;
      height: 81px; } }

.prereg_wrap_sp {
  position: fixed;
  z-index: 10; }
  @media (max-width: 768px) {
    .prereg_wrap_sp {
      bottom: 20.8333333333vw;
      right: -20.0520833333vw;
      width: 17.4479166667vw;
      height: 17.4479166667vw; } }

.prereg .img {
  position: relative;
  z-index: 5; }
.prereg .pre_bg {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%; }
  .prereg .pre_bg.pre_bg1 {
    background: url("../img/top/btn_jizen_bg1.png") no-repeat center center;
    background-size: 100% auto;
    opacity: 1;
    animation: prereg_btn_bg1 12000ms infinite; }
  .prereg .pre_bg.pre_bg2 {
    background: url("../img/top/btn_jizen_bg2.png") no-repeat center center;
    background-size: 100% auto;
    opacity: 0;
    animation: prereg_btn_bg2 12000ms infinite; }
  .prereg .pre_bg.pre_bg3 {
    background: url("../img/top/btn_jizen_bg3.png") no-repeat center center;
    background-size: 100% auto;
    opacity: 0;
    animation: prereg_btn_bg3 12000ms infinite; }

@keyframes prereg_btn_bg1 {
  0% {
    opacity: 1; }
  30% {
    opacity: 1; }
  40% {
    opacity: 0; }
  90% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes prereg_btn_bg2 {
  0% {
    opacity: 0; }
  30% {
    opacity: 0; }
  40% {
    opacity: 1; }
  60% {
    opacity: 1; }
  70% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes prereg_btn_bg3 {
  0% {
    opacity: 0; }
  60% {
    opacity: 0; }
  70% {
    opacity: 1; }
  90% {
    opacity: 1; }
  100% {
    opacity: 0; } }
/* =========================================== */
/* menu */
/* =========================================== */
#btn-menu {
  position: relative;
  top: 0;
  right: 0;
  width: 60px;
  height: 50px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  z-index: 4; }
  @media (max-width: 768px) {
    #btn-menu {
      width: 7.8125vw;
      height: 9.1145833333vw; } }

.menu-trigger,
.menu-trigger p.menu-btn_s span {
  display: inline-block;
  box-sizing: border-box; }

.menu-trigger {
  position: relative;
  top: 0;
  left: 0;
  width: 60px;
  height: 50px; }
  @media (max-width: 768px) {
    .menu-trigger {
      position: absolute;
      top: 2.6041666667vw;
      width: 7.8125vw;
      height: 5.46875vw; } }
  .menu-trigger p {
    position: relative;
    margin-top: 20px;
    margin-left: 2px;
    width: 38px;
    height: 22px; }
    @media (max-width: 768px) {
      .menu-trigger p {
        margin-top: 0vw;
        margin-left: 0vw;
        width: 7.8125vw;
        height: 5.46875vw; } }

.menu-trigger p.menu-btn_s span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s; }
  @media (max-width: 768px) {
    .menu-trigger p.menu-btn_s span {
      height: 0.5208333333vw; } }

/*
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 50%;
}
.menu-trigger span:nth-of-type(3) {
  top: 100%;
}
*/
#menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  z-index: 998;
  display: none; }

#menu .menu_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#menu .menu_inner .menu_bg {
  position: absolute;
  background: rgba(0, 0, 255, 0.8);
  background: url("../img/top/menu_bg.jpg") no-repeat center center;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }

#menu .menu_list {
  position: absolute;
  width: 290px;
  height: 520px;
  box-sizing: border-box;
  overflow: hidden;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  z-index: 1; }
  @media (max-width: 768px) {
    #menu .menu_list {
      width: 49.4791666667vw;
      height: 106.7708333333vw; } }

#menu .menu_btn_wrap {
  width: 100%; }

#menu .menu_list .btn {
  text-align: center;
  margin-top: 30px; }
  @media (max-width: 768px) {
    #menu .menu_list .btn {
      margin-top: 7.8125vw; } }
  #menu .menu_list .btn.btn1 {
    margin-top: 0; }
    @media (max-width: 768px) {
      #menu .menu_list .btn.btn1 {
        margin-top: 0; } }
  #menu .menu_list .btn a {
    display: block;
    font-size: 3.6rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #fff; }
    @media (max-width: 768px) {
      #menu .menu_list .btn a {
        font-size: 6.5104166667vw; } }
    #menu .menu_list .btn a .update {
      display: inline;
      color: #ef1616;
      font-size: 70%;
      margin-top: 0em;
      letter-spacing: 0.1em; }

.sns_wrap {
  width: 290px;
  margin: 96px auto 0; }
  @media (max-width: 768px) {
    .sns_wrap {
      width: 49.4791666667vw;
      margin-top: 20.8333333333vw; } }
  .sns_wrap .share_tit {
    float: left;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #fff;
    padding-left: 4px;
    width: 130px;
    line-height: 42px; }
    @media (max-width: 768px) {
      .sns_wrap .share_tit {
        font-size: 4.6875vw;
        padding-left: 0.5208333333vw;
        width: 24.7395833333vw;
        line-height: 7.8125vw; } }
  .sns_wrap .sns_btn {
    float: left;
    width: 49px;
    margin-left: 27px; }
    @media (max-width: 768px) {
      .sns_wrap .sns_btn {
        width: 8.8541666667vw;
        margin-left: 6.25vw; } }
    .sns_wrap .sns_btn.tw {
      margin-left: 0px;
      width: 54px; }
      @media (max-width: 768px) {
        .sns_wrap .sns_btn.tw {
          margin-left: 0px;
          width: 9.6354166667vw; } }

#prereg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  z-index: 1998;
  display: none; }

#prereg .prereg_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#prereg .prereg_inner .prereg_bg {
  position: absolute;
  background: url("../img/top/menu_bg.jpg") no-repeat center center;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }

#prereg .prereg_list,
#prereg .pop {
  position: absolute;
  width: 500px;
  height: 550px;
  box-sizing: border-box;
  overflow: hidden;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  z-index: 1; }
  @media (max-width: 768px) {
    #prereg .prereg_list,
    #prereg .pop {
      width: 94.4010416667vw;
      height: 109.375vw; } }

#prereg .pop {
  width: 600px; }
  @media (max-width: 768px) {
    #prereg .pop {
      width: 94.4010416667vw; } }

#prereg .jizen_pop1,
#prereg .jizen_pop2,
#prereg .jizen_pop3 {
  display: none; }

#prereg .tit {
  text-align: center;
  color: #fff;
  font-size: 4rem;
  letter-spacing: 0.2em;
  line-height: 1; }
  @media (max-width: 768px) {
    #prereg .tit {
      font-size: 9.1145833333vw; } }

#prereg .btn {
  text-align: center;
  margin-top: 10px; }
  @media (max-width: 768px) {
    #prereg .btn {
      margin-top: 1.3020833333vw; } }
  #prereg .btn a {
    display: block;
    position: relative;
    font-size: 2.88rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #fff;
    text-align: left;
    width: 100%;
    height: 108px;
    padding: 5px; }
    @media (max-width: 768px) {
      #prereg .btn a {
        font-size: 4.6875vw;
        height: 20.8333333333vw;
        padding: 0.6510416667vw; } }
    #prereg .btn a .btn_s {
      border: 1px solid #2eacf5;
      height: 98px;
      line-height: 98px;
      padding-left: 30px; }
      @media (max-width: 768px) {
        #prereg .btn a .btn_s {
          height: 19.53125vw;
          line-height: 19.53125vw;
          padding-left: 6.5104166667vw; } }
    #prereg .btn a span.small {
      font-size: 2.4rem; }
      @media (max-width: 768px) {
        #prereg .btn a span.small {
          font-size: 3.90625vw; } }
    #prereg .btn a .ico {
      display: block;
      position: absolute;
      top: 50%;
      right: 20px;
      width: 68px;
      height: 68px;
      margin-top: -34px;
      line-height: 1; }
      @media (max-width: 768px) {
        #prereg .btn a .ico {
          right: 4.1666666667vw;
          width: 12.3697916667vw;
          height: 12.3697916667vw;
          margin-top: -6.1848958333vw; } }
  #prereg .btn.btn1 {
    margin-top: 60px; }
    @media (max-width: 768px) {
      #prereg .btn.btn1 {
        margin-top: 13.0208333333vw; } }
    #prereg .btn.btn1 a {
      background: url("../img/top/prereg_btn1_bg.png") repeat left top; }
  #prereg .btn.btn2 a {
    background: url("../img/top/prereg_btn2_bg.png") repeat left top; }
    #prereg .btn.btn2 a .btn_s {
      border: 1px solid #338803; }
  #prereg .btn.btn3 a {
    background: url("../img/top/prereg_btn3_bg.png") repeat left top; }
    #prereg .btn.btn3 a .btn_s {
      border: 1px solid #8e0205; }

#prereg .app_box {
  text-align: center;
  margin-top: 28px;
  width: 100%; }
  @media (max-width: 768px) {
    #prereg .app_box {
      width: 94.4010416667vw;
      margin-top: 7.8125vw; } }
  #prereg .app_box .app_btn {
    display: inline-block;
    width: 236px; }
    @media (max-width: 768px) {
      #prereg .app_box .app_btn {
        width: 44.921875vw; } }
    #prereg .app_box .app_btn.app_btn2 {
      margin-left: 23px; }
      @media (max-width: 768px) {
        #prereg .app_box .app_btn.app_btn2 {
          margin-left: 2.34375vw; } }
    #prereg .app_box .app_btn a {
      display: block;
      position: relative;
      font-size: 2.88rem;
      letter-spacing: 0.1em;
      font-weight: 500;
      color: #fff;
      text-align: left;
      width: 100%;
      height: 108px;
      padding: 5px; }
      @media (max-width: 768px) {
        #prereg .app_box .app_btn a {
          font-size: 4.6875vw;
          height: 20.8333333333vw;
          padding: 0.6510416667vw; } }

#prereg .pop button {
  display: block;
  position: relative;
  font-size: 2.88rem;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  text-align: left;
  width: 500px;
  height: 108px;
  margin: 0 auto;
  padding: 5px;
  font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  background: url("../img/top/prereg_btn3_bg.png") repeat left top; }
  @media (max-width: 768px) {
    #prereg .pop button {
      font-size: 4.6875vw;
      width: 80%;
      height: 20.8333333333vw;
      padding: 0.6510416667vw; } }
  @media (min-width: 769px) {
    #prereg .pop button {
      opacity: 1; }
      #prereg .pop button:hover {
        opacity: 0.7; } }
  #prereg .pop button .btn_s {
    border: 1px solid #8e0205;
    height: 98px;
    line-height: 98px;
    padding-left: 30px; }
    @media (max-width: 768px) {
      #prereg .pop button .btn_s {
        height: 19.53125vw;
        line-height: 19.53125vw;
        padding-left: 6.5104166667vw; } }
  #prereg .pop button span.small {
    font-size: 2.4rem; }
    @media (max-width: 768px) {
      #prereg .pop button span.small {
        font-size: 3.90625vw; } }
  #prereg .pop button .ico {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 68px;
    height: 68px;
    margin-top: -34px;
    line-height: 1; }
    @media (max-width: 768px) {
      #prereg .pop button .ico {
        right: 4.1666666667vw;
        width: 12.3697916667vw;
        height: 12.3697916667vw;
        margin-top: -6.1848958333vw; } }

#prereg .pop .btn {
  width: 500px;
  margin: 0 auto; }
  @media (max-width: 768px) {
    #prereg .pop .btn {
      width: 80%; } }

#prereg .pop input[type="email"] {
  display: block;
  width: 80%;
  margin: 0 auto 60px;
  text-align: center;
  font-size: 20px;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 0; }
  @media (max-width: 768px) {
    #prereg .pop input[type="email"] {
      width: 100%;
      font-size: 3.4vw;
      padding: 3vw 0;
      border-radius: 1.3020833333vw;
      margin: 0 auto 6.5104166667vw;
      font-size: 16px; } }

#prereg .attention {
  margin: 30px 0 40px 40px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8; }
  @media (max-width: 768px) {
    #prereg .attention {
      margin: 7.8125vw 2.6041666667vw 6.5104166667vw;
      font-size: 3.125vw; } }
  #prereg .attention dt {
    float: left;
    width: 1em; }
  #prereg .attention dd {
    padding-left: 1em; }

#prereg .attention2 {
  text-align: center;
  margin: 60px 0 60px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8; }
  @media (max-width: 768px) {
    #prereg .attention2 {
      margin: 10.4166666667vw 2.6041666667vw 10.4166666667vw;
      font-size: 3.3854166667vw; } }

#prereg .close {
  position: fixed;
  display: block;
  z-index: 100000;
  top: 0;
  right: -150px;
  width: 60px;
  height: 50px;
  padding: 0;
  overflow: hidden;
  cursor: pointer; }
  @media (max-width: 768px) {
    #prereg .close {
      width: 10.4166666667vw;
      height: 9.1145833333vw; } }
  #prereg .close .close-trigger,
  #prereg .close .close-trigger p.close-btn_s span {
    display: inline-block;
    box-sizing: border-box; }
  #prereg .close .close-trigger {
    position: relative;
    top: 0;
    left: 0;
    width: 60px;
    height: 50px; }
    @media (max-width: 768px) {
      #prereg .close .close-trigger {
        position: absolute;
        top: 2.6041666667vw;
        width: 7.8125vw;
        height: 5.46875vw; } }
    #prereg .close .close-trigger p.close-btn_s {
      position: relative;
      margin-top: 20px;
      margin-left: 2px;
      width: 38px;
      height: 22px; }
      @media (max-width: 768px) {
        #prereg .close .close-trigger p.close-btn_s {
          margin-top: 0vw;
          margin-left: 0vw;
          width: 7.8125vw;
          height: 5.46875vw; } }
      #prereg .close .close-trigger p.close-btn_s span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        -webkit-transition: background-color 0.3s;
        transition: background-color 0.3s; }
        @media (max-width: 768px) {
          #prereg .close .close-trigger p.close-btn_s span {
            height: 0.5208333333vw; } }

/* =================================
FOOTER [ TOP ]
================================= */
#footer {
  background: rgba(0, 0, 0, 0.5); }
  @media (max-width: 768px) {
    #footer {
      background: none; } }
  #footer .sns_box {
    padding: 80px 0 0;
    width: 100%;
    height: 200px;
    background: url("../img/top/bg_sns_box_pc.jpg") no-repeat center center;
    background-size: cover; }
    @media (max-width: 768px) {
      #footer .sns_box {
        padding: 15.625vw 0 0;
        height: 39.0625vw;
        background: url("../img/top/bg_sns_box_sp.jpg") no-repeat center center;
        background-size: cover; } }
    #footer .sns_box .sns_wrap {
      margin-top: 0; }
  #footer .footer_inner {
    position: relative;
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 1.0rem;
    letter-spacing: 0.12em;
    line-height: 1;
    padding-top: 40px;
    padding-bottom: 10px; }
    @media (max-width: 768px) {
      #footer .footer_inner {
        font-size: 2.34375vw;
        padding-top: 14.3229166667vw;
        padding-bottom: 3.125vw; } }
    #footer .footer_inner .f_bnr .f_bnr_s {
      padding: 0 0 60px;
      text-align: center; }
      @media (max-width: 768px) {
        #footer .footer_inner .f_bnr .f_bnr_s {
          padding: 0 0 13.28125vw; } }
      #footer .footer_inner .f_bnr .f_bnr_s .bnr {
        display: inline-block;
        width: 141px;
        margin: 0 20px; }
        @media (max-width: 768px) {
          #footer .footer_inner .f_bnr .f_bnr_s .bnr {
            width: 35.9375vw;
            margin: 0 5.2083333333vw; } }
        #footer .footer_inner .f_bnr .f_bnr_s .bnr.bnr2 {
          width: 135px; }
          @media (max-width: 768px) {
            #footer .footer_inner .f_bnr .f_bnr_s .bnr.bnr2 {
              width: 35.15625vw; } }
        #footer .footer_inner .f_bnr .f_bnr_s .bnr.bnr4 {
          width: 135px; }
          @media (max-width: 768px) {
            #footer .footer_inner .f_bnr .f_bnr_s .bnr.bnr4 {
              width: 35.15625vw;
              margin-top: 6.5104166667vw; } }
    #footer .footer_inner .f_bnr .bnr3 {
      display: inline-block;
      width: 52px; }
      @media (max-width: 768px) {
        #footer .footer_inner .f_bnr .bnr3 {
          width: 13.28125vw; } }
    #footer .footer_inner .copyright {
      margin-top: 5px; }
      @media (max-width: 768px) {
        #footer .footer_inner .copyright {
          margin-top: 2.0833333333vw; } }
  #footer .privacy a {
    display: block;
    background: #fff;
    color: #000;
    text-align: center;
    width: 100%;
    height: 40px;
    line-height: 40px;
    font-size: 1.2rem;
    letter-spacing: 0.1em; }
    @media (max-width: 768px) {
      #footer .privacy a {
        height: 7.2916666667vw;
        line-height: 7.2916666667vw;
        font-size: 3.125vw; } }

/* =================================
  CONTENTS
================================= */
@keyframes load_tt_inner {
  0%,
  5% {
    opacity: 1; }
  45%,
  55% {
    opacity: 0.2; }
  95%,
  100% {
    opacity: 1; } }
.loader {
  background: #000;
  position: fixed;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  z-index: 99999999; }
  .loader .load_txt {
    position: absolute;
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    text-align: center;
    line-height: 1;
    margin-top: -0.2em;
    top: 50%;
    width: 100%;
    -webkit-transform: translate3d(0%, -50%, 0);
    transform: translate3d(0%, -50%, 0);
    opacity: 0; }
    @media (max-width: 768px) {
      .loader .load_txt {
        font-size: 4.6875vw;
        margin-top: -0.1em; } }
    .loader .load_txt p {
      display: inline-block; }
    .loader .load_txt span.b1 {
      display: inline-block;
      font-size: 3.6rem; }
      @media (max-width: 768px) {
        .loader .load_txt span.b1 {
          font-size: 7.8125vw; } }
    .loader .load_txt.active .tt {
      animation: load_tt_inner 1200ms infinite linear; }
  .loader .load_boo {
    position: absolute;
    top: 50%;
    width: 0%;
    height: 1px;
    -webkit-transform: translate3d(0%, -50%, 0);
    transform: translate3d(0%, -50%, 0); }
    .loader .load_boo .load_boo_s1 {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: #dc0103;
      z-index: 0; }
    .loader .load_boo .load_boo_s2 {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: #fff;
      z-index: 1; }

.op {
  background: #000;
  position: fixed;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  z-index: 99999998;
  display: none; }
  .op #mv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .op #mv video {
      width: 100%;
      height: 100%; }

#fade {
  background: #000;
  position: fixed;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  z-index: 999999999;
  display: none; }

@media (min-width: 769px) {
  .t_shadow {
    -moz-text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.54);
    -webkit-text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.54);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.54); } }
@media (max-width: 768px) {
  .t_shadow {
    -moz-text-shadow: 0.2604166667vw 0.2604166667vw 0.5208333333vw rgba(0, 0, 0, 0.54);
    -webkit-text-shadow: 0.2604166667vw 0.2604166667vw 0.5208333333vw rgba(0, 0, 0, 0.54);
    text-shadow: 0.2604166667vw 0.2604166667vw 0.5208333333vw rgba(0, 0, 0, 0.54); } }

@media (min-width: 769px) {
  .btn-hover {
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
    .btn-hover:hover {
      transform: scale(1.2); } }

@media (min-width: 769px) {
  .fade3 {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s; }
    .fade3:hover {
      opacity: 0.7; } }

@media (min-width: 769px) {
  .fade2 span {
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  .fade2 span.ico_blank {
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  .fade2:hover span {
    color: rgba(255, 255, 255, 0.7); }
  .fade2:hover span.ico_blank {
    opacity: 0.7; } }

/* clearfix
--------------------------------------------------------- */
.clearfix {
  *zoom: 1; }

.clearfix:before,
.clearfix:after {
  content: ' ';
  display: table; }

.clearfix:after {
  clear: both; }

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

@media (max-width: 768px) {
  .pc_only {
    display: none; }

  .sp_only {
    display: inline; }

  .pc_none {
    display: block; }

  .sp_none {
    display: none; } }
@media (min-width: 769px) {
  .pc_only {
    display: inline; }

  .sp_only {
    display: none; }

  .pc_none {
    display: none; }

  .sp_none {
    display: block; } }
