@charset "UTF-8";
/* Scss Document */
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
header
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
.header {
  width: 100%;
  height: 100px;
  margin: 0;
  padding: 0;
  background-color: #000;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  z-index: 10000; }
  .header__title {
    margin: 0 0 0 20px;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .header__title--txt {
      margin: 0 0 0 30px;
      padding: 0 0 0 35px;
      color: #FFF;
      font-size: 0.875rem;
      font-weight: normal;
      border-left: 1px solid #FFF; }
      .header__title--txt span {
        margin: 0 0 10px;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.0;
        display: block; }
      .header__title--txt a {
        color: #FFF !important; }

@media (max-width: 900px) {
  .header__title--logo {
    width: 266px;
    height: 30px; } }
@media (max-width: 700px) {
  .header {
    height: 80px; }
    .header__title--txt {
      display: none; } }
@media (max-width: 400px) {
  .header__title--logo {
    width: 220px;
    height: 25px; } }
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
スマホタイトル
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
.spTitle {
  margin: 120px 40px 20px;
  display: none;
  font-size: 0.875rem;
  font-weight: normal; }
  .spTitle a {
    color: #000 !important; }

@media (max-width: 700px) {
  .spTitle {
    margin: 100px 20px 20px;
    display: block; } }
@media (max-width: 600px) {
  .spTitle {
    margin: 100px 20px 20px; } }
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
全画面ナビ
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
.globalNav {
  display: none;
  width: 100%;
  height: calc(100% - 100px);
  position: fixed;
  top: 100px;
  z-index: 9999;
  background-color: #000; }
  .globalNav__list {
    margin: 0;
    padding: 30px 0 0;
    list-style: none; }
  .globalNav__item {
    margin: 20px 0 0;
    text-align: center; }
    .globalNav__item--anchor {
      color: #FFF !important;
      position: relative;
      transition: 0.1s linear; }
      .globalNav__item--anchor::after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: -5px;
        left: 0;
        background-color: #FFF;
        transform: scaleX(0);
        transform-origin: center right;
        transition: transform 0.2s ease; }
      .globalNav__item--anchor:hover {
        text-decoration: none;
        top: 1px; }
        .globalNav__item--anchor:hover::after {
          transform-origin: center left;
          -moz-transform: scaleX(1);
          -webkit-transform: scaleX(1);
          transform: scaleX(1); }
  .globalNav__ico {
    margin: 40px 0 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center; }
    .globalNav__ico img {
      margin: 0 5px;
      position: relative; }
    .globalNav__ico a:hover img {
      opacity: 0.7;
      filter: alpha(opacity=70);
      -ms-filter: alpha(opacity=70);
      top: 1px; }
  .globalNav__extra {
    width: 200px;
    height: 32px;
    margin: 40px auto 0; }
    .globalNav__extra--anchor {
      width: 100%;
      height: 100%;
      color: #CCC !important;
      font-size: 14px;
      text-align: center;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #222;
      border: 1px solid #555;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      position: relative;
      transition: 0.1s linear; }
      .globalNav__extra--anchor:hover {
        color: #AAA !important;
        text-decoration: none;
        top: 1px;
        background-color: #111;
        border: 1px solid #444; }

@media (max-width: 700px) {
  .globalNav {
    height: calc(100% - 80px);
    top: 80px; } }
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
global navigation
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
/*
.gNav {
	@include size(100%, auto);
	margin: 140px 0 40px;
	padding: 0;
	
	&__list {
		margin: 0;
		padding: 0;
		list-style-type: none;
		@include flex;
		justify-content: center;
	}
		
	&__item {
		margin: 0 50px 0 0;
		padding: 0;
		line-height: 1.0;
		
		&:last-of-type {
			margin: 0;
		}
		
		&--anchor {
			color: $color02 !important;
			position: relative;
			transition: $transition;
			
			&::after {
				content: '';
				@include size(100%, 1px);
				@include po_ab_bl(-5px, 0);
				background-color: $color02;
				transform: scaleX(0);
				transform-origin: center right;
				transition: transform 0.2s ease;
			}
			
			&:hover {
				text-decoration: none;
				top: 1px;
				
				&::after {
					transform-origin: center left;
					@include scaleX(1);
				}
			}
		}
	}
}

@media (max-width: 1200px) {
	.gNav {
		display: none;
	}
}
*/
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
menu button
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
.btnMenu {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  right: 0; }
  .btnMenu a {
    width: 100%;
    height: 100%;
    padding: 26px 0 0;
    display: block;
    font-size: 0.75rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #a61527; }
    .btnMenu a:hover {
      text-decoration: none;
      background-color: #FFF; }

.menu-trigger,
.menu-trigger span {
  transition: all .4s;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.menu-trigger span {
  height: 4px;
  display: block;
  position: relative;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  background-color: #FFF; }
  .menu-trigger span:nth-of-type(1) {
    width: 20px;
    margin: 0 auto 8px; }
  .menu-trigger span:nth-of-type(2) {
    width: 42px;
    margin: 0 auto; }
  .menu-trigger span:nth-of-type(3) {
    width: 30px;
    margin: 8px auto 0; }

.menu-trigger.active span:nth-of-type(1) {
  width: 46px;
  margin: 8px auto 0;
  top: 4px;
  -webkit-transform: translateY(0) rotate(-45deg);
  transform: translateY(0) rotate(-45deg); }

.menu-trigger.active span:nth-of-type(2) {
  left: 0;
  opacity: 0;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards; }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
.menu-trigger.active span:nth-of-type(3) {
  width: 46px;
  margin: 0 auto;
  -webkit-transform: translateY(0) rotate(45deg);
  transform: translateY(0) rotate(45deg); }

.menu-trigger strong {
  margin: 10px 0 0;
  color: #FFF;
  font-weight: 500;
  text-align: center;
  line-height: 1.0;
  display: block;
  position: relative; }

.menu-trigger.active strong {
  margin: 25px 0 0; }

.menu-trigger:hover,
.menu-trigger.active {
  background-color: #FFF; }
  .menu-trigger:hover span,
  .menu-trigger.active span {
    background-color: #a61527; }
  .menu-trigger:hover strong,
  .menu-trigger.active strong {
    color: #a61527; }

@media (max-width: 700px) {
  .btnMenu {
    width: 80px;
    height: 80px; }
    .btnMenu a {
      padding: 16px 0 0; } }
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
footer
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
.footer {
  width: 100%;
  height: auto;
  overflow: hidden;
  margin: 0;
  padding: 70px 0 0;
  background-color: #000; }
  .footer__inner {
    width: 1060px;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between; }
  .footer__data {
    width: calc((100% - 60px)/2);
    margin: 0;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap; }
    .footer__data--dt {
      width: 100px;
      margin: 25px 0 0;
      padding: 0;
      color: #FFF;
      line-height: 2.0; }
    .footer__data--dd {
      width: calc(100% - 100px);
      margin: 25px 0 0;
      padding: 0;
      color: #FFF;
      line-height: 2.0; }
      .footer__data--dd:nth-of-type(3) a::after {
        bottom: -10px;
        background-color: #d0733a; }
      .footer__data--dd a {
        color: #FFF !important;
        position: relative;
        transition: 0.1s linear; }
        .footer__data--dd a::after {
          content: '';
          width: 100%;
          height: 1px;
          position: absolute;
          bottom: -5px;
          left: 0;
          background-color: #FFF;
          transform: scaleX(0);
          transform-origin: center right;
          transition: transform 0.2s ease; }
        .footer__data--dd a:hover {
          text-decoration: none;
          top: 1px; }
          .footer__data--dd a:hover::after {
            transform-origin: center left;
            -moz-transform: scaleX(1);
            -webkit-transform: scaleX(1);
            transform: scaleX(1); }
      .footer__data--dd span {
        display: inline-block; }
        .footer__data--dd span::after {
          content: '／'; }
        .footer__data--dd span:last-of-type::after {
          content: none; }

.sponsor {
  width: calc((100% - 60px)/2);
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap; }
  .sponsor__dt {
    width: 100px;
    margin: 25px 0 0;
    padding: 0;
    color: #FFF;
    line-height: 2.0; }
  .sponsor__dd {
    width: calc(100% - 100px);
    margin: 25px 0 0;
    padding: 0;
    color: #FFF;
    line-height: 2.0; }
    .sponsor__dd span {
      display: inline-block; }
      .sponsor__dd span a {
        color: #FFF !important;
        position: relative;
        transition: 0.1s linear; }
        .sponsor__dd span a::after {
          content: '';
          width: 100%;
          height: 1px;
          position: absolute;
          bottom: -5px;
          left: 0;
          background-color: #FFF;
          transform: scaleX(0);
          transform-origin: center right;
          transition: transform 0.2s ease; }
        .sponsor__dd span a:hover {
          text-decoration: none;
          top: 1px; }
          .sponsor__dd span a:hover::after {
            transform-origin: center left;
            -moz-transform: scaleX(1);
            -webkit-transform: scaleX(1);
            transform: scaleX(1); }
      .sponsor__dd span::after {
        content: '／'; }
      .sponsor__dd span:last-of-type::after {
        content: none; }

.copyright {
  height: 80px;
  margin: 70px 0 0;
  padding: 0;
  background-color: #FFF; }
  .copyright__inner {
    width: 1060px;
    height: 100%;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
  .copyright__txt {
    margin: 0 0 0 40px;
    font-size: 0.75rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif; }

@media (max-width: 1160px) {
  .footer__inner {
    width: calc(100% - 80px);
    margin: 0 40px; }
  .footer__data {
    width: 100%; }

  .sponsor {
    width: 100%; }

  .copyright__inner {
    width: calc(100% - 80px);
    margin: 0 40px; } }
@media (max-width: 1000px) {
  .copyright__inner {
    padding: 0 80px 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; } }
@media (max-width: 700px) {
  .copyright {
    height: auto;
    padding: 20px 0; } }
@media (max-width: 600px) {
  .footer__inner {
    width: calc(100% - 40px);
    margin: 0 20px; }

  .copyright__inner {
    width: calc(100% - 40px);
    margin: 0 20px; } }
@media (max-width: 460px) {
  .copyright__inner {
    flex-direction: column;
    align-items: flex-start; }
  .copyright__txt {
    margin: 20px 0 0; } }
