﻿@import url("https://fonts.googleapis.com/css?family=Abril+Fatface&display=swap");
.loading {
  width: 100%;
  height: 100%;
  background: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20000
}
.loading img {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -20px;
  margin-top: -20px
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
img {
  vertical-align: bottom
}
body {
  line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
html {
  overflow-y: scroll
}
html {
  font-size: 62.5%
}
* {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  font-style: normal
}
body {
  font-size: 14px;
  font-size: 1.4rem;
  *font-size: small;
  *font: x-small;
  line-height: 1
}
body {
  font-family: -apple-system, BlinkMacSystemFont, Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}
body a {
  transition-property: all;
  transition: 0.3s linear
}
body a img {
  transition-property: all;
  transition: 0.3s linear
}
body a:hover img {
  opacity: 0.75;
  filter: alpha(opacity=75)
}
.container {
  width: 100%;
  height: 100vh;
  min-height: 1000px;
  position: relative;
  overflow: hidden
}
@media screen and (max-width: 767px) {
  .container {
    min-height: 100vh
  }
}
.container.bg1 {
  background-image: url("../images/bg1.jpg");
  background-size: cover;
  background-position: center center
}
.container #site-header {
  background-color: transparent;
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 80px;
  z-index: 100;
  transition: all .3s
}
.container #site-header.scrolling {
  background: #000
}
@media screen and (max-width: 767px) {
  .container #site-header {
    height: 60px
  }
}
.container #site-header #site-logo {
  position: absolute;
  top: 15px;
  left: 30px
}
@media screen and (max-width: 767px) {
  .container #site-header #site-logo {
    top: 15px;
    left: 15px
  }
  .container #site-header #site-logo img {
    height: 30px;
    width: auto
  }
}
.container #site-header #login {
  position: absolute;
  top: 20px;
  right: 30px
}
.container #site-footer {
  width: 100%;
  padding: 15px 0;
  background: #02113D
}
.container #site-footer p {
  text-align: center;
  color: #fff;
  font-size: 1.0rem
}
.container #site-footer p.notice {
  margin: 0 0 10px 0;
  font-size: 1.4rem
}
.container #site-footer p.notice i.fas {
  margin: 0 5px 0 0
}
.container #site-footer p.notice a, .container #site-footer p.notice a:visited {
  margin: 0 0 10px 0;
  color: #fff
}
@media screen and (max-width: 767px) {
  .container #site-footer .footer-logo {
    margin: 0 0 20px 0
  }
}
#login a {
  display: block;
  padding: 10px 20px;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px
}
#login a i {
  margin: 0 10px 0 0;
  font-size: 2.0rem;
  vertical-align: middle
}
#login a:hover {
  background: #fff;
  color: #02123E
}
#Footer_Wrapper_new {
  position: relative;
  z-index: 100
}
#footer_calbeeroot {
  margin-top: -1px !important
}
.font-designed {
  font-family: 'Abril Fatface', cursive
}
.font-mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif
}
.center {
  text-align: center
}
.box {
  margin: 0 0 50px 0
}
@media screen and (max-width: 767px) {
  .box {
    margin: 0 0 25px 0
  }
}
.part {
  margin: 0 0 20px 0
}
@media screen and (max-width: 767px) {
  .part {
    margin: 0 0 10px 0
  }
}
.texts p {
  line-height: 2.2em
}
.texts p i.fa {
  margin: 0 5px;
  vertical-align: middle
}
.button {
  display: inline-block;
  padding: 15px 40px;
  background: #3988E9;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 3px;
  text-decoration: none;
  transition: all .3s;
  -webkit-transition: all .3s
}
.button:hover {
  opacity: 0.8;
  filter: alpha(opacity=80)
}
.button.bc-ghost {
  border: 1px solid #3988E9;
  color: #3988E9;
  background: none
}
.button.bc-ghost:hover {
  background: #3988E9;
  color: #fff
}
.supple {
  font-size: 1.2rem
}
@media screen and (max-width: 767px) {
  .supple {
    font-size: 1.0rem
  }
}
@media screen and (max-width: 767px) {
  .pc-br {
    display: none
  }
}
.modal-content {
  width: 30%;
  margin: 0;
  position: fixed;
  display: none;
  z-index: 200;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}
@media screen and (max-width: 767px) {
  .modal-content {
    width: 90%;
    height: auto;
    overflow-y: scroll
  }
}
.modal-content .modal-inner {
  background: #fff;
  padding: 60px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% auto
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner {
    padding: 20px
  }
}
.modal-content .modal-inner .modal-hd {
  margin: 0 0 40px 0;
  color: #3988E9
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner .modal-hd {
    margin: 0 0 20px 0
  }
}
.modal-content .modal-inner .modal-hd .heading {
  margin: 0 0 10px 0;
  font-size: 2.2rem;
  letter-spacing: 10px;
  line-height: 1.4em
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner .modal-hd .heading {
    letter-spacing: 5px;
    font-size: 1.6rem
  }
}
.modal-content .modal-inner .modal-hd .heading span {
  font-weight: bold;
  font-size: 2.6rem
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner .modal-hd .heading span {
    font-size: 2.0rem
  }
}
.modal-content .modal-inner .modal-hd .subtitle {
  margin: 0 0 10px 0;
  font-size: 1.1rem;
  color: #000
}
.modal-content .modal-inner .modal-hd .subtitle .count {
  padding: 0 5px;
  font-size: 1.6rem;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #ff6 60%)
}
.modal-content .modal-inner .modal-hd .present-hd {
  display: inline-block;
  background: #E83999;
  color: #fff;
  padding: 5px 25px;
  font-weight: bold;
  border-radius: 50px;
  -moz-border-radius: 50px;
  -webkit-border-radius: 50px
}
.modal-content .modal-inner .modal-hd .present-hd .present {
  font-weight: bold
}
.modal-content .modal-inner .modal-hd.happy {
  color: #E83999
}
.modal-content .modal-inner .modal-hd.happy .heading {
  letter-spacing: 0
}
.modal-content .modal-inner .modal-hd.happy .subtitle {
  font-size: 1.4rem;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner .texts p {
    font-size: 1.2rem !important;
    line-height: 1.8em
  }
}
.modal-content .modal-inner .modal-sns {
  text-align: center;
  margin: 0 0 30px 0
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner .modal-sns {
    margin: 0 0 20px 0
  }
}
.modal-content .modal-inner .modal-sns li {
  display: inline-block;
  margin: 0 20px
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .modal-content .modal-inner .modal-sns li {
    margin: 0 15px
  }
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner .modal-sns li img {
    width: 40px
  }
}
.modal-content .modal-inner a.button i {
  margin: 0 0 0 10px
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner a.button.entry {
    display: block;
    cursor: pointer
  }
}
@media screen and (max-width: 767px) {
  .modal-content .modal-inner a.button {
    letter-spacing: 0
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .modal-content .modal-inner a.button {
    font-size: 1.4rem
  }
}
.modal-content#modal-content-1 .modal-inner {
  background-image: url("../images/modal-bg-1.png")
}
.modal-content#modal-content-2 .modal-inner {
  background-image: url("../images/modal-bg-2.png")
}
.modal-content#modal-content-3 .modal-inner {
  background-image: url("../images/modal-bg-3.png")
}
.modal-content#modal-content-4 .modal-inner {
  background-image: url("../images/modal-bg-4.png")
}
.modal-content#modal-content-5 .modal-inner {
  background-image: url("../images/modal-bg-5.png")
}
#modal-overlay {
  z-index: 101;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.75);
  display: flex;
  justify-content: center;
  align-items: center
}
.button-link {
  color: #00f;
  text-decoration: underline
}
.button-link:hover {
  cursor: pointer;
  color: red
}
.modal-start {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}
.modal-link {
  position: fixed;
  left: 20px;
  bottom: 20px;
  padding: 10px 20px;
  background: #fff;
  z-index: 100;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  opacity: 0.3
}
@media screen and (max-width: 767px) {
  .modal-link {
    bottom: 10px
  }
}
.modal-link .heading {
  font-weight: bold;
  margin: 0 0 10px 0
}
.modal-link p.supple {
  font-size: 10px
}
.modal-link p {
  margin: 5px 0
}
.modal-link p a {
  display: block;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ddd;
  padding: 5px 16px;
  border-radius: 100px;
  color: #000;
  font-size: 12px
}
#oval-1 {
  animation: ovalAnime1 1000ms ease-in-out 0s infinite alternate
}
#oval-2 {
  animation: ovalAnime2 2000ms ease-in-out 0s infinite alternate
}
@keyframes ovalAnime1 {
  0% {
    opacity: 0.0
  }
  20% {
    opacity: 0.2
  }
  40% {
    opacity: 0.4
  }
  40% {
    opacity: 0.6
  }
  80% {
    opacity: 0.8
  }
  100% {
    opacity: 1.0
  }
}
@keyframes ovalAnime2 {
  0% {
    opacity: 0.0
  }
  20% {
    opacity: 0.2
  }
  40% {
    opacity: 0.4
  }
  40% {
    opacity: 0.6
  }
  80% {
    opacity: 0.8
  }
  100% {
    opacity: 1.0
  }
}
#main-contents {
  display: block;
  position: relative;
  height: 100vh
}
#main-contents #kataage-logo {
  position: absolute;
  top: 20px;
  left: 30px
}
@media screen and (max-width: 767px) {
  #main-contents #kataage-logo {
    top: 20px;
    left: 20px
  }
}
#main-contents #kataage-logo a img {
  width: 120px;
  height: auto
}
@media screen and (max-width: 767px) {
  #main-contents #kataage-logo a img {
    width: 50px
  }
}
#main-contents #game-section {
  height: 100vh;
  min-height: 1080px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../images/mugen-title.png") center center no-repeat;
  background-size: 80% auto
}
@media screen and (max-width: 767px) {
  #main-contents #game-section {
    min-height: 100vh;
    background: url("../images/mugen-title-sp.png") top 32% center no-repeat;
    background-size: 90% auto
  }
}
@media screen and (max-width: 767px) {
  #main-contents #game-block {
    width: 96%
  }
}
#main-contents #game-block .catch {
  margin: 0 0 30px 0;
  text-align: center
}
@media screen and (max-width: 767px) {
  #main-contents #game-block .catch {
    margin: 0 0 15px 0
  }
  #main-contents #game-block .catch img {
    width: auto;
    height: 40px
  }
}
#main-contents #game-block #game-area {
  position: relative
}
#main-contents #game-block #game-area #tooltip {
  position: absolute;
  top: 90px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 5;
  transition: all .3s
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #game-area #tooltip {
    top: 0
  }
}
#main-contents #game-block #game-area #tooltip img {
  animation: key1 .3s ease infinite alternate
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #game-area #tooltip img {
    height: 30px
  }
}
@keyframes key1 {
  0% {
    transform: translateY(0px)
  }
  100% {
    transform: translateY(-10px)
  }
}
#main-contents #game-block #game-area #tooltip.hide {
  display: none
}
#main-contents #game-block #game-area #chips {
  text-align: center
}
#main-contents #game-block #game-area #chips img {
  width: 370px;
  height: 370px
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #game-area #chips img {
    width: 42%;
    height: auto
  }
}
#main-contents #game-block #game-area #button {
  position: absolute;
  width: 125px;
  height: 125px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  overflow: hidden
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #game-area #button {
    width: 80px;
    height: 80px
  }
}
#main-contents #game-block #game-area #button img, #main-contents #game-block #game-area #button svg {
  width: 100%;
  height: auto
}
#main-contents #game-block #counter-area {
  margin: 30px 0 50px 0;
  text-align: center
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #counter-area {
    margin: 15px 0 15px 0
  }
}
#main-contents #game-block #counter-area #counter-wrap {
  display: inline-block;
  text-align: center;
  padding: 0 0 0 50px;
  background: url("../images/counter-bg-left.png") top left no-repeat;
  background-size: auto 90px
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #counter-area #counter-wrap {
    padding: 0 0 0 20px;
    background-size: auto 60px
  }
}
#main-contents #game-block #counter-area #counter-wrap p {
  display: inline-block;
  padding: 0 50px 0 0;
  background: url("../images/counter-bg-right.png") top right no-repeat;
  background-size: auto 90px
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #counter-area #counter-wrap p {
    padding: 0 20px 0 0;
    background-size: auto 60px
  }
}
#main-contents #game-block #counter-area #counter-wrap p span {
  display: inline-block;
  height: 90px;
  background: url("../images/counter-bg-middle.png") top repeat-x;
  background-size: auto 90px
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #counter-area #counter-wrap p span {
    height: 60px;
    background-size: auto 60px
  }
}
#main-contents #game-block #counter-area #counter-wrap p span i {
  display: inline-block;
  color: #fff;
  font-size: 3.6rem;
  line-height: 2.6em;
  font-weight: bold;
  margin: 0 5px
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #counter-area #counter-wrap p span i {
    font-size: 2.0rem;
    line-height: 3.0em
  }
}
#main-contents #game-block #counter-area #counter-wrap p span i#counter {
  letter-spacing: 4px
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #counter-area #counter-wrap p span i#counter {
    letter-spacing: 0
  }
}
#main-contents #game-block #sns-area {
  text-align: center;
  margin: 0 0 30px 0
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #sns-area {
    margin: 0 0 20px 0
  }
}
#main-contents #game-block #sns-area li {
  display: inline-block;
  margin: 0 20px
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  #main-contents #game-block #sns-area li {
    margin: 0 15px
  }
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #sns-area li img {
    width: 40px
  }
}
#main-contents #game-block #reload {
  text-align: center
}
#main-contents #game-block #reload a {
  display: inline-block;
  padding: 15px 30px;
  background: #BD5141;
  color: #fff;
  font-size: 1.6rem;
  border-radius: 100px;
  text-decoration: none
}
#main-contents #game-block #reload a i.fas {
  margin: 0 0 0 10px
}
#main-contents #game-block #reload a:hover {
  background: #D2B71E;
  color: #000
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #reload a {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    color: #02113D;
    font-size: 1.2rem
  }
}
@media screen and (max-width: 767px) {
  #main-contents #game-block #reload {
    margin: 0 0 20px 0
  }
}
#main-contents #sound-control {
  position: fixed;
  bottom: 20px;
  right: 20px;
  text-align: right;
  z-index: 100
}
@media screen and (max-width: 767px) {
  #main-contents #sound-control {
    top: 70px;
    right: 20px;
    bottom: auto
  }
}
#main-contents #sound-control li {
  display: inline-block;
  margin: 0 10px
}
#main-contents #sound-control li img {
  opacity: 0.5;
  filter: alpha(opacity=50)
}
#main-contents #sound-control li.active img {
  opacity: 1.0;
  filter: alpha(opacity=100)
}
@media screen and (max-width: 767px) {
  #main-contents #login a {
    text-align: center
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  #main-contents #login a {
    font-size: 1.2rem
  }
}
#main-contents #goto-history {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  width: 60px;
  margin: auto;
  text-align: center
}
@media screen and (max-width: 767px) {
  #main-contents #goto-history {
    bottom: 10px
  }
  #main-contents #goto-history img {
    height: 30px;
    width: auto
  }
}
#main-contents #detail {
  position: absolute;
  bottom: 80px;
  left: 80px
}
#main-contents #present {
  position: absolute;
  bottom: 80px;
  right: 4vw;
}
#main-contents #detail img {
  width: 200px;
}
#main-contents #present img {
  width: 200px;
}
@media screen and (max-width: 767px) {
  #main-contents #detail,
  #main-contents #present {
    top: 60px;
    right: 20px;
    left: auto
  }
  #main-contents #detail img {
    width: 80px
  }
  #main-contents #present img {
    width: 90px
  }
}
#ms-goto-history {
  display: none
}
#top-aside {
  background: #000
}
#top-aside #kiriban-section {
  padding: 70px 0;
  width: 900px;
  margin: 0 auto
}
@media screen and (max-width: 767px) {
  #top-aside #kiriban-section {
    width: 100%;
    padding: 30px 15px;
    box-sizing: border-box
  }
}
#top-aside #kiriban-section .heading {
  padding: 5px;
  background: #2C2863;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.4em;
  font-weight: bold;
  border: 2px solid #D2B71E;
  border-bottom: none;
  letter-spacing: 2px
}
#top-aside #kiriban-section #kiriban-area {
  color: #fff
}
#top-aside #kiriban-section #kiriban-area #kiriban_get_wrap {
  margin: 0 0 30px 0;
  padding: 20px 30px;
  border: 2px solid #D2B71E;
  background: #02113D
}
#top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p {
  margin: 5px 0;
  padding: 0 0 0 20px;
  position: relative;
  line-height: 1.4em
}
#top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p:before {
  position: absolute;
  left: 0;
  top: 5px;
  content: '\f4da';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900
}
@media screen and (max-width: 767px) {
  #top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p:before {
    top: 0
  }
}
#top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p a {
  margin: 0 0 0 10px;
  display: inline-block;
  padding: 5px 20px;
  border-radius: 5px;
  background: #fff;
  color: #000;
  font-size: 1.2rem;
  text-decoration: none
}
@media screen and (max-width: 767px) {
  #top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p a {
    margin: 5px 0 0 0;
    padding: 10px 25px
  }
}
#top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p a i.fas {
  margin: 0 0 0 10px
}
#top-aside #kiriban-section #kiriban-area #kiriban_get_wrap p a.reload {
  background: #D2B71E
}
#top-aside #kiriban-section #kiriban-area #kiriban_history_wrap {
  padding: 20px 30px;
  border: 2px solid #D2B71E;
  height: 200px;
  overflow-y: auto;
  background: #02113D
}
#top-aside #kiriban-section #kiriban-area #kiriban_history_wrap #kiriban_topics_comment {
  margin: 0 0 20px 0;
  font-weight: bold
}
#top-aside #kiriban-section #kiriban-area #kiriban_history_wrap p {
  padding: 0 0 0 20px;
  margin: 7px 0;
  font-size: 1.2rem;
  position: relative;
  line-height: 1.4em
}
#top-aside #kiriban-section #kiriban-area #kiriban_history_wrap p:before {
  position: absolute;
  left: 0;
  top: 0;
  content: '\f521';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900
}
#ie-alert {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 200
}
#ie-alert .notice-content {
  padding: 50px;
  background: #fff;
  text-align: center
}
#ie-alert .notice-content .heading {
  font-size: 2.2rem;
  margin: 0 0 20px 0
}
#ie-alert .notice-content p.text {
  margin: 0 0 20px 0;
  line-height: 1.8em
}
#ie-alert .notice-content span {
  display: inline-block;
  padding: 15px 40px;
  font-size: 1.8rem;
  background: #000;
  color: #fff;
  font-weight: bold
}
#ie-alert .notice-content .center {
  text-align: center
}
#page-container.container {
  height: auto
}
#main-contents {
  min-height: 1000px
}
@media screen and (max-width: 767px) {
  #main-contents {
    min-height: 100vh
  }
}
#main-contents.campaign-main {
  height: auto
}
#page-campaign {
  padding: 80px 0
}
#page-campaign i.fas {
  margin: 0 10px 0 0
}
@media screen and (max-width: 767px) {
  #page-campaign {
    padding: 60px 0
  }
}
#page-campaign .contents {
  width: 1200px;
  margin: 0 auto
}
@media screen and (max-width: 767px) {
  #page-campaign .contents {
    width: 90%
  }
}
#page-campaign .contents .texts p {
  font-size: 1.8rem
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .texts p {
    font-size: 1.2rem
  }
}
#page-campaign .contents .texts p a {
  color: #3988E9
}
#page-campaign .contents .texts p a:hover {
  color: #E83999
}
#page-campaign .contents .cover {
  background: #fff;
  padding: 70px
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .cover {
    padding: 20px
  }
}
#page-campaign .contents .heading01 {
  margin: 0 0 50px 0;
  font-weight: bold;
  line-height: 1.5em;
  font-size: 3.2rem
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .heading01 {
    margin: 0 0 20px 0;
    font-size: 1.6rem
  }
}
#page-campaign .contents .heading02 {
  margin: 0 0 30px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  line-height: 1.5em;
  font-size: 2.2rem
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .heading02 {
    margin: 0 0 10px 0;
    font-size: 1.4rem
  }
}
#page-campaign .contents .heading03 {
  margin: 0 0 20px 0;
  font-weight: bold;
  line-height: 1.5em;
  font-size: 1.8rem
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .heading03 {
    margin: 0 0 10px 0;
    font-size: 1.3rem
  }
}
#page-campaign .contents .heading03 i.fas {
  color: #E83999
}
#page-campaign .contents .narrow {
  margin: 0 auto;
  width: 600px
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .narrow {
    width: 100%
  }
}
#page-campaign .contents .inner-cover {
  background: #eee;
  padding: 30px
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .inner-cover {
    padding: 10px
  }
}
#page-campaign .contents .inner-cover.texts p {
  font-size: 1.4rem
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .inner-cover.texts p {
    font-size: 1.2rem
  }
}
#page-campaign .contents .inner-cover .pic {
  margin: 0 0 10px 0
}
#page-campaign .contents .inner-cover .pic img {
  width: 450px
}
@media screen and (max-width: 767px) {
  #page-campaign .contents .inner-cover .pic img {
    width: 100%
  }
}
#page-campaign .contents table {
  margin: 0 0 20px 0;
  width: 100%;
  border-bottom: 1px solid #ddd
}
#page-campaign .contents table th, #page-campaign .contents table td {
  text-align: center;
  border-top: 1px solid #ddd;
  padding: 20px;
  font-size: 1.8rem;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #page-campaign .contents table th, #page-campaign .contents table td {
    padding: 10px;
    font-size: 1.2rem
  }
}
.emotion {
  font-weight: bold;
  color: #E83999
}
.texts ul li, ul.text li {
  margin: 0 0 10px 0;
  line-height: 1.8em;
  position: relative;
  padding-left: 10px
}
@media screen and (max-width: 767px) {
  .texts ul li, ul.text li {
    font-size: 1.2rem !important
  }
}
.texts ul li:before, ul.text li:before {
  content: '';
  width: 3px;
  height: 3px;
  display: inline-block;
  border-radius: 100%;
  background: #3988E9;
  position: absolute;
  top: 10px;
  left: 0
}
#page-comingsoon {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff
}
#page-comingsoon .contents {
  text-align: center
}
#page-comingsoon .contents .heading01 {
  margin: 0 0 50px 0
}
#page-comingsoon .contents .heading01 img {
  width: 390px
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents .heading01 img {
    width: 80%
  }
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents .heading01 {
    font-size: 4rem
  }
}
#page-comingsoon .contents .heading02 {
  margin: 0 0 20px 0;
  font-size: 3.0rem;
  letter-spacing: 10px
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents .heading02 {
    font-size: 2rem
  }
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents p.text {
    padding: 0 20px;
    font-size: 1.4rem;
    line-height: 1.6em
  }
}
#page-comingsoon .contents #timer p {
  margin: 0 0 40px 0
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents #timer p {
    font-size: 1.2rem !important
  }
}
#page-comingsoon .contents #timer #countdown {
  width: 100%
}
#page-comingsoon .contents #timer #countdown .countdown_row span.countdown_section {
  margin: 0 10px;
  display: inline-block
}
#page-comingsoon .contents #timer #countdown .countdown_section {
  padding: 20px 0;
  background: #fff;
  color: #000;
  font-size: 1.1rem;
  text-align: center;
  width: 100px;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents #timer #countdown .countdown_section {
    font-size: 0.9rem
  }
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents #timer #countdown .countdown_section {
    padding: 10px 0;
    width: 18%
  }
}
#page-comingsoon .contents #timer #countdown .countdown_section .countdown_amount {
  color: #000;
  line-height: 1.4em;
  font-size: 4.0rem;
  font-family: 'Abril Fatface', cursive
}
@media screen and (max-width: 767px) {
  #page-comingsoon .contents #timer #countdown .countdown_section .countdown_amount {
    font-size: 2.0rem
  }
}
.is-tb .modal-content {
  width: 60%
}