@charset "UTF-8";
#header #logo img, #header p img {
  height: 100%;
  width: auto; }

footer {
  margin-top: 0; }

.kaiten {
  -webkit-transform: all 300ms ease;
  -ms-transform: all 300ms ease;
  transform: all 300ms ease;
  -webkit-animation: rotation 30s linear infinite;
  animation: rotation 30s linear infinite; }

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

#s_wrap {
  font-family: "source-han-sans-japanese",sans-serif;
  font-size: 15px;
  color: #000; }
  @media screen and (max-width: 768px) {
    #s_wrap {
      font-size: 13px; } }
  @media all and (-ms-high-contrast: none) {
    #s_wrap {
      font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif; } }
  #s_wrap img {
    width: 100%; }

h2.ttl {
  font-family: fira-sans,sans-serif;
  text-align: center;
  color: #fff;
  font-size: 5vw;
  font-weight: bolder;
  text-shadow: 0px 4px 3px rgba(0, 0, 0, 0.4), 0px 8px 13px rgba(0, 0, 0, 0.1), 0px 18px 23px rgba(0, 0, 0, 0.1); }
  @media screen and (max-width: 768px) {
    h2.ttl {
      font-size: 14vw; } }

.brw {
  border-top: solid #fff 17px; }
  .brw.brw-b {
    border-bottom: solid #fff 17px; }

.ttlBg {
  background-color: #000;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 75px 0; }

#s_header {
  background-color: #00008c;
  background-image: url(../img/h_bg-1.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  position: relative; }
  #s_header::after {
    content: "";
    display: block;
    width: 100vw;
    height: 100vh;
    position: absolute;
    bottom: 0;
    background-image: url(../img/towa.png), url(../img/kizuna.png);
    background-size: auto 36vw;
    background-repeat: no-repeat;
    background-position: left bottom, right bottom; }
    @media screen and (max-width: 425px) {
      #s_header::after {
        background-size: auto 64vw; } }
  #s_header > div {
    padding-top: 9vh; }
  #s_header img[src*=logo] {
    max-width: 400px;
    margin-bottom: 3em; }
    @media screen and (max-width: 768px) {
      #s_header img[src*=logo] {
        max-width: 60%; } }
  #s_header h1 {
    text-align: center;
    font-size: 3vw;
    color: #fff;
    font-weight: bolder;
    line-height: 1.4;
    position: relative;
    z-index: 1;
    padding: 0 10px; }
    #s_header h1 img {
      max-width: 900px; }
    #s_header h1 span {
      margin: 0 auto;
      font-weight: bolder;
      background-color: #fff;
      color: #0163cd;
      font-size: 4vw;
      display: inline-block;
      padding: .2em 1em;
      border-radius: 5px; }

@media screen and (max-width: 768px) {
  #s_header h1 {
    font-size: 5vw; }
    #s_header h1 span {
      font-size: 6vw;
      padding: .2em .5em; } }

#itd {
  background: url("../img/i_bg-1.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: calc(2em + 60px) 0 2em;
  font-weight: bold; }
  #itd > div {
    background-color: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.5);
    max-width: 1090px;
    width: 95%;
    margin: 0 auto;
    border-radius: 1px;
    padding: calc(1em + 60px) 1em 2em;
    position: relative;
    -webkit-box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    color: #fff;
    font-weight: bold; }
  #itd img[src*=ukiwa] {
    max-width: 120px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -60px; }
  #itd p {
    text-align: center;
    margin-bottom: .5em; }

#vrTtl {
  background-image: url("../img/v_h_bg-1.jpg");
  background-position: center; }

#vrW {
  padding: 150px 10px 20px; }
  #vrW::before {
    content: "";
    background: url("../img/v_bg-1.jpg") no-repeat bottom;
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1; }
  #vrW .vC {
    background-color: #fff;
    border-radius: 1px;
    position: relative;
    max-width: 1220px;
    width: 100%;
    margin: 0px auto 75px;
    padding: 40px; }
    #vrW .vC span {
      font-weight: bolder; }
  #vrW .bM {
    margin-bottom: 35px; }
  #vrW .point {
    position: absolute;
    background: -webkit-gradient(linear, left bottom, left top, from(#001078), to(#0068bc));
    background: -webkit-linear-gradient(bottom, #001078 0%, #0068bc 100%);
    background: -o-linear-gradient(bottom, #001078 0%, #0068bc 100%);
    background: linear-gradient(0deg, #001078 0%, #0068bc 100%);
    background-size: cover;
    padding: .1em 1em;
    font-size: 30px;
    font-weight: bolder;
    border-left: 15px #00c7ff solid;
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
    -webkit-box-shadow: 0 5px 9px -5px #000;
    box-shadow: 0 5px 9px -5px #000;
    color: #fff;
    border-radius: 1px;
    top: -40px; }
  #vrW .f {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #vrW .jk {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 30%;
    flex: 0 1 30%; }
    #vrW .jk img {
      max-width: 95%; }
  #vrW .txtC {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 70%;
    flex: 0 1 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #vrW .txtC h3 {
      border-left: 8px solid #005fb1;
      font-weight: bolder;
      padding-left: .6em; }
    #vrW .txtC .l {
      margin-top: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #vrW .txtC .l li {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(100% / 4);
        flex: 0 1 calc(100% / 4);
        text-align: center;
        padding: .2em 0;
        background-repeat: no-repeat;
        background-size: 16px,auto;
        background-position: right 4% center ,center;
        position: relative;
        margin: 0 2px 0 0;
        background-image: url(../img/l-i.png), -webkit-linear-gradient(135deg, #00003c 0%, #0068bc 100%);
        background-image: url(../img/l-i.png), -o-linear-gradient(135deg, #00003c 0%, #0068bc 100%);
        background-image: url(../img/l-i.png), linear-gradient(-45deg, #00003c 0%, #0068bc 100%); }
        #vrW .txtC .l li:last-child {
          margin-right: 0; }
        #vrW .txtC .l li:hover {
          background-image: url(../img/l-i.png), -webkit-gradient(linear, left bottom, left top, color-stop(100%, #0076cc), color-stop(0%, #39d9fb));
          background-image: url(../img/l-i.png), -webkit-linear-gradient(bottom, #0076cc 100%, #39d9fb 0%);
          background-image: url(../img/l-i.png), -o-linear-gradient(bottom, #0076cc 100%, #39d9fb 0%);
          background-image: url(../img/l-i.png), linear-gradient(0deg, #0076cc 100%, #39d9fb 0%); }
        #vrW .txtC .l li a {
          color: #fff;
          display: block; }
  #vrW .glr {
    background-image: url(../img/v_bg-1.jpg);
    background-size: cover;
    background-position: center top;
    margin: 20px 0 0; }
    #vrW .glr ul {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 20px;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      #vrW .glr ul li {
        margin: 0 .5% 10px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
        flex: 0 0 100px; }
        #vrW .glr ul li img {
          background-color: #fff;
          -webkit-box-shadow: 0 5px 3px -3px rgba(0, 0, 0, 0.5);
          box-shadow: 0 5px 3px -3px rgba(0, 0, 0, 0.5);
          max-width: 130px;
          border: 3px solid #fff; }

@media screen and (max-width: 768px) {
  #vrW {
    padding-top: 64px; }
    #vrW .vC {
      padding: 42px 3% 3%; }
    #vrW .f {
      display: block; }
      #vrW .f .jk {
        text-align: center;
        margin: 0 0 20px 0; }
        #vrW .f .jk img {
          max-width: 300px; }
    #vrW .txtC .l {
      text-align: center;
      display: block; }
      #vrW .txtC .l li {
        display: inline-block;
        width: 48%;
        margin: 0 auto 10px; }
    #vrW .glr ul {
      padding: 10px; }
      #vrW .glr ul li {
        text-align: center;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 80px;
        flex: 0 0 80px;
        margin: 1%; } }

@media screen and (max-width: 425px) {
  #vrW .vC.lineup .point {
    font-size: 7vw; } }

#vrW .vC.lineup .f .imb {
  width: calc(1/3*98%);
  text-align: center; }
  #vrW .vC.lineup .f .imb img {
    width: auto;
    max-height: 150px; }
    #vrW .vC.lineup .f .imb img.db {
      width: 45%;
      height: auto;
      max-height: none; }

#vrW .vC.lineup .f .txB {
  width: calc(2/3*98%); }

#vrW .vC.lineup .lBox {
  border-bottom: 1px solid #000259;
  padding: 1em 0;
  width: 48%;
  display: inline-block;
  vertical-align: bottom; }
  #vrW .vC.lineup .lBox:last-child {
    text-align: center; }
    #vrW .vC.lineup .lBox:last-child p {
      color: red;
      font-size: 1.5em; }
  @media screen and (max-width: 768px) {
    #vrW .vC.lineup .lBox {
      width: 100%; } }
  #vrW .vC.lineup .lBox > div {
    display: inline-block;
    vertical-align: middle; }

#vrW .vC.lineup .dan {
  background-color: #00167D;
  color: #fff;
  text-align: center;
  margin: 0 0 10px 0; }

#vrW .vC.lineup .ttl {
  border-left: 5px solid #005FB1;
  padding: 0 0 0 5px;
  margin: 0 0 10px 0; }

#chrTtl {
  background-image: url("../img/chr_h_bg.jpg"); }

#chrW .container {
  background-image: -webkit-gradient(linear, right top, left top, from(#c84a01), to(#eec504));
  background-image: -webkit-linear-gradient(right, #c84a01, #eec504);
  background-image: -o-linear-gradient(right, #c84a01, #eec504);
  background-image: linear-gradient(-90deg, #c84a01, #eec504);
  padding: 1em; }

#chrW .timeline {
  position: relative;
  overflow: auto; }
  #chrW .timeline:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 5px;
    background: #fff;
    left: 0; }
  #chrW .timeline h3 {
    background: #fff;
    max-width: 6em;
    margin: 0 auto 1em;
    padding: 0.5em;
    text-align: center;
    position: relative;
    clear: both;
    font-weight: bolder;
    font-size: 1.2em; }
  #chrW .timeline ul {
    padding: 0 0 0 1em;
    z-index: 1; }
    #chrW .timeline ul.kmpvr a {
      text-decoration: underline; }
      #chrW .timeline ul.kmpvr a img {
        max-width: 250px; }
  #chrW .timeline li {
    background: #fff;
    padding: 1em;
    margin-bottom: 1em;
    position: relative;
    text-align: center; }
    #chrW .timeline li .pjk {
      display: inline-block;
      position: relative;
      vertical-align: top; }
      #chrW .timeline li .pjk::after {
        content: "";
        width: 16px;
        height: 16px;
        background-image: url(../img/l-i.png);
        background-size: cover;
        position: absolute;
        bottom: 0;
        right: 0;
        -webkit-box-shadow: 0 0 5px 0px #000;
        box-shadow: 0 0 5px 0px #000; }
      #chrW .timeline li .pjk img {
        max-width: 110px;
        -webkit-box-shadow: 2px 5px 3px -3px rgba(0, 0, 0, 0.5);
        box-shadow: 2px 5px 3px -3px rgba(0, 0, 0, 0.5); }
    #chrW .timeline li p:not(.pjk) {
      margin: 0 0 .5em;
      width: calc(100% - (110px + 10px));
      display: inline-block; }
      #chrW .timeline li p:not(.pjk) span {
        color: #ff3302;
        font-weight: bolder; }
    #chrW .timeline li:before {
      content: '';
      width: 0;
      height: 0;
      border-top: 1em solid #fff;
      border-left: 1em solid transparent;
      position: absolute;
      left: -0.7em;
      top: 0; }
  #chrW .timeline h4 {
    margin: 0 0 .5em;
    font-size: 1.2em;
    font-weight: bolder;
    border-bottom: 1px solid #db8802; }

@media screen and (min-width: 40em) {
  #chrW .container {
    margin: 0 auto; }
  #chrW .timeline:before {
    left: 50%; }
  #chrW .timeline ul {
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }
  #chrW .timeline li {
    width: 47%; }
  #chrW .timeline li:nth-child(even) {
    float: right;
    margin-top: 2em; }
  #chrW .timeline li:nth-child(odd) {
    float: left; }
    #chrW .timeline li:nth-child(odd):before {
      border-top: 1em solid #fff;
      border-right: 1em solid transparent;
      right: -1em;
      left: auto; }
  #chrW .timeline li:nth-of-type(2n+1) {
    clear: both; } }
