@charset "UTF-8";
*:focus {
  outline: none;
}

body {
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #FFF;
  font-size: 1em;
  line-height: 1.6;
  background-color: #222;
}

p {
  line-height: 1.6em;
}

p + p {
  margin-top: 10px;
}

a {
  color: #ff8533;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
}
a:visited {
  color: #ff8533;
}
a:hover {
  opacity: 0.7;
  color: #ffb280;
}

img {
  max-width: 100%;
}

img[src$=".svg"] {
  width: 100%;
}

ul {
  padding-left: 1em;
  padding-right: 0.5em;
}

li {
  margin-bottom: 0.5em;
  line-height: 1.6em;
}

ul ul {
  margin: 0.5em 0 1em;
}

strong, .errorTxt {
  color: #f00;
}

.caution {
  color: #ff0;
}

.sponly {
  display: none;
}

@media only screen and (max-width: 800px) {
  a:hover {
    opacity: 1;
  }
}
@media only screen and (max-width: 480px) {
  .sponly {
    display: block;
  }

  .pconly {
    display: none;
  }
}
/*記事用*/
.small {
  font-size: 0.9em;
}

.very.small {
  font-size: 0.7em;
}

.large {
  font-size: 1.2em;
}

.very.large {
  font-size: 1.6em;
}

.price {
  font-size: 1.4em;
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

.spaced {
  padding: 1em;
}

.txtleft {
  text-align: left;
}

.txtright {
  text-align: right;
}

.attention {
  color: #FF0000;
}

.clear {
  clear: both;
}

.hide {
  display: none;
}

.sun {
  color: #f00;
}

.sat {
  color: #008FEB;
}

.yellow {
  color: #FFDD00;
}

.stInfo {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 2em;
  line-height: 1.4em;
}

a.button {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 10px;
  margin: auto;
  background-color: #FFF;
  color: #222;
  text-align: center;
  font-weight: bold;
  color: #000;
  position: relative;
}
a.button::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin: -8px 0 0 0;
  border-top: solid 4px #000;
  border-right: solid 4px #000;
  border-radius: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.flexBox {
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

.boxset4 > div {
  flex-basis: calc(100% / 4);
}

.boxset3 > div,
.boxset3-3 > div,
.boxset3-2 > div,
.boxset3-1 > div {
  flex-basis: calc(100% / 3);
}

.boxset2 > div,
.boxset2-2 > div,
.boxset2-1 > div {
  flex-basis: calc(100% / 2);
}

.half > div {
  flex-basis: 50%;
}

@media only screen and (max-width: 800px) {
  .boxset4 > div {
    flex-basis: calc(100% / 2);
  }

  .boxset3 > div {
    flex-basis: 100%;
  }

  .boxset3-3 > div {
    flex-basis: calc(100% / 3);
  }

  .boxset3-2 {
    justify-content: flex-start;
  }
  .boxset3-2 > div {
    flex-basis: calc(100% / 2);
  }

  .boxset3-1 > div {
    flex-basis: 100%;
  }

  .boxset2 > div {
    flex-basis: 100%;
  }

  .boxset2-2 > div {
    flex-basis: calc(100% / 2);
  }

  .boxset2-1 > div {
    flex-basis: 100%;
  }
}
.shareBox {
  width: 230px;
  margin: 0 auto 0;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: flex-start;
}

.shareButtons {
  flex: 0 0 auto;
}

.shareButtons a {
  display: block;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  background-size: 50px;
}

.tweetBtn {
  background: url(../images/svg_logo_tw_wob.svg) no-repeat;
}

.fbBtn {
  background: url(../images/svg_logo_fb_color.svg) no-repeat;
}

.lineBtn {
  background: url(../images/svg_logo_line_fc.svg) no-repeat;
}

.YouTube {
  width: 95%;
  max-width: 1000px;
  margin: auto;
  aspect-ratio: 16/9;
}
.YouTube iframe {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

nav {
  width: 300px;
  height: 100%;
  background-color: #444;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
nav::-webkit-scrollbar {
  display: none;
}
nav .navsp {
  display: none;
}
nav .nav {
  display: block;
  padding-bottom: 40px;
}
nav .logo {
  padding: 40px 20px;
}
nav li {
  margin: 0;
  padding: 0;
  border-top: 2px solid #333;
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
}
nav li:last-child {
  border-bottom: 2px solid #333;
}
nav li a {
  color: #fff;
  display: block;
  width: 100%;
  padding: 20px 10px 20px 20px;
  font-size: 1.4em;
}
nav li a:visited {
  color: #fff;
}
nav li a:hover {
  opacity: 1;
  color: #fff;
  background-color: #333;
}
nav p a {
  display: inline-block;
  padding-left: 20px;
  margin-top: 30px;
  color: #fff;
  font-weight: bold;
}
nav p a:visited {
  color: #fff;
}
nav p a:hover {
  color: #fff;
}
nav .shareBox {
  width: 150px;
  margin-top: 40px;
}
nav .shareButtons a {
  width: 30px;
  height: 30px;
  background-size: 30px;
}
nav .disable {
  pointer-events: none;
  background-color: #383838;
}
nav .disable a {
  color: #555;
}
nav .disable a:visited {
  color: #555;
}
nav .disable a:hover {
  opacity: 1;
  color: #555;
}

body.About nav li.about, body.Title nav li.title, body.title nav li.title, body.Final nav li.final, body.Faq nav li.faq {
  background-color: #333;
}

@media only screen and (max-width: 1000px) {
  nav {
    width: 250px;
    font-size: 0.9em;
  }
  nav p a {
    padding-left: 30px;
    margin-top: 20px;
  }
}
@media only screen and (max-width: 800px) {
  nav {
    width: 100%;
    height: auto;
    padding: 0px;
  }
  nav.close {
    top: 0;
    bottom: 0;
    overflow-y: scroll;
  }
  nav .flexBox {
    justify-content: space-between;
  }
  nav .navsp {
    display: block;
    padding: 10px;
    pointer-events: all;
  }
  nav .navsp img {
    width: 160px;
  }
  nav .nav {
    display: none;
  }
  nav .logo {
    display: none;
  }

  .hamburger {
    position: relative;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 300;
  }

  .hamburger_line {
    position: absolute;
    left: 5px;
    width: 50px;
    height: 5px;
    border-radius: 5px;
    background-color: #FFF;
    transition: all .6s;
  }
  .hamburger_line:nth-child(1) {
    top: 10px;
  }
  .close .hamburger_line:nth-child(1) {
    left: 11px;
    top: 8px;
    width: 56px;
    transform: rotate(45deg);
    transform-origin: left top 0;
  }
  .hamburger_line:nth-child(2) {
    top: 27.5px;
  }
  .close .hamburger_line:nth-child(2) {
    display: none;
  }
  .hamburger_line:nth-child(3) {
    top: 45px;
  }
  .close .hamburger_line:nth-child(3) {
    left: 11px;
    top: 47px;
    width: 56px;
    transform: rotate(-45deg);
    transform-origin: left bottom 0;
  }
}
@media only screen and (max-width: 480px) {
  nav {
    font-size: 1em;
  }
  nav .navsp img {
    width: 100px;
  }

  .hamburger {
    width: 40px;
    height: 40px;
    margin-right: 5px;
  }

  .hamburger_line {
    position: absolute;
    left: 0px;
    width: 40px;
    height: 3px;
  }
  .hamburger_line:nth-child(1) {
    top: 7px;
  }
  .close .hamburger_line:nth-child(1) {
    left: 5px;
    top: 4px;
    width: 43px;
  }
  .hamburger_line:nth-child(2) {
    top: 18.5px;
  }
  .hamburger_line:nth-child(3) {
    top: 30px;
  }
  .close .hamburger_line:nth-child(3) {
    left: 5px;
    top: 34px;
    width: 43px;
  }
}
/*ページトップへ戻る*/
div#pageTop {
  display: block;
  padding: 0;
  margin: 0;
  position: fixed;
  top: auto;
  bottom: 20px;
  left: auto;
  right: 30px;
  z-index: 999;
  opacity: 0.8;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
div#pageTop a {
  font-family: "slick";
  font-size: 50px;
  color: #FFF;
}

.bg {
  background: url("../images/toushinsai2020_bg.png") repeat;
  background-position: 0 50px;
  background-size: 100%;
}

#mainContainer {
  display: block;
  margin: 0 0 0 300px;
}

h1 {
  font-family: 'Rajdhani', sans-serif;
  font-weight: bold;
  font-feature-settings: "palt";
  color: #fff;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  font-size: 3em;
  text-align: center;
}
h1::after {
  width: 100%;
  content: "";
  display: block;
  height: 10px;
  margin-top: 10px;
  background-image: radial-gradient(#aa020b, transparent 80%, transparent 100%);
}

h2 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 2em;
  margin: 0 auto 20px;
  padding: 0;
}
section h2 {
  padding: 5px 20px;
  background-color: rgba(170, 2, 11, 0.4);
}

@media only screen and (max-width: 480px) {
  body.Index section h2 {
    font-size: 1.4em;
  }
}
h3, .Final h5 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 1em;
  padding: 5px 10px;
  background-color: rgba(170, 2, 11, 0.4);
}
.content h3, .content .Final h5, .Final .content h5 {
  margin-top: 30px;
}
.content h3:first-child, .content .Final h5:first-child, .Final .content h5:first-child {
  margin-top: 0px;
}

h4 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 1.1em;
  padding: 10px;
  border-left: 10px solid rgba(170, 2, 11, 0.4);
  font-weight: bold;
}
.content h4 {
  margin-top: 30px;
}
.content h4:first-child {
  margin-top: 0px;
}

header {
  width: 92%;
  margin: auto;
  padding: 100px 0 0;
}
header img {
  width: 100%;
}
header p {
  text-align: center;
  margin-top: 20px;
}
.Index header {
  width: 100%;
  padding: 0;
}

article {
  width: 100%;
}

section {
  width: 92%;
  margin: 100px auto 0;
}
section.content div {
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 1000px) {
  #mainContainer {
    margin: 0 0 0 250px;
  }

  section {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 800px) {
  header {
    padding: 50px 0 0;
  }

  #mainContainer {
    margin: 80px 0 0 0;
  }
}
@media only screen and (max-width: 480px) {
  #mainContainer {
    margin: 60px 0 0 0;
  }

  .Index header .slick-prev, .Index header .slick-next {
    height: 30px;
    width: 30px;
  }
  .Index header .slick-prev::before, .Index header .slick-next::before {
    font-size: 30px;
  }

  section {
    margin-top: 50px;
  }
}
footer {
  width: 92%;
  margin: 200px auto 0;
  padding: 50px 0;
  text-align: center;
  color: #fff;
}
footer ul {
  flex: 1;
  height: 1em;
  padding: 0;
  margin: 50px auto 0;
  text-align: center;
  font-size: 0.9em;
}
footer ul li {
  display: inline-block;
  list-style-type: none;
  border-right: 1px #666 solid;
  padding: 0 5px;
  text-align: center;
  line-height: 1;
}
footer ul li:last-child {
  border: none;
}
footer ul li a {
  color: #FFF;
  text-decoration: none;
  cursor: pointer;
}
footer ul li a:visited {
  color: #FFF;
}
footer ul li a:hover {
  color: #FFF;
}
footer ul li a:focus {
  outline: none;
}
footer .button {
  width: 250px;
  margin-top: 50px;
}
footer .flexBox.logo {
  max-width: 150px;
  margin: 100px auto 0;
}
footer .logo {
  display: block;
  max-width: 150px;
  height: auto;
  margin: 100px auto 0;
}
footer .logo img {
  max-width: 150px;
}
footer .logo img.ntt {
	max-width: 300px;
	margin-left: 40px;
}
footer .copyright {
  margin: 100px auto 0;
  font-size: 0.8em;
  text-align: left;
}

@media only screen and (max-width: 480px) {
  footer {
    margin: 150px auto 0;
  }
  footer .copyright {
    font-size: 0.7em;
    text-align: left;
  }
  footer a:hover {
    opacity: 1;
  }
    footer .logo img.ntt {
	margin-left: 0px;
        margin-top: 40px;
}
}
#contactUs h3, #contactUs .Final h5, .Final #contactUs h5 {
  padding: 10px 20px;
}
#contactUs .flexBox {
  margin-bottom: 20px;
}
#contactUs .flexBox div:nth-child(odd) {
  flex: 1 1 200px;
  padding: 5px 0;
}
#contactUs .flexBox div:nth-child(even) {
  flex: 1 1 60%;
}
#contactUs .flexBox input {
  width: 50%;
  min-width: 250px;
}
#contactUs .flexBox textarea {
  width: 100%;
  min-height: 150px;
  resize: both;
}
#contactUs p.affirmation {
  margin: 50px auto 20px;
}
#contactUs p.button {
  box-sizing: border-box;
  display: block;
  width: 30%;
  min-width: 200px;
  margin: auto;
  background-color: #FFF;
  color: #222;
  text-align: center;
  position: relative;
}
#contactUs p.button::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin: -8px 0 0 0;
  border-top: solid 4px #000;
  border-right: solid 4px #000;
  border-radius: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#contactUs p.button input[type="submit"] {
  width: 100%;
  padding: 5px 10px;
  border: none;
  background-color: transparent;
}

@media only screen and (max-width: 480px) {
  #contactUs .flexBox div:nth-child(odd) {
    flex: 1 1 100%;
    padding: 5px 0;
  }
  #contactUs .flexBox div:nth-child(even) {
    flex: 1 1 100%;
  }
  #contactUs .flexBox input {
    width: 100%;
  }
  #contactUs .flexBox textarea {
    width: 100%;
    min-height: 150px;
    resize: both;
  }
}
#news .flexBox div:first-child {
  flex: 1 1 40%;
}
#news .flexBox div:last-child {
  flex: 0 0 300px;
}

#newswidget {
  width: 95%;
  margin: auto;
  text-align: left;
  color: #FFF;
}
#newswidget dl {
  margin: 0;
  border-top: 1px solid #444;
}
#newswidget dl:first-child {
  border-top: none;
}
#newswidget a {
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  padding: 20px 0;
  color: #FFF;
  text-decoration: none;
  cursor: pointer;
}
#newswidget a:visited {
  color: #FFF;
}
#newswidget a:hover {
  color: #FFF;
}
#newswidget dt {
  flex: 0 0 90px;
  font-weight: bold;
  padding: 0;
  margin: 0;
  border-top: 1px solid #444;
  vertical-align: top;
}
#newswidget dt:first-child {
  border-top: none;
}
#newswidget dd {
  flex: 1 1 100px;
  font-weight: bold;
  margin: 0;
  padding: 0;
}

#news a.button {
  width: 95%;
  margin-top: 20px;
}

#news .twitterWiget {
  max-width: 480px;
}
#news .twitterWiget .twitter-widget-wrapper iframe {
  width: 100%;
}
#news .twitterWiget a.button {
  width: 100%;
  color: #FFF;
  background-color: #1da1f2;
}
#news .twitterWiget a.button.inst {
  width: 100%;
  color: #FFF;
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle farthest-corner at -20% 140%, #ffe17d 0%, rgba(255, 205, 105, 0.8) 5%, rgba(250, 145, 55, 0.8) 10%, rgba(235, 65, 65, 0.8) 30%, transparent 60%), linear-gradient(-15deg, #234bd7 12%, #c33cbe 58%);
}
#news .twitterWiget a.button::after {
  border-top: solid 4px #FFF;
  border-right: solid 4px #FFF;
}

@media only screen and (max-width: 1000px) {
  #news .flexBox div:first-child {
    flex: 0 0 100%;
  }
  #news .flexBox div:last-child {
    flex: 0 0 100%;
  }

  #news .twitterWiget {
    width: 100%;
    margin-top: 40px;
  }
  #news .twitterWiget .twitter-widget-wrapper iframe {
    width: 1000px !important;
  }
}
#about > div {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  width: 95%;
  margin: 40px auto 0;
  font-size: 1.2em;
  line-height: 1.6em;
}
#about .button {
  width: 95%;
  max-width: 480px;
  margin-top: 40px;
}

@media only screen and (max-width: 480px) {
  #about div {
    font-size: 1em;
  }
}
.companyLogo {
  max-width: 800px;
}

.companyLogo p {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-size: 1.6em;
  text-align: center;
  margin: 100px auto 20px;
  padding: 0;
}

.companyLogo .flexBox > div {
  padding: 20px 0;
  align-self: center;
}

.companyLogo .flexBox > div a {
  display: block;
  margin: auto;
  padding: 0 20px;
}

.sponser > div.square a {
  max-width: 66%;
}

.cooperation > div {
  flex: 0 0 30%;
}

.cooperation > div.square {
  flex: 0 0 20%;
}

@media only screen and (max-width: 480px) {
  .cooperation > div {
    flex: 0 0 60%;
  }

  .cooperation > div.square {
    flex: 0 0 40%;
  }
}
.Title h3, .Title .Final h5, .Final .Title h5 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 1.2em;
  padding: 10px 20px;
}
.Title .content .boxset3 div {
  padding: 20px 10px 0;
  text-align: center;
}
.Title .content .boxset3 div p {
  text-align: left;
}
.Title .content .boxset3 div a img:hover
 {
  display: block;
  opacity: 0.7;
}
.Title .content .tetris span {
  font-size: 1.5vw;
}

.noTitle {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 6vw;
  text-align: center;
}

@media only screen and (max-width: 800px) {
  .Title .content .boxset3 div {
    flex: 0 0 50%;
  }
  .Title .content .tetris span {
    font-size: 2.4vw;
  }

  .noTitle {
    font-size: 10vw;
  }
}
@media only screen and (max-width: 480px) {
  .Title .content .tetris span {
    font-size: 1em;
  }

  .noTitle {
    font-size: 10vw;
  }
}
.Faq .qa {
  padding: 0;
  border-radius: 5px;
  border: 1px solid #FFF;
  background-color: rgba(0, 0, 0, 0.4);
  overflow: hidden;
}
.Faq .qa > a {
  padding-right: 40px;
  line-height: 1.4em;
  text-align: left;
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
}
.Faq .qa > a:first-child {
  border-top: none;
}
.Faq .qa > a::before {
  content: "Ｑ：";
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  color: #000;
}
.Faq .qa > a::after {
  right: 15px;
}
.Faq .qa > a.open::after {
  margin: -12px 0 0;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.Faq .qa > p {
  display: none;
  padding: 20px 10px;
}
.Faq .qa > p::before {
  content: "Ａ：";
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  color: #FFF;
}

.Stores h3, .Stores .Final h5, .Final .Stores h5 {
  padding: 10px 20px;
}
.Stores .content .flexBox {
  padding: 0;
  justify-content: space-between;
}
.Stores .content .flexBox h3, .Stores .content .flexBox .Final h5, .Final .Stores .content .flexBox h5 {
  text-align: center;
}
.Stores .content .flexBox > div {
  flex: 0 0 100%;
  padding: 0;
}
.Stores .content .flexBox .button {
  max-width: 400px;
  margin-top: 40px;
  padding: 15px 30px;
  background-color: #aa020b;
  color: #FFF;
}
.Stores .content .flexBox .button::after {
  right: 15px;
  border-top: solid 4px #FFF;
  border-right: solid 4px #FFF;
}

@media only screen and (max-width: 800px) {
  .Stores .content .flexBox > div + div {
    margin-top: 50px;
  }
}
.stores.download h3, .stores.download .Final h5, .Final .stores.download h5 {
  padding: 10px 20px;
  margin-bottom: 0;
  text-align: center;
}
.stores.download .content form {
  text-align: center;
}
.stores.download .content form p {
  margin: 30px auto 0;
}
.stores.download .content form p input {
  width: 40%;
  min-width: 200px;
  margin: auto;
}
.stores.download .content form p.button {
  box-sizing: border-box;
  display: block;
  width: 30%;
  min-width: 200px;
  margin: auto;
  background-color: #FFF;
  color: #222;
  text-align: center;
  position: relative;
}
.stores.download .content form p.button::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin: -8px 0 0 0;
  border-top: solid 4px #000;
  border-right: solid 4px #000;
  border-radius: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.stores.download .content form p.button input[type="submit"] {
  width: 100%;
  margin-top: 30px;
  padding: 5px 10px;
  border: none;
  background-color: transparent;
}
.stores.download .content .flexBox {
  padding: 0;
  justify-content: space-between;
}
.stores.download .content .flexBox h3, .stores.download .content .flexBox .Final h5, .Final .stores.download .content .flexBox h5 {
  text-align: center;
}
.stores.download .content .flexBox > div {
  flex: 0 0 50%;
  min-width: 420px;
  margin: auto;
  padding: 0;
  margin-top: 50px;
}
.stores.download .content .flexBox .img {
  width: 80%;
  margin: 30px auto 0;
}
.stores.download .content .flexBox .button {
  margin-top: 40px;
  padding: 15px 30px;
  background-color: #aa020b;
  color: #FFF;
}
.stores.download .content .flexBox .button::after {
  right: 15px;
  border-top: solid 4px #FFF;
  border-right: solid 4px #FFF;
}

@media only screen and (max-width: 800px) {
  .stores.download .content form {
    text-align: left;
  }
  .stores.download .content .flexBox > div {
    flex: 0 0 50%;
    min-width: 320px;
  }
}
@media only screen and (max-width: 480px) {
  .stores.download .content .flexBox > div {
    flex: 0 0 100%;
    min-width: 0px;
  }
}
.title header {
  padding: 40px 0 0;
}
.title header .logo {
  width: 60%;
  margin: auto;
  text-align: center;
}
.title header h1 {
  margin-top: 40px;
  font-size: 1.2em;
}
.title header h1::after {
  content: none;
}
.title header .breadcrumbs {
  width: 100%;
  margin-top: 40px;
  padding: 5px 10px 0;
  background-color: rgba(170, 2, 11, 0.4);
  font-size: 0.8em;
}
.title header .breadcrumbs p {
  display: inline-block;
  padding-right: 20px;
  margin: 0 10px 5px 0;
  position: relative;
}
.title header .breadcrumbs p:last-child::after {
  content: none;
}
.title header .breadcrumbs p::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  width: 8px;
  height: 8px;
  margin: -5px 0 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  border-radius: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.title header .breadcrumbs p a {
  color: #FFF;
}
.title header .breadcrumbs p a:visited {
  color: #FFF;
}
.title header .breadcrumbs p a:hover {
  color: #FFF;
}
.title header .flexBox {
  width: 100%;
  margin-top: 20px;
  border: 1px solid #FFF;
  border-top: none;
}
.title header .flexBox div {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  flex: 1 1 140px;
  background-color: rgba(0, 0, 0, 0.4);
  text-align: center;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
.title header .flexBox div:last-child {
  border-right: none;
}
.title header .flexBox a {
  display: block;
  color: #FFF;
  padding: 10px 0;
}
.title header .flexBox a:visited {
  color: #FFF;
}
.title header .flexBox a:hover {
  color: #FFF;
  background-color: rgba(170, 2, 11, 0.4);
  opacity: 1;
}
.title header .flexBox a.disable {
  pointer-events: none;
  background-color: rgba(136, 136, 136, 0.4);
  color: #666;
}
.title.about header a.about, .title.schedule header a.schedule, .title.primary header a.primary, .title.area header a.area, .title.final header a.final {
  background-color: rgba(170, 2, 11, 0.4);
}

@media only screen and (max-width: 800px) {
  .title header .logo {
    width: 80%;
  }
}
@media only screen and (max-width: 480px) {
  .title header .logo {
    width: 100%;
  }
}
.title main .schedule {
  border-top: 1px solid #FFF;
}
.title main .schedule > div {
  padding-top: 60px;
  margin-top: -60px;
}
.title main .schedule .area {
  align-items: stretch;
  width: 100%;
  border: 1px solid #FFF;
  border-top: none;
}
.title main .schedule .area.areaSP > div:first-child {
  background-color: #CCC;
}
.title main .schedule .area.area1 > div:first-child {
  background-color: #90c31f;
}
.title main .schedule .area.area2 > div:first-child {
  background-color: #c3d600;
}
.title main .schedule .area.area3 > div:first-child {
  background-color: #fff100;
}
.title main .schedule .area.area4 > div:first-child {
  background-color: #fabe00;
}
.title main .schedule .area.area5 > div:first-child {
  background-color: #f39800;
}
.title main .schedule .area.area6 > div:first-child {
  background-color: #f38400;
}
.title main .schedule .area.area7 > div:first-child {
  background-color: #ea5432;
}
.title main .schedule .area.area8 > div:first-child {
  background-color: #e73079;
}
.title main .schedule .area > div:first-child {
  flex: 0 0 180px;
  color: #000;
  text-align: center;
}
.title main .schedule .area > div:first-child .flexBox {
  height: 100%;
  align-items: center;
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  color: #000;
  border-right: 1px solid #FFF;
}
.title main .schedule .area > div:last-child {
  flex: 1 1 200px;
}
.title main .schedule .area > div:last-child .store {
  padding: 20px 20px 0;
  border-bottom: 1px solid #FFF;
}
.title main .schedule .area > div:last-child .store:last-child {
  border-bottom: none;
}
.title main .schedule .area > div:last-child .store > div {
  flex: 1 1 250px;
  padding-bottom: 20px;
  color: #FFF;
  text-align: left;
}
.title main .schedule .storeName {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  width: 95%;
}
.title main .schedule .address {
  width: 95%;
  font-size: 0.9em;
}
.title main .schedule .link a.button {
  display: inline-block;
  width: 30%;
  min-width: 100px;
  margin: 10px 10px 0 0;
  padding: 5px 20px;
  border-radius: 30px;
  background-color: #FFF;
  font-size: 0.8em;
  font-weight: bold;
  color: #000;
}
.title main .schedule .link a.button:after {
  width: 10px;
  height: 10px;
  margin-top: -5px;
}
.title main .schedule .red {
  padding: 5px;
  border-bottom: 1px solid #FFF;
  text-align: center;
  background: rgba(170, 2, 11, 0.4);
}
.title main .schedule .red.store {
  padding: 20px;
  background: rgba(170, 2, 11, 0.2);
}

@media only screen and (max-width: 800px) {
  .title main .schedule > div {
    padding-top: 100px;
    margin-top: -100px;
  }
  .title main .schedule .area > div:first-child {
    flex: 0 0 100%;
    padding: 10px;
    border-bottom: 1px solid #FFF;
  }
  .title main .schedule .area > div:first-child .flexBox {
    border-right: none;
  }
  .title main .schedule .area > div:last-child {
    flex: 0 0 100%;
  }
}
.title .primary div.area1 {
  background-color: #90c31f;
}
.title .primary div.area2 {
  background-color: #c3d600;
}
.title .primary div.area3 {
  background-color: #fff100;
}
.title .primary div.area4 {
  background-color: #fabe00;
}
.title .primary div.area5 {
  background-color: #f39800;
}
.title .primary div.area6 {
  background-color: #f38400;
}
.title .primary div.area7 {
  background-color: #ea5432;
}
.title .primary div.area8 {
  background-color: #e73079;
}
.title .primary .area1, .title .primary .area2, .title .primary .area3, .title .primary .area4, .title .primary .area5, .title .primary .area6, .title .primary .area7, .title .primary .area8 {
  padding: 10px;
  margin-top: 40px;
}
.title .primary .area1 p, .title .primary .area2 p, .title .primary .area3 p, .title .primary .area4 p, .title .primary .area5 p, .title .primary .area6 p, .title .primary .area7 p, .title .primary .area8 p {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  text-align: center;
  color: #000;
}
.title .primary .flexBox {
  justify-content: space-around;
}
.title .primary .flexBox div {
  flex: 0 0 46%;
  min-width: 400px;
  margin-top: 40px;
  padding: 20px;
  border: 1px solid #FFF;
}
.title .primary .flexBox .storeName {
  font-size: 0.8em;
  color: #F00;
}
.title .primary .flexBox .teamName {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 2em;
}
.title .primary .flexBox .player {
  display: inline-block;
}
.title .primary .flexBox .player + .player {
  margin-left: 10px;
}
.title .primary .flexBox .player + .player::before {
  content: "／";
  margin-right: 10px;
}

@media only screen and (max-width: 800px) {
  .title .primary #Area1, .title .primary #Area2, .title .primary #Area3, .title .primary #Area4, .title .primary #Area5, .title .primary #Area6, .title .primary #Area7, .title .primary #Area8 {
    padding-top: 60px;
    margin-top: -60px;
  }
}
@media only screen and (max-width: 480px) {
  .title .primary .flexBox div {
    flex: 0 0 96%;
    min-width: 0px;
  }
  .title .primary .flexBox .player {
    display: block;
  }
  .title .primary .flexBox .player + .player {
    margin-left: 0px;
  }
  .title .primary .flexBox .player + .player::before {
    content: none;
  }
  .title .primary #Area1, .title .primary #Area2, .title .primary #Area3, .title .primary #Area4, .title .primary #Area5, .title .primary #Area6, .title .primary #Area7, .title .primary #Area8 {
    padding-top: 40px;
    margin-top: -40px;
  }
}
.title.area .area div.areaSP {
  background-color: #CCC;
}
.title.area .area div.area1 {
  background-color: #90c31f;
}
.title.area .area div.area2 {
  background-color: #c3d600;
}
.title.area .area div.area3 {
  background-color: #fff100;
}
.title.area .area div.area4 {
  background-color: #fabe00;
}
.title.area .area div.area5 {
  background-color: #f39800;
}
.title.area .area div.area6 {
  background-color: #f38400;
}
.title.area .area div.area7 {
  background-color: #ea5432;
}
.title.area .area div.area8 {
  background-color: #e73079;
}
.title.area .area .areaSP, .title.area .area .area1, .title.area .area .area2, .title.area .area .area3, .title.area .area .area4, .title.area .area .area5, .title.area .area .area6, .title.area .area .area7, .title.area .area .area8 {
  padding: 10px;
  margin-top: 40px;
}
.title.area .area .areaSP p, .title.area .area .area1 p, .title.area .area .area2 p, .title.area .area .area3 p, .title.area .area .area4 p, .title.area .area .area5 p, .title.area .area .area6 p, .title.area .area .area7 p, .title.area .area .area8 p {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  text-align: center;
  color: #000;
}
.title.area .area .flexBox div {
  flex: 1 1 300px;
  margin-top: 40px;
}
.title.area .area .flexBox div:last-child {
  padding-left: 30px;
}
.title.area .area .flexBox .storeName {
  font-size: 1em;
  color: #F00;
}
.title.area .area .flexBox .teamName {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 2em;
}
.title.area .area .flexBox .player {
  display: inline-block;
  font-size: 1.2em;
}
.title.area .area .flexBox .player + .player {
  margin-left: 10px;
}
.title.area .area .flexBox .player + .player::before {
  content: "／";
  margin-right: 10px;
}
.title.area .area .flexBox .comment {
  margin-top: 30px;
  line-height: 1.4em;
}

@media only screen and (max-width: 800px) {
  .title.area .area .flexBox div {
    flex: 0 0 90%;
    margin-top: 40px;
    max-width: 480px;
  }
  .title.area .area .flexBox div:last-child {
    padding-left: 0px;
  }
}
@media only screen and (max-width: 480px) {
  .title.area .area .flexBox .player {
    display: block;
  }
  .title.area .area .flexBox .player + .player {
    margin-left: 0px;
  }
  .title.area .area .flexBox .player + .player::before {
    content: none;
  }
}
.title.final .content h3, .title.final .content .Final h5, .Final .title.final .content h5 {
  text-align: center;
  padding: 5px 10px;
}
.title.final .content .small {
  margin-top: 40px;
}
.title.final .content.qualifying h3, .title.final .content.qualifying .Final h5, .Final .title.final .content.qualifying h5 {
  background-color: rgba(170, 170, 170, 0.4);
}
.title .finalResult h3, .title .finalResult .Final h5, .Final .title .finalResult h5 {
  padding: 5px 10px;
  background-color: #aa020b;
  text-align: center;
}
.title .finalResult .flexBox > div {
  flex: 1 1 480px;
  margin-top: 40px;
}
.title .finalResult .flexBox > div:first-child {
  flex: 0 0 100%;
  margin-top: 0px;
}
.title .finalResult .flexBox > div > div {
  max-width: 640px;
  margin: auto;
  padding: 0px 20px;
  text-align: center;
}
.title .finalResult .flexBox .flexBox {
  align-items: center;
  max-width: 540px;
  margin: 0 auto 20px;
  text-align: left;
}
.title .finalResult .flexBox .flexBox div {
  margin-top: 0px;
}
.title .finalResult .flexBox .flexBox div:first-child {
  flex: 0 0 100px;
}
.title .finalResult .flexBox .flexBox div:last-child {
  flex: 1 1 0px;
  padding-left: 20px;
}
.title .finalResult .flexBox .storeName {
  font-size: 0.9em;
  color: #F00;
}
.title .finalResult .flexBox .area {
  font-size: 0.9em;
}
.title .finalResult .flexBox .teamName {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 2em;
}
.title .finalResult .flexBox .player {
  display: inline-block;
  font-size: 1.2em;
}
.title .finalResult .flexBox .player + .player {
  margin-left: 10px;
}
.title .finalResult .flexBox .player + .player::before {
  content: "／";
  margin-right: 10px;
}
.title .finalResult .flexBox .img {
  margin-top: 30px;
}
.title .finalResult .flexBox .first {
  font-size: 1.2em;
}
.title .finalResult .flexBox .first .flexBox div:first-child {
  flex: 0 0 150px;
}

@media only screen and (max-width: 800px) {
  .title .finalResult .flexBox .first .flexBox div:first-child {
    flex: 0 0 120px;
  }
}
@media only screen and (max-width: 480px) {
  .title .finalResult .flexBox > div {
    flex: 0 0 100%;
  }
  .title .finalResult .flexBox > div > div {
    padding: 0px;
  }
  .title .finalResult .flexBox .flexBox div:first-child {
    flex: 0 0 100px;
  }
  .title .finalResult .flexBox .teamName {
    font-size: 1.8em;
  }
  .title .finalResult .flexBox .player {
    display: block;
    font-size: 1em;
    text-align: left;
  }
  .title .finalResult .flexBox .player + .player {
    margin-left: 0px;
  }
  .title .finalResult .flexBox .player + .player::before {
    content: none;
  }
  .title .finalResult .flexBox .first {
    font-size: 1em;
  }
  .title .finalResult .flexBox .first .flexBox div:first-child {
    flex: 0 0 100px;
  }
}
.Final header {
  padding: 100px 0 0;
}
.Final header .logo {
  width: 60%;
  margin: auto;
  text-align: center;
}
.Final header .subNav {
  margin: 100px 0 0;
}
.Final h4 {
  margin-top: 50px;
}
.Final h5 {
  margin-bottom: 20px;
}
.Final .subNav {
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 100px;
  border: 1px solid #FFF;
  border-top: none;
  padding: 0;
}
.Final .subNav div {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  flex: 1 1 280px;
  background-color: rgba(0, 0, 0, 0.4);
  text-align: center;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  padding: 0;
}
.Final .subNav div:last-child {
  border-right: none;
}
.Final .subNav a {
  display: block;
  color: #FFF;
  padding: 10px 0;
}
.Final .subNav a:visited {
  color: #FFF;
}
.Final .subNav a:hover {
  color: #FFF;
  background-color: rgba(170, 2, 11, 0.4);
  opacity: 1;
}
.Final .subNav a.disable {
  pointer-events: none;
  background-color: rgba(136, 136, 136, 0.4);
  color: #666;
}
.Final .content h5 {
  margin-top: 50px;
}
.Final.about .subNav a.about, .Final.schedule .subNav a.schedule, .Final.special .subNav a.special, .Final.exhibit .subNav a.exhibit, .Final.food-goods .subNav a.food-goods, .Final.afterparty .subNav a.afterparty {
  background-color: rgba(170, 2, 11, 0.4);
}
.Final .sat.small, .Final .sun.small {
  padding-right: 1em;
}
.Final .access div:nth-child(odd) {
  padding: 0 20px 0 0;
}
.Final .access div:nth-child(even) {
  padding: 0 0 0 20px;
}
.Final .access ul {
  margin: 0 0 20px;
}
.Final .access ul li + li {
  margin-top: 20px;
}
.Final .guest > div {
  flex: 0 0 25%;
  margin-bottom: 30px;
}
.Final .guest .bold {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 1.1em;
}
.Final .flD1 div, .Final .flD2 div {
  margin-bottom: 20px;
}
.Final .flD1 .event, .Final .flD2 .event {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  margin: 50px auto 10px;
  text-align: center;
  color: #000;
  line-height: 1.2em;
  background-color: #ddd000;
}

@media only screen and (max-width: 800px) {
  .Final .access div:nth-child(odd) {
    padding: 0;
  }
  .Final .access div:nth-child(even) {
    padding: 0;
  }
  .Final .access > div + div {
    margin-top: 20px;
  }
  .Final .boxset3 > div {
    flex-basis: 50%;
    margin-bottom: 20px;
  }
  .Final .guest {
    font-size: 0.9em;
  }
  .Final .guest > div {
    flex: 0 0 33.33%;
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 480px) {
  .Final .subNav {
    font-size: 0.9em;
  }
  .Final .subNav div {
    flex: 0 0 50%;
  }
  .Final .stInfo {
    font-size: 1.6em;
  }
  .Final .sat.small, .Final .sun.small {
    padding-right: 0em;
  }
  .Final .access > div + div {
    margin-top: 20px;
  }
  .Final .boxset3 > div {
    padding: 0 5px 0 0;
  }
  .Final .boxset3 > div:nth-child(even) {
    padding: 0 0 0 5px;
  }
  .Final .guest {
    font-size: 0.8em;
  }
  .Final .guest > div {
    flex: 0 0 50%;
    padding: 0 10px 0 0;
  }
  .Final .guest > div:nth-child(even) {
    padding: 0 0 0 10px;
  }
}
/*ToM CSS*/
[data-emergence=hidden] {
  opacity: 0;
  transform: translateY(0px);
}

[data-emergence=visible] {
  opacity: 1;
  transition: all 1.0s;
}

.ToM .disable {
  display: none;
}
.ToM #tag {
  width: calc(92% + 20px);
}
.ToM #tag ul {
  display: flex;
  list-style-type: none;
  flex-flow: row wrap;
  padding-left: 0;
  padding-right: 0;
}
.ToM #tag li {
  margin-bottom: 10px;
}
.ToM #tag li a {
  padding: 3px 5px;
  margin: 10px;
  background: #FFF;
  font-size: 0.8em;
  color: #222;
}
.ToM .content {
  margin-top: 50px;
}
.ToM .content > div {
  display: flex;
  flex-flow: row wrap;
  padding: 20px;
  background: rgba(204, 204, 204, 0.3);
}
.ToM .content > div img {
  max-width: 100%;
}
.ToM .content > div div:first-of-type {
  flex: 0 0 60%;
  padding-left: 0;
  display: flex;
  flex-direction: column;
}
.ToM .content > div div:last-of-type {
  flex: 0 0 40%;
  padding: 0;
}
.ToM .content > div time {
  font-weight: bold;
}
.ToM .content > div p + p {
  margin-top: 10px;
}
.ToM .content > div .button {
  align-self: flex-end;
  margin: 20px auto 0;
  padding: 5px;
}
.ToM .content > div + div {
  margin-top: 50px;
}
.ToM.children header {
  width: 100%;
  padding: calc(100% / calc(16 / 9)) 0 0;
  position: relative;
  background: url("../images/banner_1280_bbtag.jpg") no-repeat;
  background-size: 100%;
  overflow: hidden;
}
.ToM.children #Title {
  display: flex;
  width: 100%;
  height: 100%;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.12) 0px 1px, transparent 1px 6px), repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0px 1px, transparent 1px 6px);
  position: absolute;
  top: 0;
}
.ToM.children #Title h1 {
  width: 80%;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 5vw;
  text-shadow: 0px 0px 30px #222, 0px 0px 30px #222, 0px 0px 30px #222, 0px 0px 30px #222;
}
.ToM.children #Title h1::after {
  content: none;
}
.ToM.children section {
  margin-top: 50px;
}
.ToM.children section h2 {
  font-size: 1.4em;
  padding: 5px 20px;
  margin: 50px auto 0;
  background-color: rgba(170, 2, 11, 0.8);
}
.ToM.children section h3, .ToM.children section .Final h5, .Final .ToM.children section h5 {
  margin: 50px auto 0;
}
.ToM.children section h4 {
  font-size: 1em;
  padding: 5px 10px;
  margin: 50px auto 0;
}
.ToM.children #content .flexBox {
  margin-top: 20px;
}
.ToM.children #content .flexBox div {
  padding: 10px;
}
.ToM.children #content .flexBox div p {
  margin-top: 10px;
}
.ToM.children #content .flexBox div small {
  display: block;
  text-align: center;
  margin-top: 10px;
}
.ToM.children #content .boxset1 {
  max-width: 800px;
  margin: auto;
}
.ToM.children #content img {
  max-width: 100%;
}
.ToM.children #content time {
  font-weight: bold;
}
.ToM.children #content p {
  margin-top: 20px;
}
.ToM.children #content p + p {
  margin-top: 10px;
}
.ToM.children #content ul {
  margin-left: 0.5em;
}
.ToM.children #content dd {
  margin: 0 0 0 1em;
}
.ToM.children #content .button {
  align-self: flex-end;
  margin: 20px auto 0;
  padding: 5px;
}

@media only screen and (max-width: 1100px) {
  .ToM #tag ul {
    padding-left: 0;
  }
  .ToM .content > div {
    max-width: 600px;
    margin: 50px auto 0;
    padding: 20px;
  }
  .ToM .content > div div:first-of-type {
    flex: 0 0 100%;
    padding: 0;
  }
  .ToM .content > div div:last-of-type {
    flex: 0 0 100%;
    padding: 0;
    margin-top: 40px;
  }
}
@media only screen and (max-width: 800px) {
  .ToM.children header {
    margin-top: 50px;
  }
  .ToM.children #Title h1 {
    width: 90%;
    font-size: 8vw;
  }
  .ToM.children section {
    margin-top: 50px;
  }
  .ToM.children section h2 {
    font-size: 1.4em;
    padding: 5px 20px;
    margin: 50px auto 0;
    background-color: rgba(170, 2, 11, 0.8);
  }
  .ToM.children section h3, .ToM.children section .Final h5, .Final .ToM.children section h5 {
    margin: 50px auto 0;
  }
  .ToM.children section h4 {
    font-size: 1em;
    padding: 5px 10px;
    margin: 50px auto 0;
  }
  .ToM.children #content .flexBox {
    margin-top: 20px;
  }
  .ToM.children #content .flexBox div {
    padding: 10px;
  }
  .ToM.children #content .flexBox div p {
    margin-top: 10px;
  }
  .ToM.children #content .flexBox div small {
    display: block;
    text-align: center;
    margin-top: 10px;
  }
  .ToM.children #content .boxset1 {
    max-width: 800px;
    margin: auto;
  }
  .ToM.children #content img {
    max-width: 100%;
  }
  .ToM.children #content time {
    font-weight: bold;
  }
  .ToM.children #content p {
    margin-top: 20px;
  }
  .ToM.children #content p + p {
    margin-top: 10px;
  }
  .ToM.children #content ul {
    margin-left: 0.5em;
  }
  .ToM.children #content dd {
    margin: 0 0 0 1em;
  }
  .ToM.children #content .button {
    align-self: flex-end;
    margin: 20px auto 0;
    padding: 5px;
  }
}


/* ここから新規追加 21/09/28 更新 */
body.Title2021 nav li.title2021, body.Title2020 nav li.title2020 {
  background-color: #333;
}

#toushinsai2021 main {
  padding-top: 1px;
}
#toushinsai2021 .bg {background: none;}
#toushinsai2021 .bg::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background: url("../images/toushinsai2021_bg.jpg") repeat;
	background-position: center center;
    background-size: cover;
}
#toushinsai2021 h2 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: clamp(1.2em, 4vw, 2em);
  margin: 0 auto 20px;
  padding: 0px;
}
#toushinsai2021 section h2 {
  padding: 5px 10px;
  background-color: #f02d2d;
  color: #222;
}
#toushinsai2021 h3, #toushinsai2021 .Final h5, .Final #toushinsai2021 h5 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 1em;
  padding: 5px 10px;
  background-color: rgba(240, 45, 45, 0.6);
}
#toushinsai2021 h4 {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 900;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  font-size: 1.1em;
  padding: 10px;
  border-left: 10px solid rgba(240, 45, 45, 0.6);
}
#toushinsai2021 #newswidget a {
  display: block;
  border-top: 1px solid #444;
}
#toushinsai2021 #newswidget a:first-child {
  border-top: none;
}
#toushinsai2021 #newswidget dt {
  display: inline-block;
  padding: 0;
  margin: 0;
  border-top: none;
  vertical-align: top;
}
#toushinsai2021 #newswidget dt:first-child {
  border-top: none;
}
#toushinsai2021 #newswidget dd {
  display: block;
  font-weight: bold;
  margin: 10px 0 0;
  padding: 0;
}
#toushinsai2021.title header .breadcrumbs {
  background-color: rgba(240, 45, 45, 0.6);
}
#toushinsai2021.title header .flexBox a:hover {
  background-color: rgba(240, 45, 45, 0.6);
  opacity: 1;
}
#toushinsai2021.title.about header a.about, #toushinsai2021.title.schedule header a.schedule, #toushinsai2021.title.primary header a.primary, #toushinsai2021.title.area header a.area, #toushinsai2021.title.final header a.final {
  background-color: rgba(240, 45, 45, 0.6);
}
#toushinsai2021.ToM .content > div {
  background: rgba(0, 0, 0, 0.5);
}
#toushinsai2021.ToM.children section h2 {
  padding: 5px 10px;
  background-color: #f02d2d;
  color: #222;
}

nav {
  background-color: #222;
}
nav li {
  border-top: 2px solid #444;
}
nav li:last-child {
  border-bottom: 2px solid #444;
}
nav li a {
  color: #fff;
}
nav li a:visited {
  color: #fff;
}
nav li a:hover {
  opacity: 1;
  color: #fff;
  background-color: #444;
}
nav p {
  margin-top: 10px;
}
nav p + p {
  margin: 0;
}
nav p a {
  display: block;
  color: #fff;
  font-weight: bold;
  padding: 10px 10px 10px 20px;
  margin-top: 0px;
}
nav p a:visited {
  color: #fff;
}
nav p a:hover {
  opacity: 1;
  color: #fff;
  background-color: #444;
}
nav p.previous {
	margin: 0;
	padding: 5px 5px 5px 20px;
	background-color: #AAA;
	color: #000;
	font-weight: bold;
}
nav ul.previous li {
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
nav ul.previous li a {
	padding: 10px 10px 10px 20px;
	font-size: 1em;
}
nav .disable {
  pointer-events: none;
  background-color: #333;
}
nav .disable a {
  color: #666;
}
nav .disable a:visited {
  color: #666;
}
nav .disable a:hover {
  opacity: 1;
  color: #666;
}
nav .shareBox {
  width: 250px;
  margin-top: 40px;
}
nav .shareButtons a {
  width: 50px;
  height: 50px;
  background-size: 50px;
}

.tweetBtn {
  background: url(../images/sns_ico_02_tw.svg) no-repeat;
}

.fbBtn {
  background: url(../images/sns_ico_01_fb.svg) no-repeat;
}

.lineBtn {
  background: url(../images/sns_ico_03_line.svg) no-repeat;
}

@media only screen and (min-width: 480px) {
  nav {
    border-right: 2px solid #444;
  }
  nav .shareBox {
    width: 180px;
    margin-top: 40px;
  }
  nav .shareButtons a {
    width: 40px;
    height: 40px;
    background-size: 50px;
  }
}
@media only screen and (min-width: 800px) {
  #toushinsai2021 .bg {
    background: url("../images/toushinsai2021_bg.jpg") repeat;
    background-attachment: fixed;
    background-position: 100px -200px;
    background-size: cover;
  }
  #toushinsai2021 .bg::before {
	content: none;
  }
  #toushinsai2021 #newswidget a {
    display: flex;
    box-sizing: border-box;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    border-top: 1px solid #444;
  }
  #toushinsai2021 #newswidget a:first-child {
    border-top: none;
  }
  #toushinsai2021 #newswidget dt {
    flex: 0 0 110px;
  }
  #toushinsai2021 #newswidget dd {
    flex: 1 1 100px;
    margin: 0;
  }
}

/*# sourceMappingURL=toushinsai2020.css.map */
