@charset "UTF-8";
/*reset*/
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

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

a img {
  border: none; }

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

html, input, select, textarea, table, th, td, li, a {
  font-family: Helvetica, Arial, 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Yu Gothic' , "メイリオ", "Meiryo", "Avenir Next", "Avenir", sans-serif; }

html {
  font-family: Helvetica, Verdana, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Noto Sans JP', 'メイリオ',Meiryo, '游ゴシック', 'Yu Gothic', YuGothic, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.025em; }

body {
  color: #fff;
  background-color: #000; }
  body * {
    box-sizing: border-box; }

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  a:after {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

img, iframe {
  max-width: 100%;
  display: block;
  margin: 0 auto; }

.secInner {
  max-width: 980px;
  padding: 0 40px;
  margin: 0 auto; }

.btn {
  display: inline-block;
  color: #000;
  background-color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.20em 3.5em;
  position: relative; }
  .btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -0.3em;
    width: 0.4em;
    height: 0.4em;
    border-top: #000 2px solid;
    border-right: #000 2px solid;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  .btn.open {
    background-color: #E70016;
    color: #fff; }
    .btn.open:after {
      border-top-color: #fff;
      border-right-color: #fff;
      margin-right: -0.5em; }

.no-touch .btn:hover, .no-touch .btn.open {
  background-color: #E70016;
  color: #fff; }
  .no-touch .btn:hover:after, .no-touch .btn.open:after {
    border-top-color: #fff;
    border-right-color: #fff;
    margin-right: -0.5em; }

header {
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url("../images/header_bg.jpg"); }
  header .secInner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 4em 40px;
    flex-direction: row-reverse; }
    header .secInner h1.title {
      width: 290px; }
    header .secInner ul.logos {
      width: 400px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap; }
      header .secInner ul.logos li {
        width: 18.75%;
        margin: 1em 2em 0 0; }
        header .secInner ul.logos li:first-child {
          margin-left: 0; }
        header .secInner ul.logos li a {
          display: block; }

article #overview {
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url("../images/concept_bg.jpg"); }
  article #overview .secInner {
    display: flex;
    justify-content: space-between;
    padding: 6em 40px; }
    article #overview .secInner .conceptBox {
      width: 385px; }
      article #overview .secInner .conceptBox .concept {
        background-color: #E70016;
        color: #fff;
        font-size: 2em;
        font-weight: bold; }
        article #overview .secInner .conceptBox .concept img {
          width: 100%; }
    article #overview .secInner .leadBox {
      width: 420px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-end; }
      article #overview .secInner .leadBox .lead {
        font-size: 1.16667em;
        line-height: 1.95; }
        article #overview .secInner .leadBox .lead img {
          width: 100%;
          display: none; }
      article #overview .secInner .leadBox .btnWrap {
        width: 72.28916%; }
        article #overview .secInner .leadBox .btnWrap .btn {
          width: 100%;
          font-size: 1.33333em;
          padding: 1em 2em; }
          article #overview .secInner .leadBox .btnWrap .btn:after {
            right: 1.5em;
            width: 0.5em;
            height: 0.5em; }

article #schedule {
  padding-bottom: 8em; }
  article #schedule h2 {
    background-color: #313333;
    padding: 1.2em 0.5em;
    text-align: center;
    font-size: 1.83333em;
    font-weight: bold;
    line-height: 1.2; }
    article #schedule h2 img {
      display: none; }
  article #schedule .secInner h3 {
    margin: 2em 0;
    font-size: 1.83333em;
    font-weight: bold;
    line-height: 1.2; }
  article #schedule .secInner ul.pre,
  article #schedule .secInner ul.final {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 2em; }
    article #schedule .secInner ul.pre li.round,
    article #schedule .secInner ul.final li.round {
      background-color: #313333;
      width: 31.66667%;
      margin-right: 2.44444%;
      margin-bottom: 2.44444%;
      padding: 8px 8px 10px; }
      article #schedule .secInner ul.pre li.round:nth-child(3n),
      article #schedule .secInner ul.final li.round:nth-child(3n) {
        margin-right: 0; }
      article #schedule .secInner ul.pre li.round .data,
      article #schedule .secInner ul.final li.round .data {
        background-color: #000;
        padding: 0 14px; }
        article #schedule .secInner ul.pre li.round .data h4,
        article #schedule .secInner ul.final li.round .data h4 {
          padding: 0.8em;
          text-align: center;
          font-size: 1.5em;
          font-weight: bold;
          line-height: 1;
          letter-spacing: 0.05em;
          border-bottom: #313333 2px solid; }
          article #schedule .secInner ul.pre li.round .data h4 em,
          article #schedule .secInner ul.final li.round .data h4 em {
            color: #E70016; }
        article #schedule .secInner ul.pre li.round .data ul,
        article #schedule .secInner ul.final li.round .data ul {
          padding: 10px 0; }
          article #schedule .secInner ul.pre li.round .data ul li a,
          article #schedule .secInner ul.final li.round .data ul li a {
            color: #E70016;
            text-decoration: underline; }
            article #schedule .secInner ul.pre li.round .data ul li a:hover,
            article #schedule .secInner ul.final li.round .data ul li a:hover {
              text-decoration: none; }
            article #schedule .secInner ul.pre li.round .data ul li a.disable,
            article #schedule .secInner ul.final li.round .data ul li a.disable {
              color: #444;
              text-decoration: none; }
      article #schedule .secInner ul.pre li.round .btns,
      article #schedule .secInner ul.final li.round .btns {
        padding-top: 10px;
        display: flex;
        justify-content: space-between; }
        article #schedule .secInner ul.pre li.round .btns a,
        article #schedule .secInner ul.final li.round .btns a {
          font-size: 1.16667em;
          width: 48%;
          padding: 0.20em 2em; }
          article #schedule .secInner ul.pre li.round .btns a[href="#"],
          article #schedule .secInner ul.final li.round .btns a[href="#"] {
            display: none; }
  article #schedule .secInner ul.final li.round {
    width: 100%;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    article #schedule .secInner ul.final li.round .data {
      display: flex;
      flex: 1;
      font-size: 1.16667em;
      padding: 1em 0; }
      article #schedule .secInner ul.final li.round .data h4 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 0 2em;
        font-size: 1.83333em;
        line-height: 1.2;
        border-bottom: none;
        border-right: #313333 2px solid; }
        article #schedule .secInner ul.final li.round .data h4 em {
          display: block; }
      article #schedule .secInner ul.final li.round .data ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        line-height: 1.6;
        padding: 0 3em;
        padding-right: 0; }
    article #schedule .secInner ul.final li.round .btns {
      flex-direction: column;
      width: 28.28054%;
      padding: 0;
      margin-left: 10px; }
      article #schedule .secInner ul.final li.round .btns a {
        font-size: 1.5em;
        padding: 1.2em;
        line-height: 1;
        width: 100%;
        margin-top: 10px; }
        article #schedule .secInner ul.final li.round .btns a:first-child {
          margin-top: 0; }
    article #schedule .secInner ul.final li.round .result {
      width: 100%; }
      article #schedule .secInner ul.final li.round .result .drawer {
        display: none; }
      article #schedule .secInner ul.final li.round .result ul {
        display: flex;
        flex-wrap: wrap; }
        article #schedule .secInner ul.final li.round .result ul li {
          display: flex;
          width: 32.57919%;
          margin-right: 1.13122%;
          margin-top: 1.13122%; }
          article #schedule .secInner ul.final li.round .result ul li:nth-child(3n) {
            margin-right: 0; }
          article #schedule .secInner ul.final li.round .result ul li a {
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            line-height: 1.2;
            height: 3.5em;
            font-size: 1.16667em; }
            article #schedule .secInner ul.final li.round .result ul li a:after {
              display: none; }

article #history {
  background-image: url("../images/history_bg.jpg");
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  padding: 4em 0 8em; }
  article #history .secInner ul.archives {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    article #history .secInner ul.archives li {
      width: 47.33333%;
      margin-top: 2em; }
      article #history .secInner ul.archives li:first-child, article #history .secInner ul.archives li:nth-child(2) {
        margin-top: 0; }
      article #history .secInner ul.archives li h4 {
        position: relative;
        font-size: 1.33333em;
        font-weight: bold;
        text-align: center;
        width: 70.42254%;
        background-color: #727172;
        line-height: 2.2;
        margin-left: 1.5em;
        z-index: 1; }
        article #history .secInner ul.archives li h4 i {
          display: inline-block;
          width: 0;
          height: 0;
          border-left: transparent solid 0.4em;
          border-right: transparent solid 0.4em;
          border-top: #fff solid 0.7em;
          margin-left: 0.4em; }
        article #history .secInner ul.archives li h4:before, article #history .secInner ul.archives li h4:after {
          content: "";
          display: block;
          position: absolute;
          z-index: -1;
          width: 0;
          height: 0;
          border-left: transparent solid 1.5em;
          border-right: transparent solid 1.5em; }
        article #history .secInner ul.archives li h4:before {
          bottom: 0;
          left: -1.5em;
          border-bottom: #727172 solid 2.2em; }
        article #history .secInner ul.archives li h4:after {
          top: 0;
          right: -1.5em;
          border-top: #727172 solid 2.2em; }
      article #history .secInner ul.archives li.tnfc2017 h4 {
        background-color: #727172; }
        article #history .secInner ul.archives li.tnfc2017 h4:before {
          border-bottom-color: #727172; }
        article #history .secInner ul.archives li.tnfc2017 h4:after {
          border-top-color: #727172; }
      article #history .secInner ul.archives li.tnfc2016 h4 {
        background-color: #36801C; }
        article #history .secInner ul.archives li.tnfc2016 h4:before {
          border-bottom-color: #36801C; }
        article #history .secInner ul.archives li.tnfc2016 h4:after {
          border-top-color: #36801C; }
      article #history .secInner ul.archives li.tnfc2015 h4 {
        background-color: #E5001C; }
        article #history .secInner ul.archives li.tnfc2015 h4:before {
          border-bottom-color: #E5001C; }
        article #history .secInner ul.archives li.tnfc2015 h4:after {
          border-top-color: #E5001C; }
      article #history .secInner ul.archives li.tnfc2014 h4 {
        background-color: #FFF100;
        color: #000; }
        article #history .secInner ul.archives li.tnfc2014 h4 i {
          border-top-color: #000; }
        article #history .secInner ul.archives li.tnfc2014 h4:before {
          border-bottom-color: #FFF100; }
        article #history .secInner ul.archives li.tnfc2014 h4:after {
          border-top-color: #FFF100; }
      article #history .secInner ul.archives li.tnfc2013 h4 {
        background-color: #00A2E2; }
        article #history .secInner ul.archives li.tnfc2013 h4:before {
          border-bottom-color: #00A2E2; }
        article #history .secInner ul.archives li.tnfc2013 h4:after {
          border-top-color: #00A2E2; }
      article #history .secInner ul.archives li a {
        display: block;
        background-color: #fff; }
        article #history .secInner ul.archives li a img {
          width: 100%;
          display: block; }
        article #history .secInner ul.archives li a:hover img {
          opacity: 0.75; }
  article #history .secInner .facebook {
    margin-top: 5em;
    padding: 2.5em 4.5em;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: space-between;
    align-items: center; }
    article #history .secInner .facebook h3 {
      font-size: 2em;
      font-weight: bold;
      line-height: 1.4; }
    article #history .secInner .facebook p {
      font-size: 1.16667em;
      line-height: 1.8; }
      article #history .secInner .facebook p a {
        color: #E70016;
        text-decoration: underline; }
        article #history .secInner .facebook p a:hover {
          text-decoration: none; }

footer {
  padding: 4em 0; }
  footer .secInner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    footer .secInner #socialplugin {
      display: flex; }
      footer .secInner #socialplugin .twitter {
        margin-left: 1em; }
      footer .secInner #socialplugin .google {
        margin-left: 2em; }
    footer .secInner .copyright {
      font-size: 0.91667em; }

body.summary .mb30 {
  margin-bottom: 30px !important; }

body.summary a {
  color: #E70016;
  text-decoration: underline; }
  body.summary a:hover {
    text-decoration: none; }

body.summary a.imghover {
  display: inline-block; }
  body.summary a.imghover:hover {
    opacity: 0.7; }

body.summary img {
  margin: 0; }

body.summary #detail {
  max-width: 700px;
  padding: 30px;
  line-height: 22px;
  margin: 0 auto; }
  body.summary #detail h4 {
    border-left: solid 5px #cb0012;
    padding-left: 16px;
    font-size: 20px;
    margin-bottom: 16px; }
  body.summary #detail h5 {
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 0.25em; }
  body.summary #detail .section {
    margin: 0 auto 70px auto; }
    body.summary #detail .section span.att {
      display: block;
      margin-top: 0.2em;
      padding-left: 1em;
      text-indent: -1em; }
    body.summary #detail .section p {
      margin-top: 1.57143em; }
      body.summary #detail .section p:first-child {
        margin-top: 0; }
      body.summary #detail .section p.att {
        padding-left: 1em;
        text-indent: -1em; }
    body.summary #detail .section ul li {
      border-bottom: #444 solid 1px;
      padding: 1em 1em;
      margin-top: 0.5em; }
      body.summary #detail .section ul li h5 {
        margin-left: -0.875em; }
      body.summary #detail .section ul li:first-child {
        margin-top: 0; }
      body.summary #detail .section ul li ul {
        padding-left: 1.3em; }
        body.summary #detail .section ul li ul li {
          border-bottom: none;
          list-style-type: disc;
          padding: 0;
          margin-top: 0; }
    body.summary #detail .section ul.att {
      margin-top: 1em;
      padding-left: 0; }
      body.summary #detail .section ul.att li {
        border-bottom: none;
        list-style-type: none;
        padding: 0;
        padding-left: 1em;
        text-indent: -1em;
        margin-top: 0; }
    body.summary #detail .section ul.division li {
      padding: 0.25em; }
      body.summary #detail .section ul.division li p.att {
        padding-left: 1em;
        text-indent: 0; }

#sb-info {
  height: 21px !important;
  position: absolute !important;
  top: 0;
  right: 0; }

#sb-wrapper-inner {
  padding: 29px;
  background-color: #000; }

#sb-body-inner .section {
  width: 100%;
  margin-bottom: 50px; }

#sb-body-inner .text-area {
  margin-left: 16px; }

#sb-body-inner .text-area .title {
  font-size: 14px; }

#sb-body-inner .text-area .cnt {
  margin-left: 1em; }

#sb-body-inner .text-area .cap {
  font-size: 10px; }

#sb-body-inner ul {
  margin-left: 8px; }

#sb-body-inner li {
  list-style: none;
  line-height: 22px; }

#sb-nav {
  padding: 0 !important; }

#sb-nav a#sb-nav-close {
  width: 21px;
  height: 21px; }

.movie-modal {
  display: none; }

#sb-player iframe {
  overflow: hidden !important; }

#sb-player .header {
  color: #cb0012;
  font-weight: bold;
  margin-bottom: 20px; }

.no-touch header .secInner ul.logos li a:hover {
  opacity: 0.75; }

.no-touch article #history {
  background-attachment: fixed; }

@media only screen and (min-width: 980px) {
  .forSP {
    display: none; } }

@media only screen and (max-width: 980px) {
  article #overview .secInner {
    flex-direction: column;
    align-items: flex-start; }
    article #overview .secInner .leadBox {
      margin-top: 2em;
      width: 100%;
      align-items: flex-start; }
      article #overview .secInner .leadBox .btnWrap {
        margin-top: 2em;
        align-self: center; }
  article #schedule h2 span {
    display: block;
    font-size: 0.65em;
    line-height: 1.6; }
  article #schedule .secInner ul.pre li.round {
    width: 48%;
    margin-right: 2%; }
    article #schedule .secInner ul.pre li.round:nth-child(3n) {
      margin-right: 2%; }
    article #schedule .secInner ul.pre li.round:nth-child(2n) {
      margin-right: 0; }
  article #schedule .secInner ul.final li.round {
    flex-direction: column; }
    article #schedule .secInner ul.final li.round .btns {
      flex-direction: row;
      width: 100%;
      margin-top: 10px;
      margin-left: 0; }
      article #schedule .secInner ul.final li.round .btns .btn {
        width: 48.5%; }
        article #schedule .secInner ul.final li.round .btns .btn:nth-child(2) {
          margin-top: 0;
          margin-left: 1%; }
  article #history .secInner ul.archives li h4 {
    width: auto;
    margin-right: 2em; }
  article #history .secInner .facebook {
    padding: 2em; }
    article #history .secInner .facebook h3 {
      font-size: 2.44898vw; }
    article #history .secInner .facebook p {
      max-width: 50%; } }

@media only screen and (max-width: 768px) {
  html {
    font-size: 3.38542vw; }
  .secInner {
    padding: 0 5.20833vw; }
  header .secInner {
    padding: 4em 5.20833vw;
    flex-direction: column; }
    header .secInner h1.title {
      width: 100%; }
      header .secInner h1.title img {
        width: 70%;
        margin-left: 0; }
    header .secInner ul.logos {
      width: 100%;
      flex-wrap: wrap;
      justify-content: flex-start;
      margin-top: 4em; }
      header .secInner ul.logos li {
        width: 20%;
        margin: 2.4%; }
        header .secInner ul.logos li:first-child {
          margin-left: 2.4%; }
  article #overview .secInner {
    padding: 4em 2em; }
    article #overview .secInner .conceptBox {
      width: 70vw;
      align-self: center; }
    article #overview .secInner .leadBox {
      margin-top: 3em; }
      article #overview .secInner .leadBox .lead {
        font-size: 3.64583vw; }
        article #overview .secInner .leadBox .lead br {
          display: none; }
          article #overview .secInner .leadBox .lead br.SP {
            display: inline; }
  article #schedule {
    padding-bottom: 2em; }
    article #schedule h2 {
      font-size: 1.61538rem; }
    article #schedule .secInner h3 {
      font-size: 1.30769rem;
      text-align: center; }
    article #schedule .secInner ul.pre li.round {
      width: 100%;
      margin-right: 0;
      margin-bottom: 0;
      margin-top: 2em; }
      article #schedule .secInner ul.pre li.round:first-child {
        margin-top: 0; }
    article #schedule .secInner ul.final li.round .data {
      flex-direction: column;
      padding: 0 14px;
      font-size: inherit; }
      article #schedule .secInner ul.final li.round .data h4 {
        padding: 0.8em;
        border: none;
        border-bottom: #313333 2px solid;
        align-items: center; }
      article #schedule .secInner ul.final li.round .data ul {
        padding: 1em 0; }
    article #schedule .secInner ul.final li.round .btns a {
      padding: 0.8em 0; }
    article #schedule .secInner ul.final li.round .result .drawer ul li {
      width: 100%;
      margin-right: 0; }
      article #schedule .secInner ul.final li.round .result .drawer ul li a {
        padding: 0.2em 2em; }
  article #history {
    padding-bottom: 4em; }
    article #history .secInner ul.archives li {
      width: 100%; }
      article #history .secInner ul.archives li:nth-child(2) {
        margin-top: 2em; }
      article #history .secInner ul.archives li h4 {
        font-size: 1.16667rem;
        width: 75%; }
    article #history .secInner .facebook {
      display: block; }
      article #history .secInner .facebook h3 {
        font-size: 1.46154rem;
        margin-bottom: 0.5em; }
      article #history .secInner .facebook p {
        max-width: none;
        font-size: 0.92308rem; }
  footer {
    padding: 2em 0; }
    footer .secInner {
      display: block; }
      footer .secInner .copyright {
        margin-top: 1em; }
  body.summary {
    font-size: 1rem; } }
