@charset "utf-8";

/* -------------------------
  1. common
  2. top
  3. news
  4. about
  5. schedule
  7. japan
  7. goods
  8. webcast
  9. result
------------------------- */

/* -------------------------
  1. common
------------------------- */

@font-face {
  font-family: "Roboto Condensed";
  font-weight: 400;
  src: local("Roboto Condensed Regular"), local("RobotoCondensed-Regular"), url(//fonts.gstatic.com/s/robotocondensed/v14/Zd2E9abXLFGSr9G3YK2MsDAdhzWOYhqHvOZMRGaEyPo.woff2) format("woff2");
}

@font-face {
  font-family: "Roboto Condensed";
  font-weight: 700;
  src: local("Roboto Condensed Bold"), local("RobotoCondensed-Bold"), url(//fonts.gstatic.com/s/robotocondensed/v14/b9QBgL0iMZfDSpmcXcE8nHm2hrkyco9jQ3NKMXpgOBg.woff2) format("woff2");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 400;
  src: local("NotoSansJP-Regular.otf"),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 700;
  src: local("NotoSansJP-Bold.otf"),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format("opentype");
}

body {
  font: 14px/1 "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  padding-top: 50px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img {
  max-width: 100%;
}

a {
  color: #0c8af5;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: none;
}

br.pc{
  display: none;
}

br.sp{
  display: block;
}

.imp {
	color: #dc3522;
}

.tanks {
  margin: 3vw auto 0;
  text-align: center;
}

@media (min-width: 769px) {
  
  body {
    font-size: 16px;
    min-width: 1200px;
    padding-top: 88px;
  }
  
  br.pc{
    display: block;
  }

  br.sp{
    display: none;
  }
  
}

/* loading */

#loading {
  background: #000;
  bottom: 0;
  height: 100%;
  left: 0;
  margin: auto;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 9000;
}

.sk-wandering-cubes {
  height: 40px;
  margin: 40px auto;
  position: relative;
  width: 40px;
}

.sk-wandering-cubes .sk-cube {
  -webkit-animation: sk-wanderingCube 1.8s ease-in-out -1.8s infinite both;
  animation: sk-wanderingCube 1.8s ease-in-out -1.8s infinite both;
  background-color: #dc3522;
  height: 10px;
  left: 0;
  position: absolute;
  top: 0;
  width: 10px;
}

.sk-wandering-cubes .sk-cube2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

@-webkit-keyframes sk-wanderingCube {
  
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  
  25% {
    -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
    transform: translateX(30px) rotate(-90deg) scale(0.5);
  }
  
  50% {
    /* Hack to make FF rotate in the right direction */
    -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
    transform: translateX(30px) translateY(30px) rotate(-179deg);
  }
  
  50.1% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
    transform: translateX(30px) translateY(30px) rotate(-180deg);
  }
  
  75% {
    -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
    transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
  }
  
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
  
}

@keyframes sk-wanderingCube {
  
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  
  25% {
    -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
    transform: translateX(30px) rotate(-90deg) scale(0.5);
  }
  
  50% {
    /* Hack to make FF rotate in the right direction */
    -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
    transform: translateX(30px) translateY(30px) rotate(-179deg);
  }
  
  50.1% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
    transform: translateX(30px) translateY(30px) rotate(-180deg);
  }
  
  75% {
    -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
    transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
  }
  
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
  
}

#loading > div {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
}


/* popup */

.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 80%;
  max-width: 900px;
  padding: 50px;
  z-index: 2;
}
.popup-inner img {
  width: 100%;
}
.close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
}
.close-btn i {
  font-size: 30px;
  color: #fff;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.9);
  z-index: 1;
  cursor: pointer;
}

@media (min-width: 769px) {
  .popup a:hover {
    opacity: 0.6;
    transition: all .3s;
  }  
}

/* nav */

#nav {
  display: none;
}

.slicknav_menu {
  background: #1e1e20;
  bottom: 0;
  font: 16px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  height: 50px;
  left: 0;
  margin-top: -100px;
  overflow-y: auto;
  padding-top: 100px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1999;
}

.slicknav_menu.open {
  height: auto;
}

.slicknav_menu a {
  color: #fff;
}

.slicknav_menu .slicknav_btn {
  cursor: pointer;
  display: block;
  padding: 17px 0;
  position: relative;
  text-align: right;
}

.slicknav_menutxt {
  letter-spacing: .05em;
  padding-right: 5%;
}

.slicknav_menutxt::after {
  content: "";
  display: inline-block;
  width: 29px;
}

.slicknav_menu .slicknav_icon {
  display: block;
  height: 17px;
  position: absolute;
  right: 5%;
  top: 17px;
  width: 18px;
}

.slicknav_menu .slicknav_icon-bar {
  background: #fff;
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  top: 0;
  transition: all .3s;
  width: 18px;
}

.slicknav_menu .slicknav_icon-bar:nth-of-type(2) {
  top: 7px;
}

.slicknav_menu .slicknav_icon-bar:nth-of-type(3) {
  top: 14px;
}

.slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}

.slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(2) {
  -webkit-animation: menuBarSlide .8s forwards;
  animation: menuBarSlide .8s forwards;
  left: 50%;
  opacity: 0;
}

.slicknav_menu .slicknav_open .slicknav_icon-bar:nth-of-type(3) {
  transform: translateY(-7px) rotate(45deg);
}

@-webkit-keyframes menuBarSlide {
  
  100% {
    height: 0;
  }
  
}

@keyframes menuBarSlide {
  
  100% {
    height: 0;
  }
  
}

.slicknav_menu p:nth-of-type(1) {
  margin-bottom: 15px;
  text-align: center;
}

.slicknav_menu p:nth-of-type(1) img {
  max-width: 60%;
}

.slicknav_menu li {
  font-size: 28px;
  position: relative;
  text-align: center;
  z-index: 9000;
}

.slicknav_menu li a {
  display: block;
  padding: 8px 0;
}

.slicknav_menu li > a > a {
  padding: 0;
}

.slicknav_menu li span {
  display: block;
  padding-bottom: 16px;
}

.slicknav_menu nav > ul li:first-child span {
  padding-top: 16px;
}

.slicknav_menu .slicknav_arrow {
  color: #d9cb9e;
  font-size: 12px;
  position: absolute;
  right: 5%;
  top: 16px;
  transform: rotate(-90deg);
  transform-origin: 6px 6px;
  transition: all .3s;
}

.slicknav_menu .slicknav_open .slicknav_arrow {
  transform: rotate(0);
}

.slicknav_menu li ul {
  margin: 10px 0;
}

.slicknav_menu li li {
  background: #374140;
  font-size: 20px;
}

.slicknav_menu li li a,
.slicknav_menu li li.slicknav_txtnode {
  padding: 16px 0;
}

.slicknav_menu li li ~ li a {
  padding-top: 0;
}

.slicknav_menu .slicknav_txtnode {
  color: #fff;
  opacity: .3;
  padding: 8px 0;
}

@media (min-width: 769px) {
  
  .slicknav_menu {
    display: none;
  }
  
  #nav {
    background: #1e1e20;
    display: block;
    height: 88px;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1999;
  }
  
  #nav > .inr {
    margin: 0 auto;
    position: relative;
    width: 1160px;
  }
  
  #nav > .inr > p {
    left: 0;
    position: absolute;
    top: 3px;
    width: 138px;
  }
  
  #nav > .inr > p a {
    transition: all .3s;
  }
  
  #nav > .inr > p a:hover {
    opacity: .7;
  }
  
  #nav nav > ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 190px 0 auto;
    /*width: 781px;*/
    width: 810px;
  }
  
  #nav nav > ul > li   {
    color: #fff;
    font: 24px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
    position: relative;
  }
  
  /*#nav nav > ul > li:nth-of-type(6) {
    padding: 32px 20px;
  }
  
  #nav nav > ul > li:nth-of-type(6) {
    cursor: default;
    opacity: .3;
  }*/
  
  #nav nav > ul > li > a,
  #nav nav > ul > .close {
    color: #fff;
    display: block;
    padding: 32px 5px;
    transition: all .3s;
  }
  
  #nav nav > ul > li > a:hover {
    color: #dc3522;
    cursor: pointer;
  }

  #nav nav > ul > .close {
    cursor: default;
	color: #444;
  }
  
  #nav nav .child {
    display: none;
    left: -12px;
    position: absolute;
    top: 72px;
    white-space: nowrap;
  }
  
  #nav nav .child::before {
    border: 7px solid transparent;
    border-bottom: 9px solid #374140;
    content: "";
    display: block;
    height: 0;
    left: 54px;
    position: absolute;
    top: 0;
    width: 0;
  }
  
  #nav nav .child li {
    background: #374140;
    border-bottom: 2px solid #1e1e20;
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
  }
  
  #nav nav .child li:nth-of-type(1) {
    margin-top: 16px;
  }
  
  #nav nav .child a {
    background: #374140;
    color: #fff;
    display: block;
    padding: 17px 30px;
    transition: all .3s;
  }
  
  #nav nav .child a:hover {
    background: #dc3522;
    color: #fff;
  }
  
  #nav nav .child li span {
    cursor: default;
    display: block;
    opacity: .3;
    padding: 17px 30px;
  }
  
}

/* share */

.share {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  margin-top: 15px;
  padding-bottom: 50px;
}

.share li ~ li {
  margin-left: 8px;
}

.share li a {
  background: #374140;
  border-radius: 50%;
  display: block;
  height: 50px;
  padding: 0;
  position: relative;
  transition: all .2s;
  width: 50px;
}

.share li img {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
}

.share li:nth-child(1) a:hover {
  background: #1da1f2;
}

.share li:nth-child(1) img {
  left: 2px;
  width: 24px;
}

.share li:nth-child(2) a:hover {
  background: #3b5998;
}

.share li:nth-child(2) img {
  width: 15px;
}

.share li:nth-child(3) a:hover {
  background: #00b900;
}

.share li:nth-child(3) img {
  width: 31px;
}

@media (min-width: 769px) {
  
  #nav .share {
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 24px;
  }
  
  .share li a {
    height: 40px;
    width: 40px;
  }
  
  .share li:nth-child(1) img {
    width: 19px;
  }

  .share li:nth-child(2) img {
    width: 12px;
  }

  .share li:nth-child(3) img {
    width: 26px;
  }
  
}

/* lang */

.lang{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  margin-top: 15px;
  padding-bottom: 50px;
}

.lang li{
  background: #6C6C6C;
}

.lang li.active{
  background: #dc3522;
  pointer-events: none;
}

.lang li a{
  color: #fff;
  transition: all .3s;
}

.lang li:hover a{
  background: #dc3522;
}

.lang li.active a{
  color: #fff;
  pointer-events: none;
}

.lang li ~ li {
  margin-left: 15px;
}

.lang li a {
    display: block;
    padding: 8px 10px;
}

@media (min-width: 769px) {
  .lang{
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 27px;
    width: 158px;
  }
}

/* content */

#content h1 {
  color: #FFF;
  font: 32px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  height: 36px;
  padding: 18px 0;
  text-align: center;
}

#content h1::before {
  background: url(../img/icon-thunder.png) no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 23px;
  margin-right: 6px;
  position: relative;
  top: 1px;
  width: 12px;
}

#content h1 small {
  bottom: 4px;
  display: inline-block;
  font-size: 9px;
  position: relative;
  margin-left: 6px;
}

#content .inr h2 {
  font: 22px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin: 20px auto;
  text-align: center;
}

#content .inr h2 small {
  color: #dc3522;
  display: block;
  font-size: 10px;
  padding-bottom: 8px;
}

#top #content h2 {
  font: 32px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin: 155px 0 0 !important;
  text-align: center;
}

#top #content h2::before {
  background: url(../img/icon-thunder.png) no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 24px;
  margin-right: 6px;
  position: relative;
  top: 1px;
  width: 13px;
}

#top #content h2 small {
  bottom: 4px;
  display: inline-block;
  font-size: 9px;
  position: relative;
  margin-left: 6px;
}

#content nav ul {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  flex-wrap: wrap;
  border-bottom: 1px solid #d7d9d9;
  height: 57px;
}

#content nav ul li {
  color: #a9aeae;
  font-size: 12px;
  margin: 0 13px;
}

#content nav ul li a:link ,
#content nav ul li a:visited {
  color: #585e5d;
  transition: all .3s;
}

#content nav ul li a:hover {
  color: #000;
}

#content .bt a {
  background: #d9cb9e url(../img/icon-bt-arwRight.png) no-repeat right center;
  color: #000;
  display: block;
  padding: 18px 24px;
  text-align: center;
  transition: all .3s;
}

#content .bt.white a {
  background-color: #fff;
}

#content .bt a:hover {
  opacity: .7;
}

#content .bt.cs a,
#content .bt.cs a:hover {
  cursor: default;
  opacity: .3;
}

@media (min-width: 769px) {
  
  #content h1 {
    font: 50px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   font-weight: 700;
   height: 50px;
   padding: 43px 0;
  }
  
  #content h1::before {
    height: 37px;
    margin-right: 6px;
    width: 20px;
  }
  
  #content h1 small {
    bottom: 7px;
    font-size: 14px;
  }
  
  #content .inr h2 {
    font: 30px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
    margin: 50px auto 30px;
  }
  
  #content .inr h2 small {
    font-size: 11px;
    padding-bottom: 10px;
  }

  #top #content h2 {
    font-size: 50px;
    margin: 43px 0 0 !important;
  }
  
  #top #content h2::before {
    height: 37px;
    margin-right: 9px;
    width: 20px;
  }
  
  #top #content h2 small {
    font-size: 14px;
    margin-left: 11px;
  }
  
  #content nav ul {
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
  }
  
  #content nav ul li {
    font-size: 18px;
    margin: 0 30px;
  }
  
  #content span.br {
    display: block;
  }
  
  #content .bt a {
    padding-right: 40px;
  }
  
}

/* footer */

#share {
  font-weight: 700;
  padding-top: 16px;
  text-align: center;
}

#share > p:nth-of-type(1)::after {
  background: url(../img/icon-arwDown.png);
  content: "";
  display: block;
  height: 14px;
  margin: 9px auto 0;
  width: 18px;
}

#share .share {
  margin-top: 9px;
  padding-bottom: 30px;
}

footer .copy {
  background: #1e1e20;
  color: #fff;
  font-size: 10px;
  padding-bottom: 30px;
  position: relative;
  text-align: center;
}

footer .copy ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  padding-top: 5%;
}

footer .copy li:nth-of-type(1) img {
  width: 70%;
}

footer .copy li:nth-of-type(2) img {
  margin-left: 3%;
  width: 70%;
}

footer .copy p {
  display: block;
  line-height: 1.4;
  margin: 9px auto 0;
  width: 90%;
}

footer .copy p span {
  display: inline-block;
}

footer .copy iframe {
  bottom: 0;
  left: 0;
  position: absolute;
}

@media (min-width: 769px) {
  
  #share {
    height: 120px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 1160px;
  }
  
  #share > p {
    font-size: 18px;
    left: 389px;
    position: absolute;
    top: 51px;
  }
  
  #share.en > p {
    font-size: 18px;
    left: 440px;
    position: absolute;
    top: 51px;
  }
  
  #share > p:nth-of-type(1)::after {
    background: url(../img/icon-arwRight.png);
    height: 22px;
    margin: 0;
    position: absolute;
    right: -27px;
    top: 0px;
    width: 16px;
  }
  
  #share .share {
    margin: 0;
    padding: 0;
    position: absolute;
    right: 390px;
    top: 40px;
  }
  
  #share.en .share {
    margin: 0;
    padding: 0;
    position: absolute;
    right: 480px;
    top: 40px;
  }
  
  footer .copy {
    font-size: 12px;
    overflow: hidden;
    padding: 0;
    height: 120px;
  }
  
  footer .copy > .inr {
    margin: 0 auto;
    position: relative;
    width: 1160px;
  }

  footer .copy p a {
    transition: all .3s;
  }
  
  footer .copy p a:hover {
    opacity: .7;
  }
  
  footer .copy ul {
	padding-top: 50px;
  }

  footer .copy li:nth-of-type(1),
  footer .copy li:nth-of-type(2) {
    left: 0;
    position: absolute;
    top: 9px;
	width: 80px;
    z-index: 2;
  }

  footer .copy li:nth-of-type(2) {
    left: 95px;
  }
  
  footer .copy li:nth-of-type(1) img,
  footer .copy li:nth-of-type(2) img {
    margin-top: 7px;
    max-width: none;
    width: auto;
  }
    
  footer .copy p {
	display: inherit;
    text-align: right;
	line-height: normal;
	margin: 0 0 0 auto;
	width: 70%;
  }
  
}

/* totop */

#totop {
  display: none;
}

@media (min-width: 769px) {
  
  #totop {
    bottom: 30px;
    height: 60px;
    left: 0;
    margin: auto;
    position: fixed;
    right: 0;
    width: 60px;
    z-index: 10;
  }

  #totop a {
    display: block;
    height: 61px;
    margin-left: 630px;
    width: 61px;
  }

  #totop a img {
    transition: opacity .3s;
  }

  #totop a:hover img {
    opacity: .8;
    transition: opacity .3s;
  }
  
}

/* -------------------------
  2. top
------------------------- */

/* hero */

#top #hero {
  background: url(../img/2018/top/hero-bg@sp.jpg) 50% 40% no-repeat;
  background-size: cover;
  margin-bottom: 20px;
  padding-bottom: 180px;
}

#top #hero h1 {
  text-align: center;
}

#top #hero h1 span.pc {
  display: none;
}

#top #hero h1 span.sp {
  display: block;
}

#top #hero h1 span.sp {
  position: relative;
  padding-top: 90vw;
  margin-left: -5px;
  max-width: 100%;
  width: 92%;
}

#top #hero h1 span.sp img {
  position: absolute;
  top: 95vw;
  left: 5vw;
  right: auto;
  z-index: 999;
}

#top #hero .info {
  background: linear-gradient(to right, rgba(104, 107, 92, .8), rgba(55, 65, 64, .8));
  margin: 3px auto 0;
  padding: 10px 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 155vw;
  text-align: center;
  width: 80%;
}

#top #hero .info p {
  margin: 0 auto;
  width: 85%;
  text-align: center;
  max-width: 100%;
}

#top #hero .info p:nth-of-type(1) img {
  width: 80%;
}

#top #hero .info p.en:nth-of-type(1) img {
  margin: 11px 0 11px;
  max-width: 684px;
  width: 100%;
}

/*#top #hero .info p:nth-of-type(2) img {
  margin: 8px 0 11px;
  max-width: 596px;
  width: 100%;
}*/

#top #hero ul {
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 15px auto 0;
  width: 70%;
}

#top #hero li {
  text-align: center;
  width: 50%;
}

#top #hero li img {
  max-width: 100%;
}

#top #hero li:nth-of-type(2) img,
#top #hero li:nth-of-type(3) img {
  width: 83%;
}

#top #hero li:nth-of-type(3) {
  margin-top: 10px;
}

@media (min-width: 600px) {
  #top #hero {
    margin-bottom: 18vw;
  }

  #top #hero h1 span.sp {
    position: relative;
    padding-top: 90vw;
    margin: 0 auto;
    max-width: 100%;
    width: 60%;
  }

  #top #hero h1 span.sp img {
    position: absolute;
    margin: 0 auto;
    top: 97vw;
    left: 0;
    right: auto;
    z-index: 999;
  }

  #top #hero .info {
    background: linear-gradient(to right, rgba(104, 107, 92, .8), rgba(55, 65, 64, .8));
    margin: 3px auto 0;
    padding: 10px 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 138vw;
    text-align: center;
    width: 70%;
  }

  #top #content h2 {
    font: 32px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
    margin: 30vw 0 0 !important;
    text-align: center;
  }  

}

@media (min-width: 769px) {
  
  #top #hero {
    background: url(../img/2018/top/hero-bg@pc.jpg) no-repeat 50% 0;
    background-size: 100%;
    max-height: 47.5vw;
    padding-bottom: 0;
    margin-bottom: 0;
    width: 100%;
  }
  
  #top #hero > .inr {
    margin: 0 auto;
    padding-bottom: 50px;
    position: relative;
    width: 100%;
  }
  
  #top #hero h1 span.pc {
    display: block;
  }
  
  #top #hero h1 span.sp {
    display: none;
  }

  #top #hero h1 span img {
    margin: 15vw auto -0.5vw;
    max-width: 100%;
    width: 50%;
  }
  
  #top #hero h1 span img {
    max-width: auto;
    width: 25.80208vw;
    /*width: 645px;*/
  }
  
  #top #hero h1.en img {
    max-width: auto;
    width: 38.80208vw;
  }
  
  #top #content h2 {
    font: 32px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
    margin: 2vw 0 0 !important;
    text-align: center;
  }    
  
  #top #hero .info {
    margin-top: -3px;
    padding: 0;
    position: static;
    overflow: hidden;
    width: 40%;
  }

  #top #hero .info p {
    margin: 0 auto;
    width: 80%;
  }

  #top #hero .info p:nth-of-type(1) {
    margin: 20px auto 20px;
    text-align: center;
    /*width: 310px;*/
  }

  #top #hero .info p:nth-of-type(1) img {
    max-width: 310px;
    width: 75%;
  }
  /*     
  #top #hero .info p.en:nth-of-type(1) {
    margin: 10px auto;
    width: 684px;
  }
  
  #top #hero .info p:nth-of-type(3) {
    float: right;
    margin: 20px 15px 20px 0;
    width: 238px;
  }

  #top #hero .info p:nth-of-type(2) {
    margin: -49px 30px 20px auto;
    width: 495px;
  }
  
  #top #hero .info p:nth-of-type(2) img {
    margin: 0;
  }
  */

  #top #hero ul {
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 12px;
  }
  
  #top #hero li:nth-of-type(1) {
    margin: 0 0 0 8px;
    -webkit-order: 1;
    order: 1;
    width: 240px;
  }

  #top #hero li:nth-of-type(2) {
    margin: 0 0 0 22px;
    -webkit-order: 2;
    order: 2;
    width: 220px;
  }

  #top #hero li:nth-of-type(3) {
    margin: 0 0 0 27px;
    -webkit-order: 3;
    order: 3;
    width: 230px;
  }
  
  #top #hero li img {
    width: auto !important;
  }
  
}

/* news */

#top #news .wrap {
  height: 180px;
  margin: 26px auto 0;
  overflow: hidden;
  width: 90%;
}

#top #news a {
  color: #000;
}

#top #news .head .date ~ p {
  clear: both;
  line-height: 1.2;
  margin-top: -2px;
  padding-top: 9px;
}

#top #news .head ~ .head {
  margin-top: 12px;
}


@media (min-width: 769px) {
  
  #top #content > .inr {
    display: -webkit-flex;
    display: flex;
    flex-flow: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto;
    width: 1350px;
  }
  
  #top #news {
    -webkit-order: 2;
    order: 2;
    width: 1350px;
  }
  
  #top #news .wrap {
    height: 303px;
    margin-top: 12px;
    width: 1350px;
  }
  
  #top #news .head {
    padding-top: 4px;
  }

  #top #news .head .topics {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
    
  #top #news h2 {
    text-align: left;
  }
  
  #top #news .type {
    clear: both;
    height: 20px;
  }
  
  #top #news .date {
    float: left;
  }
  
  #top #news p:not([class]) {
    clear: none !important;
    float: right;
    line-height: 1.4 !important;
    margin: -2px 0 7px 20px !important;
    padding: 0 !important;
    width: 1050px;
  }
  
  #top #news a:hover {
    text-decoration: underline;
  }
}

/* twWidget*/

#top #twWidget {
  margin: 0 auto;
  max-width: 677px;
  width: 90%;
}

#top #twWidget h2 {
  background: linear-gradient(to right, #ff8726, #dc3522);
  border-bottom: 3px solid #dc3522;
  color: #fff;
  font-size: 14px;
  margin-top: 27px;
  padding: 17px 18px 16px;
  text-align: left;
}

#top #twWidget h2::before {
  display: none;
}

#top #twWidget .wrap {
  background: #2a2c2b;
}

@media (min-width: 769px) {
  
  #top #twWidget {
    margin: 0;
    -webkit-order: 1;
    order: 1;
    max-width: none;
    width: 400px;
  }
  
  #top #twWidget iframe {
    height: 296px !important;
    width: 400px !important;
  }
  
  #top #twWidget h2 {
    font-size: 16px;
    margin-top: 50px;
    padding: 22px 18px 21px;
  }
  
}

/* movie */

#top #movie {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}

#top #movie div {
  margin: 0 auto;
  width: 90%;
}

#top #movie h2 {
  background: linear-gradient(to right, #ff8726, #dc3522);
  border-bottom: 3px solid #dc3522;
  color: #fff;
  font-size: 14px;
  margin-top: 27px !important;
  padding: 17px 18px 16px;
  text-align: left;
}

#top #movie h2::before {
  display: none;
}
  
#top #movie iframe{
  height: 50vw;
  width: 100%;  
}

@media (min-width: 769px) {
  
  #top #movie {
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
  }

  #top #movie div:nth-child(n + 2) {
    margin-left: 15px;
  }
  
  #top #movie h2 {
    font-size: 16px;
    margin-top: 50px !important;
    padding: 22px 18px 21px;
  }

  #top #movie iframe{
    height: 247px;
    width: 440px;  
  }
  
}

/* gallery */

#top #gallery {
  margin-top: 30px;
}

#top #gallery .slick-dots {
  background: #f5f5f5;
  margin: 0;
}

#top #gallery .slick-dots li {
  background: #d9cb9e;
  border-radius: 50%;
  height: 8px;
  margin: 4px 4px 6px;
  width: 8px;
}

#top #gallery .slick-dots li.slick-active {
 background: #2a2c2b; 
}

#top #gallery .slick-dots li button {
  opacity: 0;
}

@media (min-width: 769px) {
  
  #top #gallery {
    margin-top: 50px;
  }
  
}

/* -------------------------
  3. news
------------------------- */

#news #content {
  background: url(../img/news/btm-bg.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#news h1 {
  background: url(../img/news/ttl-bg.jpg) no-repeat center top /cover;
}

#news #content > .inr > .inr > span {
  display: block;
  margin-top: -50px;
  padding-top: 50px;
}

#news .article {
  border-bottom: 4px solid #dbdbdb;
  margin: 20px auto 0;
  width: 90%;
}

#news .article ~ .article {
  margin-top: 30px;
}

#news .head {
  border-bottom: 1px solid #dbdbdb;
  padding-bottom: 9px;
}

#news .head .type {
  background: #374140;
  box-sizing: border-box;
  color: #fff;
  display: inline-block;
  float: left;
  font-size: 10px;
  padding: 2px;
  text-align: center;
  width: 78px;
}

#news .head .date {
  display: inline-block;
  font-family: "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin-left: 10px;
}

#news .head h2 {
  font-size: 18px;
  line-height: 1.2;
  margin: 8px 0 0;
  text-align: left;
}

#news .head h2 a {
  color: #000;
}

#news .txt {
  padding-bottom: 20px;
}

#news .txt p {
  line-height: 1.4;
}

#news .txt p:nth-of-type(1) {
  margin-top: 20px;
}

#news .txt p ~ p {
  margin-top: 15px;
}

#news .txt a:hover {
  text-decoration: underline;
}

#news #content nav ul {
  background: #d8d5c7;
  border: 0;
  border-top: 2px solid #1e1e20;
  display: flex;
  flex-wrap: wrap;
  height: auto;
  margin: 30px auto 0;
  width: 90%;
}

#news #content nav li a {
  color: #000;
  display: block;
  padding: 10px 13px;
}

#news div.prize {
  margin: 0 auto 3%;
  text-align: leftr;
  width: 90%;
}

#news div.prize h2 {
  background: #1e1e20;
  color: #fff;
  font-size: 1.2em;
  margin: 50px 0 35px;
  padding: 15px 0;
  text-align: center;
  width: 100%;
}
  
#news div.prize p {
  line-height: 140%;
}

@media (min-width: 690px) {
  
  #news #content {
    background-size: 100% auto;
  }
  
  #news div.prize {
   margin: 0 auto 3%;
   text-align: left;
   width: 1160px;
  }
}

#news div.jtb {
  color: #000;
  margin: 0 auto 3%;
  text-align: left;
  width: 90%;
}

#news div.jtb h2 {
  background: #1e1e20;
  color: #fff;
  font-size: 1.2em;
  margin: 50px 0 35px;
  padding: 15px 0;
  text-align: center;
  width: 100%;
}

#news div.jtb h3 {
  border: solid 2px;
  background: #fff;
  color: #555;
  font-size: 1.2em;
  margin: 50px 0 35px;
  padding: 15px 0;
  text-align: center;
  width: 100%;
}

#news div.jtb p {
  line-height: 160%;
}

#news div.jtb p.top {
  margin: 0 auto 3%;
  text-align: center;
}

#news div.jtb p.note {
  margin: 1% auto 0;
  text-align: center;
}

#news a.jtb-plan_btn {
  background: #0f73b1;
  border: 2px solid #0f73b1;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 3% auto;
  padding: 1em 0;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 80%;
}

#news a.entry_btn {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 3% auto;
  padding: 1em 0;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 80%;
}

@media (min-width: 690px) {
  
  #news div.jtb {
   margin: 0 auto 3%;
   text-align: center;
   width: 1160px;
  }

  #news a.jtb-plan_btn {
    margin: 3% auto 2%;
    width: 50%;
  }
  
  #news a.jtb-plan_btn:hover {
    background: #fff;
    color: #0f73b1;
  }

  #news a.entry_btn {
    margin: 0 auto;
    width: 50%;
  }
  
  #news a.entry_btn:hover {
    background: #fff;
    color: #dc3522;
  }
}




@media (min-width: 769px) {
  
  #news #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }
  
  #news #content > .inr {
    margin: 0 auto;
    overflow: hidden;
    width: 1160px;
  }
  
  #news #content > .inr > .inr {
    float: right;
    width: 900px;
  }
  
  #news #content > .inr > .inr > span {
    margin-top: -88px;
    padding-top: 88px;
  }
  
  #news .article {
    margin-top: 50px;
    width: auto;
  }
  
  #news .article ~ .article {
    margin-top: 60px;
  }
  
  #news .head .type {
    font-size: 11px;
    padding: 4px 4px 5px;
    width: 97px;
  }
  
  #news .head .date {
    font-size: 18px;
    margin: 1px 0 0 20px;
  }
  
  #news .head h2 {
    font-size: 26px;
    margin: 15px 0 8px;
  }
  
  #news .head h2 a:hover {
    text-decoration: underline;
  }
  
  #news .txt p:nth-of-type(1) {
    margin-top: 25px;
  }
  
  #news .txt {
    padding-bottom: 37px;
  }
  
  #news #content nav {
    float: left;
    width: 180px;
  }
  
  #news #content nav ul {
    display: block;
    margin-top: 50px;
    width: auto;
  }
  
  #news #content nav li ~ li {
    border-top: 2px solid #fff;
  }

  #news #content nav li {
    font: 20px/1 "Roboto Condensed", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin: 0;
  }
  
  #news #content nav li a {
    background: inherit;
    padding: 17px 20px 19px;
  }
  
  #news #content nav li a:hover {
    color: #dc3522;
  }
  
}









/* -------------------------
  4. about
------------------------- */

#about #content {
  background: url(../img/about/btm-bg.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#about #content h1 {
  background: url(../img/about/ttl-bg.jpg) no-repeat center top /cover;
}

@media (min-width: 690px) {
  
  #about #content {
    background-size: 100% auto;
  }
  
}

@media (min-width: 769px) {
  
  #about #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }

  #about #content .inr {
    margin: 0 auto;
    position: relative;
    width: 1160px;
  }
  
}

/* what */

#about .what p.txt {
  line-height: 2;
  margin: 20px auto 0;
  width: 90%;
}

#about #toushinsai {
  border-top: 2px solid #d7d9d9;
  margin: 20px auto 0;
  padding: 20px 0 0;
  width: 90%;
}

#about #toushinsai p {
  text-align: center;
}

#about #toushinsai dt {
  background: url(../img/icon-bar.png) no-repeat left center;
  font-size: 20px;
  font-weight: 700;
  margin: 25px 0 0;
  padding-left: 16px;
}

#about #toushinsai dd.txt {
  line-height: 1.6;
  margin: 20px 0;
}

@media (min-width: 769px) {

  #about .what p.txt {
    text-align: center;
    margin-top: 30px;
  }
  
  #about #toushinsai {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 50px auto 0;
    padding: 20px 95px;
    width: 970px;
  }
  
  #about #toushinsai p {
    margin-top: 10px;
  }
  
  #about #toushinsai dl {
    width: 500px;
  }
  
  #about #toushinsai dd.txt {
    margin: 30px auto;
  }
  
  #about #toushinsai dd p.bt {
    width: 250px;
  }

}


/* gamerule */

#about .gamerule .notice {
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  box-sizing: border-box;
  margin: 20px auto 0;
  padding: 16px 20px 20px;
  width: 90%;
}

#about .gamerule .notice p {
  line-height: 1.4;
}

#about .gamerule .notice .bt {
  margin-top: 12px;
}

#about .gamerule .notice .bt a {
  background-color: #fff;
}

/*#about .gamerule h3 {
  background: linear-gradient(to left, #374140, #686b5c);
  color: #fff;
  font-size: 22px;
  line-height: 2;
  margin-top: 40px;
  text-align: center;
}*/

#about .gamerule h3 {
    background: #1e1e20;
    color: #fff;
    font-size: 20px;
    margin: 30px 0 25px;
    padding: 15px 0;
    text-align: center;
    width: 100%;
}

#about .gamerule .outline {
  margin-top: 45px;
}

#about .gamerule .outline h3{
  margin-top: 0;
}

#about .gamerule .outline ul{
  margin: 0 auto;
  width: 90%;
}

#about .gamerule .outline li{
  font-size: 15px;
  line-height: 140%;
  list-style: disc;
  margin: 0 -0.3em 0 auto;
  width: 95%;
}

#about .gamerule .outline .caution{
  font-size: 12px;
}

#about .gamerule .outline li:not(:first-child){
  margin-top: 1em;
}

#about .gamerule .rule {
  margin: 50px auto 0;
  width: 90%;
}

#about .gamerule .rule .txt{
  font-size: 15px;
  line-height: 140%;
  margin-top: 15px;
  text-align: left;
  width: 100%;
}

#about .gamerule h3 + .rule {
  margin-top: -50px;
  padding-top: 70px
}

#about .gamerule p:nth-of-type(1) {
  text-align: center;
}

#about .gamerule #bbcf p:nth-of-type(1) img {
  max-width: 390px;
  width: 92%;
}

#about .gamerule #p4u2 p:nth-of-type(1) img {
  max-width: 335px;
  width: 80%;
}

#about .gamerule #bbtag p:nth-of-type(1) img {
  max-width: 335px;
  width: 80%;
}

#about .gamerule .rule div {
  margin: 20px 0 0;
}

#about .gamerule .rule h4 {
  background: url(../img/icon-bar.png) no-repeat left center;
  font-size: 20px;
  line-height: 1.2;
  padding: 0 0 0 24px;
}

#about .gamerule .rule dl {
  -webkit-align-items: stretch;
  align-items: stretch;
  border-bottom: 3px solid #d8d5c7;
  border-top: 4px solid #d8d5c7;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 10px;
}

#about .gamerule .rule dt ,
#about .gamerule .rule dd {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: 1px solid #d8d5c7;
  line-height: 1.4;
  min-height: 54px;
  height: auto;
}

#about .gamerule .rule dt {
  font-size: 12px;
  font-weight: 700;
  width: 26%;
}

#about .gamerule .rule dd {
  width: 74%;
}

#about .gamerule .rule dd ul {
  padding: 10px 0;
}

#about .gamerule .rule dd li {
  line-height: 1.4;
  margin-left: 10px;
  text-indent: -5px;
}

#about .gamerule .rule dd li ~ li {
  margin-top: 2px;
}

#about .gamerule .rule dd li::before {
  background: #000;
  content: "";
  display: inline-block;
  height: 6px;
  left: -5px;
  position: relative;
  top: -2px;
  width: 6px;
}

#about .gamerule .rule dd li p.list {
  font-size: 13px;
  line-height: 1.3;
  margin: 3px 0 0 1em;
  text-align: left;
  text-indent: -1em;
}

#about .gamerule .rule dd li p.list:last-of-type {
  margin-bottom: 6px;
}

#about .gamerule .rule .bt {
  margin-top: 15px;
}

@media (min-width: 769px) {
  
  #about .gamerule .notice {
    padding: 31px 0 32px 100px;
    position: relative;
    width: 920px;
  }
  
  #about .gamerule .notice p:nth-of-type(1) {
    text-align: left;
  }
  
  #about .gamerule .notice .bt {
    bottom: 0;
    margin: auto;
    position: absolute;
    right: 100px;
    top: 28px;
    width: 229px;
  }
  
  #about .gamerule h3 {
    font-size: 30px;
    margin-top: 70px;
  }

  #about .gamerule .outline ul{
    margin: 0 auto;
    width: 100%;
  }

  #about .gamerule .outline li{
    line-height: 140%;
    list-style: disc;
    margin: 0 -0.5em 0 auto;
    width: 97%;
  }
  
  #about .gamerule .rule {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 60px;
    position: relative;
    width: 1020px;
  }
  
  #about .gamerule h3 + .rule {
    margin-top: -88px;
    padding-top: 130px;
  }
  
  #about .gamerule .rule > p {
    text-align: center;
    width: 420px;
  }
  
  #about .gamerule #unist.rule p {
    margin-top: 52px;
  }
  
  #about .gamerule .rule div {
    margin-top: 0;
    width: 560px;
  }
  
  #about .gamerule .rule h4 {
    font-size: 28px;
  }
  
  #about .gamerule .rule dl {
    margin-top: 15px;
  }
  
  #about .gamerule .rule dt {
    font-size: 14px;
  }
  
  #about .gamerule .rule dd li {
    margin-left: 16px;
    text-indent: -6px;
  }
  
  #about .gamerule .rule dd li::before {
    left: -9px;
  }
  
  #about .gamerule .rule dd li p.list {
    font-size: 14px;
  }
  
  #about .gamerule .rule .bt {
    left: 0;
    position: absolute;
    width: 420px;
  }
  
  #about .gamerule #ggxrdr2 .bt:nth-of-type(1) {
    top: 255px;
  }
  
  #about .gamerule #ggxrdr2 .bt:nth-of-type(2) {
    top: 317px;
  }
  
  #about .gamerule #bbcf .bt:nth-of-type(1) {
    top: 255px;
  }
  
  #about .gamerule #bbcf .bt:nth-of-type(2) {
    top: 317px;
  }
  
  #about .gamerule #bbtag .bt:nth-of-type(1) {
    top: 255px;
  }
  
  #about .gamerule #bbtag .bt:nth-of-type(2) {
    top: 317px;
  }
  
  #about .gamerule #p4u2 .bt:nth-of-type(1) {
    top: 357px;
  }
  
  #about .gamerule #p4u2 .bt:nth-of-type(2) {
    top: 419px;
  }
  
  #about .gamerule #unist .bt:nth-of-type(1) {
    top: 142px;
  }
  
  #about .gamerule #unist .bt:nth-of-type(2) {
    top: 204px;
  }
  
}

/* event */

#about .event h3 {
  background: linear-gradient(to left, #374140, #686b5c);
  color: #fff;
  font-size: 22px;
  line-height: 2;
  margin-top: 40px;
  text-align: center;
}

#about .event .detail {
  margin: 50px auto 0;
  width: 90%;
}

#about .event h3 + .detail {
  margin-top: -50px;
  padding-top: 70px
}

#about .event p:nth-of-type(1) {
  text-align: center;
}

#about .event #tag > p:nth-of-type(1) img {
  max-width: 390px;
  width: 92%;
}

#about .event #tag .novelty {
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  box-sizing: border-box;
  margin-top: 20px;
  padding: 16px 20px 20px;
}

#about .event .novelty h5 {
  background: #1e1e20;
  color: #fff;
  display: inline-block;
  padding: 7px 11px;
}

#about .event .novelty .bt + h5 {
  margin-top: 20px;
}

#about .event .novelty p {
  font-size: 15px;
  margin-top: 10px !important;
}

#about .event .novelty a {
  transition: all .3s;
}

#about .event .novelty a:hover {
  opacity: .7;
}

#about .event .novelty .bt {
  margin-top: 10px;
}

#about .event #djmax p:nth-of-type(1) img {
  max-width: 110px;
}

#about .event .detail div {
  margin: 20px 0 0;
}

#about .event .detail h4 {
  background: url(../img/icon-bar.png) no-repeat left center;
  font-size: 20px;
  line-height: 1.2;
  padding: 0 0 0 24px;
}

#about .event .detail div p:not([class]) {
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  line-height: 1.4;
  min-height: 54px;
  text-align: left;
}

#about .event .detail .img {
  margin-top: 15px;
  text-align: center;
}

#about .event .detail .bt {
  margin-top: 25px;
}

#about .event .map {
  border-top: 2px solid #d7d9d9;
  margin: 40px auto 0;
  padding: 20px 0 0;
  width: 90%;
}

#about .event .map h4 {
  background: url(../img/icon-bar.png) no-repeat left center;
  font-size: 20px;
  font-weight: 700;
  margin: 25px 0 0;
  padding-left: 16px;
}

#about .event .map h4 + p {
  margin-top: 20px;
}

#about .event .notice {
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  box-sizing: border-box;
  margin-top: 40px;
  padding: 16px 20px 20px;
}

#about .event .notice p {
  line-height: 1.4;
  text-align: left;
}

@media (min-width: 769px) {
  
  #about .event h3 {
    font-size: 30px;
    margin-top: 70px;
  }
  
  #about .event .detail {
    border-bottom: 2px solid #d7d9d9;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 50px;
    padding-bottom: 50px;
    position: relative;
    width: 1020px;
  }
  
  #about .event h3 + .detail {
    margin-top: -88px;
    padding-top: 130px;
  }
  
  #about .event .detail > p {
    text-align: center;
    width: 420px;
  }
  
  #about .event .detail div {
    margin-top: 0;
    width: 560px;
  }
  
  #about .event .detail h4 {
    font-size: 28px;
  }
  
  #about .event .detail div p:not([class]) {
    margin-top: 15px;
  }
  
  #about .event .detail .img {
    margin-top: 25px;
  }
  
  #about .event .detail .bt {
    left: 0;
    position: absolute;
    width: 420px;
  }
  
  #about .event #tag .bt:nth-of-type(1) {
    top: 416px;
  }
  
  #about .event .novelty .bt {
    position: static;
    width: 300px;
  }
  
  #about .event .novelty .bt + h5 {
    margin-top: 30px;
  }
  
  #about .event #djmax .bt:nth-of-type(1) {
    top: 274px;
  }
  
  #about .event #zanzanzan .bt:nth-of-type(1) {
    top: 278px;
  }
  
  #about .event .map {
    border-top: 0;
    margin: 50px auto 0;
    width: 920px;
  }

  #about .event .map h4 {
    font-size: 28px;
    padding-left: 24px;
  }

  #about .event .map h4 + p {
    margin-top: 30px;
  }
  
  #about .event .notice {
    margin-top: 50px;
    padding: 31px 0 32px 100px;
    position: relative;
    width: 920px;
  }
  
}

#about .point .inr > h3 {
  background: linear-gradient(to left, #374140, #686b5c);
  color: #fff;
  font-size: 20px;
  line-height: 2;
  margin-top: 0 !important;
  text-align: center;
}

#about .point .inr .outline{
  margin-top: 20px;
}

#about .point .inr .outline div{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#about .point .inr .outline h3{
  margin-top: 0;
}

#about .point .inr .outline .txt{
  text-align: left;
}

#about .point .inr .outline div table{
  margin: 0 auto;
  width: 100%;
}

#about .point .inr .outline div tr{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 0 auto;
  width: 90%;
}

#about .point .inr .outline div tr:first-child{
  margin-bottom: 10px;
}

#about .point .inr .outline div tr:not(:first-child){
  margin-top: 10px;
}

#about .point .inr .outline div th{
  box-sizing: border-box;
  background: #dc3522;
  color: #FFF;
  display: inline-block;
  padding: 7px 11px;
  width: 58%;
}

#about .point .inr .outline div th:first-child{
  margin: 0;
  width: 40%;
}

#about .point .inr .outline div td{
  text-align: center;
  width: 58%;
}

#about .point .inr .outline div td:first-child{
  text-align: center;
  width: 40%;
}

#about .point .outline dl{
  display: block;
}

#about .point .inr .outline p,
#about .point .outline dd{
  line-height: 150%;
}

#about .point .inr .outline div tr.pc{
  display: none;
}

@media (min-width: 769px) {
  
  #about .point .inr > h3 {
    font-size: 30px;
    margin-top: 0;
  }

  #about .point .inr .outline div tr.pc{
    display: -webkit-flex;
    display: flex;
  }

  #about .point .inr .outline div tr{
    width: 100%;
  }

  #about .point .inr .outline{
    margin-top: 30px;
  }

  #about .point .inr .outline div table{
    margin: 0;
    width: 49%;
  }
}

#about .txt{
  line-height: 2;
  margin: 20px auto 0;
  width: 90%;
}
@media (min-width: 769px){
  #about .txt {
      text-align: center;
      margin-top: 30px;
  }
}

/* -------------------------
  5. schedule
------------------------- */

#schedule #content {
  background: url(../img/2017/schedule-btm-bg.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#schedule h1 {
  background: url(../img/2017/schedule-ttl-bg.jpg) no-repeat center top /cover;
}

#schedule a.cp_btn {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 3% auto 5%;
  padding: 1em 0;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 50%;
}

@media (min-width: 769px) {

  #schedule a.cp_btn {
    margin: 2% auto 3%;
    width: 20%;
  }
  
  #schedule a.cp_btn:hover {
    background: #fff;
    color: #dc3522;
  }

}

#schedule .gameList {
  margin: 0 auto;
  width: 90%;
}

#schedule .gameList li {
  font-size: 18px;
  text-align: center;
}

#schedule .gameList li ~ li {
  margin-top: 40px;
}

#schedule .gameList li > img {
  max-width: 100%;
}

#schedule .gameList li:nth-of-type(2) > img {
  max-width: 390px;
  width: 92%;
}

#schedule .gameList li:nth-of-type(3) > img {
  max-width: 335px;
  width: 80%;
}

#schedule .gameList h3 {
  margin-top: 15px;
}

#schedule .gameList .bt {
  margin: 10px auto 0;
  min-width: 260px;
  width: 60%;
}

#schedule table{
  display: block;
  margin: 0 auto;
  overflow: scroll;
  width: 90%;
}

#schedule table *:not(a) {
  border: 1px solid #d8d5c7;
}

#schedule th {
  border: 1px solid #515151 !important;
  background: #1e1e20;
  white-space: nowrap;
  color: #fff;
  padding: .5em;
  vertical-align: middle;
}

#schedule tr:nth-child(2) th {
  background: #6C6C6C;
}

#schedule td {
  padding: 1em;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
}

#schedule td small{
  border: none !important;
  font-size: 12px;
  display: block;
  line-height: 140%;
  text-align: left;
}

#schedule td span {
  border: 0;
  font-size: 8px;
  vertical-align: top;
}

#schedule p.notes {
  font-size: 13px;
  margin: 1em auto 0;
  line-height: 150%;
  width: 90%;
}


@media (min-width: 690px) {
  
  #schedule #content {
    background-size: 100% auto;
  }

  #schedule table{
    display: table;
    margin: 0 auto;
    overflow: visible;
    overflow-x: auto;
    max-width: 1160px;
  }

  #schedule td span {
    font-size: 5px;
  }

}

@media (min-width: 769px) {
  
  #schedule #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }
  
  #schedule .gameList {
    margin: 0 auto;
    width: 1160px;
  }
  
  #schedule .gameList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto;
    width: 912px;
  }
  
  #schedule .gameList li {
    width: 456px;
  }
  
  #schedule .gameList li ~ li {
    margin-top: 0;
  }
  
  #schedule .gameList li:nth-of-type(1) > img {
    width: 336px;
  }
  
  #schedule .gameList li:nth-of-type(2) > img {
    margin: 10px 0 7px;
    width: 312px;
  }
  
  #schedule .gameList li:nth-of-type(3) > img {
    margin-top: 40px;
    width: 278px;
  }
  
  #schedule .gameList li:nth-of-type(4) > img {
    margin-top: 83px;
    width: 364px;
  }
  
  #schedule .gameList h3 {
    font-size: 20px;
  }
  
  #schedule .gameList li:nth-of-type(4) h3 {
    margin-top: 55px;
  }
  
  #schedule .gameList .bt {
    margin-top: 19px;
  }
  
  #schedule .gameList .bt ~ .bt {
    margin-top: 10px;
  }
  
  #schedule .gameList li:nth-of-type(4) .bt {
    margin-top: 29px;
  }
  
  #schedule p.notes {
    font-size: 13px;
    margin: 1em auto 0;
    line-height: 150%;
    width: 1160px;
  }

}

/* prize */

#schedule #prize {
  border-top: 2px solid #d7d6cd;
  margin: 40px auto 0;
  width: 90%;
}

#schedule #prize h3 {
  background: url(../img/icon-bar.png) no-repeat 0 50%;
  font-size: 18px;
  margin-top: 40px;
  padding-left: 16px;
}

#schedule #prize p {
  margin-top: 10px;
}

#schedule #prize .img {
  margin-top: 15px;
  text-align: center;
}

#schedule #prize .img img {
  max-width: 100%;
  width: 70%;
}

#schedule #prize .txt p {
  line-height: 1.4;
}

#schedule #prize .notice {
  font-size: 12px;
}

@media (min-width: 769px) {
  
  #schedule #prize {
    height: 349px;
    margin: 50px auto 0;
    position: relative;
    width: 1160px;
  }
  
  #schedule #prize h3 {
    margin: 0;
    position: absolute;
    right: 150px;
    top: 120px;
    width: 343px;
  }
  
  #schedule #prize .img {
    height: 299px;
    left: 160px;
    margin: 0;
    position: absolute;
    top: 50px;
    width: 457px;
  }
  
  #schedule #prize .img img {
    max-width: none;
    width: auto;
  }
  
  #schedule #prize .txt {
    position: absolute;
    right: 160px;
    top: 144px;
    width: 343px;
  }
  
}

/* finals */

#finals .schedule,
#finals .schedule ~ p {
  text-align: center;
}

#finals .schedule {
  margin: 0 5%;
}

#finals .table {
  margin: 20px 5% 0;
}

@media (min-width: 769px) {
  
  #finals .schedule {
    margin: 0;
  }
  
  #finals a {
    transition: all .3s;
  }
  
  #finals a:hover {
    opacity: .7;
  }
  
}

/* -------------------------
  6. japan
------------------------- */

#japan #content {
  background: url(../img/2018/arcrevo-japan_bottom.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#japan h1 {
  background: url(../img/2018/arcrevo-japan_top.jpg) no-repeat center top /cover;
}

#japan div.tt {
  margin: 0 auto;
  text-align: center;
}

#japan div.tt p {
  line-height: 1.5em;
}

#japan div.tt p:nth-child(2) {
  margin: 0 auto;
  width: 80%;
}

#japan #outline,
#japan .outline {
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  padding: 4% 0 4%;
}

#japan .outline:nth-child(n+2) {
  margin-top: 5%;
}

#japan #outline h3,
#japan .outline h3 {
  background: #1e1e20;
  color: #fff;
  font-size: 16px;
  margin: 0 auto;
  padding: 2% 0;
  text-align: center;
  width: 90%;
}

#japan #outline p.detail,
#japan .outline p.detail {
  line-height: 1.4;
  margin: 3% auto 5%;
  width: 90%;
}

#japan #outline p.notes,
#japan .outline p.notes {
  margin: 5% auto 0;
  width: 90%;
}

#japan .outline dl {
  margin: 2% auto;
  width: 90%;
}

#japan .outline table {
  margin: 0 auto 2%;
  width: 90%;
}

#japan .outline table tr{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

#japan .outline table th{
  border-top: 1px solid #d8d5c7;
  border-bottom: 1px solid #d8d5c7;
  border-right: 1px solid #d8d5c7;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  background: #555;
  box-sizing: border-box;
  color: #fff;
  font-weight: normal;
  line-height: 140%;
  text-align: left;
  padding: .5em;
  width: 100%;
}

#japan .outline table td{
  border-top: 1px solid #d8d5c7;
  border-bottom: 1px solid #d8d5c7;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  background: #fff;
  box-sizing: border-box;
  line-height: 140%;
  padding: .5em;
  width: 100%;
}

#japan .outline dl + table + .caution{
  width: 90%;
  margin: 0 auto;
  margin-bottom: 1vw;
}

#japan .outline dl.region {
  margin: 0 auto;
  padding: 0;
}

#japan .outline dl.region dt {
  background: #555;
  color: #FFF;
  text-align: center;
}

#japan .outline dl.region dd {
  line-height: 1.5;
}

#japan .outline dl.region dd span {
  font-size: 12px;
}

#japan .outline dl.region dd p {
  line-height: 1.4;
  margin: 5px 0 -2%;
}

#japan .outline.guide table{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  overflow: scroll;
  margin-top: 10px;
  width: 90%;
}
#japan .outline.guide table tbody{
  overflow: scroll;
}

#japan .outline.guide table tr{
  vertical-align: middle;
  display: table-row;
}
#japan .outline.guide table th{
  vertical-align: middle;
  text-align: center;
  display: table-cell;
  width: auto;
}
#japan .outline.guide table td{
  vertical-align: middle;
  display: table-cell;
  border-right: 1px solid #d8d5c7; 
  width: auto !important;
}
#japan .outline.guide table tr:nth-child(1) th{
  height: auto;
}
#japan .outline.guide p{
  margin: 10px auto;
  line-height: 140%;
  width: 90%;  
}

#japan .outline dl:nth-child(n+2) {
  margin-top: 5%;
}

#japan .outline dt {
  background: #1e1e20;
  color: #FFF;
  margin-bottom: 10px;
  padding: 15px 11px;
}

#japan .outline dd {
  line-height: 1.4em;
  margin: 0 auto;
  padding: 0;
  width: 90%;
}

#japan .outline dd > dl{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-bottom: solid 1px #A6A396;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 2%;
  margin-bottom: 2%;
  width: 100% !important;
}
#japan .outline dd > dl:not(:nth-child(1)){
  margin-top: 0;
}
#japan .outline dd > dl:last-child{
  border-bottom: none;
}

#japan .outline dd > dl dt{
  background: none;
  color: #000;
  text-align: left;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  margin: 0;
}

#japan .outline dd > dl dd{
  margin: 0;
  width: 64%;
}
#japan .outline dd > dl dd small{
  font-size: 10px;
}
#japan .outline dd > dl dd span{
  font-size: 13px;
}

#japan .outline div ul.item-list {
  line-height: 140%;
  margin: 20px auto;
  width: 85%;
}

#japan .outline div.item + p{
  line-height: 140%;
  margin: 20px;
  font-size: 12px;
  width: 90%;
}
#japan .outline div.item .inr{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 10px auto 5px;
  width: 90%;
}
#japan .outline div.item .inr div{
  background: #dc3522;
  padding: 10px;
  width: 42%;
}
#japan .outline div.item .inr div:nth-child(n + 3){
  margin-top: 20px;
}
#japan .outline div.item img{
  width: 100%;
}
#japan .outline div.item a{
  color: #fff;
}
#japan .outline div.item p{
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-top: 1em;
  margin-bottom: 1em;
}
#japan .outline div.item dl{
  margin: 0;
  margin-top: .5em;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}
#japan .outline div.item dt{
  margin: 0;
  white-space: nowrap;
  text-align: center;
  padding: .5em;
  width: 32%;
}
#japan .outline div.item dd{
  margin: 0;
  width: 70%;
}

#japan .outline ul {
  margin: 3% auto;
  padding-left: 2%;
  width: 100%;
}

#japan #outline ul#terms,
#japan .outline ul#terms {
  list-style-type: disc;
  line-height: 1.4em;
  margin: 3% auto;
  padding-left: 2%;
  width: 82%;
}


#japan #outline dd li,
#japan .outline li {
  line-height: 140%;
  list-style-type: disc;
}

#japan .outline li:nth-child(even) {
  margin: 5px 0;
}

a.cp_btn {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 5% auto 0;
  padding: 1em 0;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 90%;
}

#japan div.tt a.cp_btn {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 0 auto 5%;
  padding: 1em 0;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: .4s;
}

a.tm_btn {
  background: #0f73b1;
  border: 2px solid #0f73b1;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 5% auto 0;
  padding: 1em 0;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 90%;
}

#japan div.tt a.tm_btn {
  background: #0f73b1;
  border: 2px solid #0f73b1;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 0 auto 5%;
  padding: 1em 0;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: .4s;
}

#japan #entry {
  margin-top: -30px;
  padding-top: 30px;
}

#japan #entry .outline {
  margin: 5% auto;
}
  
#japan #entry div.agreement {
  overflow: auto;
  height: 50vw;
  margin: 3vw auto 0;
  padding: 1.5vw 0.2vw;
  width: 85%;
}

#japan #entry div.agreement p {
  margin: 3vw 3vw 0 0;
  line-height: 1.5em;
}

#japan #entry p.wrap {
  display: block;
  padding-top: 3vw;
  border-top: 1px dashed #000;
}

@media (min-width: 769px) {

  #japan #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }

  #japan #outline {
    margin: 0 auto;
    padding: 28px 21px 20px;
    width: 700px;
  }
  
  #japan .outline {
    margin: 0 auto;
    padding: 28px 21px;
    width: 700px;
  }
  
  #japan #outline h3,
  #japan .outline h3 {
    background: #1e1e20;
    color: #fff;
    font-size: 16px;
    margin: 0 auto 4%;
    padding: 2% 0;
    text-align: center;
    width: 90%;
  }
  
  #japan .outline:nth-child(n+2) {
    margin-top: 3%;
  }
  
  #japan .outline p.detail {  
    line-height: 1.4;
    margin: 2% auto 4%;
    width: 90%;
  }
  
  #japan #outline p.notes,
  #japan .outline p.notes {
    margin: 2% auto 0;
    width: 90%;
  }
  
  #japan #outline dl,
  #japan .outline dl {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto 20px;
    padding: 0 28px;
    width: 602px !important;
  }
  
  #japan .outline div.item .inr{
    margin: -10px auto 5px;
    width: 90%;
  }

  #japan .outline div.item ul.item-list {
    margin: 0 auto 40px;
    width: 87%;
  }
  
  #japan .outline div.item .inr div {
    width: 45%;
  }
  #japan .outline div.item dd{
    margin: 0;
    width: 60%;
  }
  
  #japan .outline.guide dl{
    padding: 0;
    margin: 0;
    margin-bottom: 1%;
    width: 90% !important;
  }
  #japan .outline.guide table{
    margin-top: 0;
    margin-bottom: 15px;
    margin-left:  20px;
    width: calc(100% - 40px) !important;
  }  

  #japan .outline.guide table{
    display: block;
    overflow: inherit;
    padding: 0;
    margin: -10px auto 10px;
    width: 90% !important;
  }
  
  #japan .outline.guide p.txt{
    margin: -10px auto 0;
    line-height: 140%;
    width: 90%;
  }
  
  #japan .outline table{
    margin: -10px 0 0 69px;
    padding: 0 28px;
    width: 580px !important;
  }
  
  #japan .outline table + .caution{
    margin: 0 auto 20px;
    width: 563px !important;
    font-size: 13px;
  }
  
  #japan .outline table tr{
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  
  #japan .outline table th{
    height: 64px;
    width: 30%;
  }
  
  #japan .outline table td{
    width: 70%;
  }
  
  #japan .outline dl:nth-child(n+2) {
  margin-top: 1%;
  }
  
  #japan .outline dl.ali_c{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  
  #japan .outline dl dt {
    color: #FFF;
    margin: 0 20px 3px;
    padding: 15px 11px;
	text-align: center;
    width: 152px;
  }
  
  #japan .outline dd {
  	line-height: 1.4em;
    width: 530px;
  }

  #japan .outline dd.txt:nth-child(-n+3) {
	line-height: 3em;
  }

  #japan #outline ul,
  #japan .outline ul {
	margin: 0 auto;
	padding-left: 5%;
	list-style-type: disc;
	line-height: 1.4em;
	width: 95%;
  }
  
  #japan #outline ul#terms,
  #japan .outline ul#terms {
	margin: 0 auto;
	padding-left: 5%;
	list-style-type: disc;
	line-height: 1.4em;
	width: 85%;
  }

  #japan #outline dd li,
  #japan .outline li {
	line-height: 1.4em;
	list-style-type: disc;
	margin-top: 1%;
  }
  
  #japan .outline dd li:nth-child(even) {
	margin: 1% 0 1%;
  }
  
  a.cp_btn {
	background: #dc3522;
	border: 2px solid #dc3522;
	border-radius: 3px;
	color: #fff;
	display: block;
	font-weight: bold;
	margin: 3% auto 0;
	padding: 1em 1em;
	text-align: center;
	text-decoration: none;
	transition: .4s;
	width: 30%;
  }

  #japan div.tt a.cp_btn {
    background: #dc3522;
    border: 2px solid #dc3522;
    border-radius: 3px;
    color: #fff;
    display: block;
    font-weight: bold;
    margin: 0 auto 1%;
    padding: 1em 0;
    text-align: center;
    text-decoration: none;
    transition: .4s;
  }

  a.cp_btn:hover,
  #japan div.tt a.cp_btn:hover {
	background: #fff;
	color: #dc3522;
  }
  
  a.tm_btn {
    background: #0f73b1;
    border: 2px solid #0f73b1;
    border-radius: 3px;
    color: #fff;
    display: block;
    font-weight: bold;
    margin: 3% auto 0;
    padding: 1em 1em;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 30%;
    }

  #japan div.tt a.tm_btn {
    background: #0f73b1;
    border: 2px solid #0f73b1;
    border-radius: 3px;
    color: #fff;
    display: block;
    font-weight: bold;
    margin: 0 auto 3%;
    padding: 1em 0;
    text-align: center;
    text-decoration: none;
    transition: .4s;
  }

  a.tm_btn:hover,
  #japan div.tt a.tm_btn:hover {
	background: #fff;
	color: #0f73b1;
  }  
  
  #japan #entry {
	margin-top: -88px;
    padding-top: 88px;
  }

  #japan #entry .outline {
	margin: 3% auto;
  }
  
  #japan #entry div.agreement {
    overflow:auto;
	height: 18vw;
	margin: 0 auto;
	padding: 0.5vw;
	line-height: 1.5em;
	width: 602px !important;
  }

  #japan #entry div.agreement p {
	margin: 0;
	padding: 0;
  }
  
  #japan #entry div.agreement p.wrap {
    display: block;
	margin-top: 20px;
	padding-top: 20px;
    border-top: 1px dashed #000;
  }


}

/* -------------------------
  7. goods
------------------------- */

#goods #content {
  background: url(../img/2017/goods-btm-bg.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#goods h1 {
  background: url(../img/2017/goods-ttl-bg.jpg) no-repeat center top /cover;
}

#goods #content ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 20px auto 0;
}

#goods #content li {
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  box-sizing: border-box;
  margin: 10px 1% 0;
  width: 46%;
  max-width: 280px;
}

#goods #content li a {
  display: block;
  padding: 10px;
}

#goods #content li a p {
  color: #000;
}

#goods #content li .ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 11px;
}

#goods #content li .detail {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 10px;
}

#goods #content li .detail span {
  background: #000;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  margin: 2px 2px 0 0;
  padding: 3px 0;
  text-align: center;
  min-width: 43px;
}

#goods .notice {
  background: #d7d9d9;
  box-sizing: border-box;
  margin: 40px auto 0;
  padding: 16px 20px 20px;
  width: 90%;
}

#goods .notice p {
  line-height: 1.4;
  text-align: left;
}

#goods .map {
  border-top: 2px solid #d7d9d9;
  margin: 40px auto 0;
  padding: 20px 0 0;
  width: 90%;
}

#goods .map h2 {
  background: url(../img/icon-bar.png) no-repeat left center;
  font-size: 20px;
  font-weight: 700;
  margin: 25px 0 0;
  padding-left: 16px;
  text-align: left;
}

#goods .map h2 + p {
  margin-top: 20px;
}

@media (min-width: 690px) {
  
  #goods #content {
    background-size: 100% auto;
  }
  
}

@media (min-width: 769px) {
  
  #goods #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }
  
  #goods #content ul {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 920px;
  }
  
  #goods #content li {
    margin: 40px 0 0;
  }
  
  #goods #content li a {
    padding-bottom: 15px;
  }
  
  #goods #content li .img {
    height: 190px;
    overflow: hidden;
    width: 260px;
  }

  #goods #content li .img img {
    height: 190px;
    object-fit: cover;
    transition: transform .3s;
    width: 260px;
    font-family: 'object-fit: cover;' /* hack */
  }

  #goods #content li:hover .img img {
    transform: scale(1.1, 1.1);
  }
  
  #goods #content li .ttl,
  #goods #content li .detail {
    margin-left: 4px;
    margin-right: 4px;
  }
  
  #goods .notice {
    padding: 31px 0 32px 100px;
    width: 920px;
  }
  
  #goods .map {
    margin: 50px auto 0;
    width: 920px;
  }

  #goods .map h2 {
    font-size: 28px;
    padding-left: 24px;
  }

  #goods .map h2 + p {
    margin-top: 30px;
  }
  
}

/* -------------------------
  7. webcast
------------------------- */

#webcast #content {
  background: url(../img/2017/webcast-btm-bg.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#webcast h1 {
  background: url(../img/2017/webcast-ttl-bg.jpg) no-repeat center top /cover;
}

#webcast #content h2 {
  background: linear-gradient(to left, #374140, #686b5c);
  color: #fff;
  font-size: 22px;
  line-height: 2;
  margin-top: 40px;
  text-align: center;
}

#webcast .box {
  margin: 0 auto;
  width: 90%;
}

#webcast .box .lb {
  margin-top: 20px;
  text-align: center;
}

#webcast .arcnama.box .lb img {
  max-width: 80%;
}

#webcast .box .rb {
  margin-top: 20px;
}

#webcast .box .rb p {
  line-height: 1.4;
}

#webcast .box .rb p ~ p {
  margin-top: 15px;
}

#webcast .box a:hover {
  text-decoration: underline;
}

@media (min-width: 690px) {
  
  #webcast #content {
    background-size: 100% auto;
  }
  
}

@media (min-width: 769px) {
  
  #webcast #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }
  
  #webcast #content .inr {
    margin: 0 auto;
    position: relative;
    width: 1160px;
  }
  
  #webcast #content h2 {
    font-size: 30px;
    margin-top: 50px;
  }
  
  #webcast .box {
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 40px auto 0;
    width: 900px;
  }
  
  #webcast .box .lb {
    margin-top: 0;
    width: 400px;
  }

  #webcast .box .rb {
    margin-top: 0;
    width: 470px;
  }
  
  #webcast .box .rb p ~ p {
    margin-top: 20px;
  }
  
}

/* outline */

#about #outline,
#about .outline{
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  padding: 20px 0;
}

#about #outline h3,
#about .outline h3 {
  background: #1e1e20;
  color: #fff;
  font-size: 16px;
  margin: 5% auto;
  padding: 5%;
  text-align: center;
  width: 80%;
}

#about #outline p.detail,
#about .outline p.detail {
  line-height: 1.4;
  margin: 0 auto;
  width: 90%;
}

#about #outline dl,
#about .outline dl{
  border-bottom: 2px solid #FFF;
  margin: 0 auto 20px;
  padding-bottom: 20px;
  width: 90%;
}

#about #outline dl:last-child,
#about .outline dl:last-child {
  border-bottom: 0;
  margin: 20px auto 0;
  padding-bottom: 0;
  width: 90%;
}

#about #outline dt,
#about .outline dt {
  background: #1e1e20;
  color: #FFF;
  margin: 0 0 3px;
  padding: 15px 11px;
}

#about #outline dl.region dt,
#about .outline dl.region dt {
  background: #dc3522;
  color: #FFF;
}

#about #outline dl.region dd,
#about .outline dl.region dd {
  line-height: 1.4;
  padding: 7px 0;
}

#about #outline dl.region dd span,
#about .outline dl.region dd span {
  font-size: 13px;
}

#about #outline dl.region dd p,
#about .outline dl.region dd p {
  line-height: 1.4;
  margin: 5px 0 -2%;
}

#about #outline dd,
#about .outline dd {
  padding: 7px 0
}

#about #outline dd p,
#about .outline dd p {
  margin-bottom: 10px;
}

#about #outline dd p:last-child,
#about .outline dd p:last-child {
  margin-bottom: 0;
}

#about #outline dd .imp,
#about .outline dd .imp {
  font-size: 18px;
}

#about #outline dd .txt,
#about .outline dd .txt {
  font-size: 15px;
  line-height: 1.4;
}

#about #outline dd .notes,
#about .outline dd .notes {
  font-size: 11px;
}

#about #outline .bt a,
#about .outline .bt a {
  background-color: #FFF;
}

#about #outline .map dd,
#about .outline .map dd {
  margin-top: 5px;
}

@media (min-width: 769px) {

  #about #outline,
  #about .outline {
    margin: 0 auto;
    padding: 28px 21px 35px;
    width: 700px;
  }
  
  #about #outline h3,
  #about .outline h3 {
    background: #1e1e20;
    color: #fff;
    font-size: 20px;
    margin: 30px 0 25px;
    padding: 15px 0;
    text-align: center;
    width: 100%;
  }
  
  #about #outline p.detail,
  #about .outline p.detail {
  line-height: 1.8;
  margin: 0 auto;
  width: 100%;
  }
  
  #about #outline dl,
  #about .outline dl {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto 30px;
    padding: 0 48px 30px;
    width: 602px !important;
  }
  
  #about #outline dl.region,
  #about .outline dl.region  {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto 30px;
    padding: 0 28px 30px;
    width: 602px !important;
  }
  
  #about #outline dl:last-child, 
  #about .outline dl:last-child{
    margin: 0 auto;
    padding: 0 48px;
  }
    
  #about #outline dl.region dt,
  #about .outline dl.region dt {
    background: #dc3522;
    color: #FFF;
    margin: 0 20px 3px;
    padding: 15px 11px;
	text-align: center;
    width: 28%;
  }

  #about #outline dl.region dd,
  #about .outline dl.region dd {
	line-height: 1.4;
  }

  #about #outline dl.region dd p,
  #about .outline dl.region dd p {
	line-height: 1.4;
	margin: 5px 0 0 15px;
  }
  
  #about #outline dd,
  #about .outline dd {
    width: 530px;
  }
  
  #about #outline dd .imp,
  #about .outline dd .imp {
    font-size: 20px;
  }
  
  #about #outline dd .txt,
  #about .outline dd .txt {
    line-height: 1.4;
  }
  
  #about #outline dd .notes,
  #about .outline dd .notes {
    font-size: 14px;
  }
  
  #about #outline .bt,
  #about .outline .bt {
    width: 250px;
  }
  
  #about #outline .map,
  #about .outline .map {
    display: block;
  }
  
  #about #outline .map dt,
  #about .outline .map dt {
    display: inline-block;
  }
  
  #about #outline .map dd,
  #about .outline .map dd {
    width: 602px;
  }
  
  #about #outline .map dd a,
  #about .outline .map dd a {
    transition: all .3s;
  }
  
  #about #outline .map dd a:hover,
  #about .outline .map dd a:hover {
    opacity: .7;
  }
}

/* -------------------------
  8. result
------------------------- */

#result #content {
  background: url(../img/2017/result-btm-bg.jpg) no-repeat center bottom /auto 140px;
  background-size: 100% auto;
  padding: 0 0 30vw;
}

#result h1 {
  background: url(../img/2017/result-ttl-bg.jpg) no-repeat center top /cover;
}

#result #content p {
  margin: 15px auto 0;
  text-align: center;
  width: 90%;
}

#result .result_nav {
  margin: 5% auto 3%;
  width: 53vw;
}

#result .country_nav {
  margin: 0 auto 5%;
  width: 83vw;
}

#result .country_nav ul,
#result .result_nav ul {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: auto;
}

#result .result_nav li {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  height: 7vw;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 16vw;
}

#result .country_nav li {
  background: #0f73b1;
  border: 2px solid #0f73b1;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  height: 7vw;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 15vw;
}

#result .country_nav li span,
#result .result_nav li a {
  bottom: 0;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  height: 100%;
  left: 0;
  line-height: 7vw;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1; 
}

#result .country_nav li.na_btn span{
  bottom: 0;
  color: #fff;
  font-weight: bold;
  height: 100%;
  left: 0;
  line-height: 2.5vw;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1; 
}

#result #nav_sub {
  background: #fff;
  height: 30vw;
  padding: 3vw 0;
  position: -webkit-sticky;
  position: sticky;
  top: 40px;
  width: 100%;
  z-index: 999;
}

#result table{
  display: block;
  margin: 0 auto;
  overflow: auto;
  text-align: center;
  width: 90%;
}

#result table *:not(a) {
  border: 1px solid #d8d5c7;
}

#result th {
  border: 1px solid #515151 !important;
  background: #1e1e20;
  height: 11vw;
  white-space: nowrap;
  color: #fff;
  padding: .8em 1.1em;
  position: relative;
  vertical-align: middle;
  text-align: left;
  width: 100%;
}

#result th span img {
  height: 11vw;
  position: absolute;
  right: 1.1em;
  top: .8em;
  width: auto;
}

#result th span,
#result th span img {
  border: 0;
}

#result tr:nth-child(2) td {
  border: 1px solid #515151 !important;
  color: #fff;
  background: #6C6C6C;
}

#result td {
  padding: 1em;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
}

#result td small{
  border: none !important;
  font-size: 12px;
}

#result .result-box {
  margin: 50px auto 80px;
}

#result h3 {
  background: #dc3522;
  color: #fff;
  font-size: 25px;
  padding: 20px 0;
  margin: 0 auto 30px;
  text-align: center;
  width: 90%;
}

#result .result-box .main-box div {
  margin-bottom: 40px;
}

#result .result-box .main-box div .ttl_bb th,
#result .result-box .main-box div .ttl_gg th,
#result .result-box .main-box div .ttl_bbtag th {
  width: 600px;
}

#result #bb_result,
#result #rev2_result,
#result #tag_result {
  margin-top: -50px;
  padding-top: 50px;
}

#result #bb_result,
#result #rev2_result {
  margin-bottom: 5%;
}

@media (min-width: 600px) {

  #result .country_nav{
    margin: 0 auto 3%;
    width: 70vw;
  }
  
  #result .result_nav {
    margin: 5% auto 3%;
    width: 45vw;
  }
  
  #result .country_nav li{
    background: #0f73b1;
    border: 2px solid #0f73b1;
    border-radius: 3px;
    color: #fff;
    display: block;
	  font-size: 2vw;
    font-weight: bold;
    height: 6vw;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 13vw;
  }
  
  #result .result_nav li {
    background: #dc3522;
    border: 2px solid #dc3522;
    border-radius: 3px;
    color: #fff;
    display: block;
	  font-size: 2vw;
    font-weight: bold;
    height: 6vw;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 31%;
  }
  
  #result .country_nav li span{
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 6vw;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 1; 
  }
  
  #result .result_nav li a {
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 6vw;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 1; 
  }
  
  #result #nav_sub {
    background: #fff;
    height: 27vw;
    padding: 0.5vw 0;
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
    width: 100%;
    z-index: 999;
  }
  
  #result table{
    display: table;
    margin: 0 auto;
    overflow: visible;
    max-width: 1160px;
  }

  #result #bb_result,
  #result #rev2_result,
  #result #tag_result {
    margin-top: -35vw;
    padding-top: 35vw;
  }
  
}

@media (min-width: 769px) {
  
  #result #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }
  
  #result #content .inr {
    margin: 0 auto;
    position: relative;
    width: 1160px;
  }
  
  #result #content a {
    transition: all .3s;
  }
  
  #result #content a:hover {
    opacity: .7;
  }
    
  #result .result_nav {
    margin: 45px auto 1.5%;
    width: 600px;
  }
  
  #result .country_nav {
    margin: 0 auto 3%;
    width: 97vw;
  }
  
  #result .country_nav li{
    background: #0f73b1;
    border: 2px solid #0f73b1;
    border-radius: 3px;
    color: #fff;
    display: block;
  	font-size: 20px;
    font-weight: bold;
    height: 60px;
    position: relative;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    transition: .4s;
    width: 18.5%;
  }

  #result .result_nav li {
    background: #dc3522;
    border: 2px solid #dc3522;
    border-radius: 3px;
    color: #fff;
    display: block;
	  font-size: 20px;
    font-weight: bold;
    height: 60px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 31%;
  }

  #result .country_nav li span,
  #result .result_nav li a {
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 60px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 1; 
  }
  
  #result .country_nav li.na_btn span {
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 60px;
    position: absolute;
    right: 0;
    text-align: center;
    top: auto;
    width: 100%;
    z-index: 1;
  }
  
  #result .country_nav li span:hover {
    opacity: .7;
    transition: all .3s;
  }
  
  #result #nav_sub {
    background: #fff;
    height: auto;
    padding: 1vw 0;
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
    width: 100%;
    z-index: 999;
  }
  
  #result th {
    height: 4vw;
    padding: .8em 2.8em;
    position: relative;
    vertical-align: middle;
    width: 100%;
  }

  #result th span img {
    height: 4vw;
    position: absolute;
    right: 2.8em;
    top: .8em;
    width: auto;
  }

  #result th span,
  #result th span img {
    border: 0;
  }

  #result tr:nth-child(2) td {
    border: 1px solid #515151 !important;
    color: #fff;
    background: #6C6C6C;
  }

  #result td {
    padding: 1em;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
  }

  #result td small{
    border: none !important;
    font-size: 12px;
  }
  
  #result #bb_result,
  #result #rev2_result,
  #result #tag_result {
	  margin-top: -85px;
    padding-top: 85px;
  }

  #result #bb_result,
  #result #rev2_result {
	  margin-bottom: 5%;
  } 
  
}

@media (max-width: 1200px) {
  #result .qualifiers-box {
    width: 100%;
    max-width: 1160px;
  }
}


@media (min-width: 1200px) {

  #result .country_nav {
    margin: 25px auto 45px;
    width: 1014px;
  }
  
  #result .country_nav li{
    background: #0f73b1;
    border: 2px solid #0f73b1;
    border-radius: 3px;
    color: #fff;
    display: block;
  	font-size: 20px;
    font-weight: bold;
    height: 60px;
    line-height: 60px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 18.5%;
  }

  #result .country_nav li.na_btn span{
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 60px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 1; 
  }
  
  #result #nav_sub {
    background: #fff;
    height: auto;
    padding: 5px 0;
    position: -webkit-sticky;
    position: sticky;
    top: 88px;
    width: 100%;
    z-index: 999;
  }
  
  #result #bb_result,
  #result #rev2_result,
  #result #tag_result {
	  margin-top: -80px;
    padding-top: 80px;
  }
  
  #result .qualifiers-box {
    width: 100%;
    max-width: 1160px;
  }
  
}


/* -------------------------
  6. japan fin
------------------------- */

#jpfin .pc { display: none; }

#jpfin #content {
  background: url(../img/2018/arcrevo-japan_bottom.jpg) no-repeat center bottom /auto 140px;
  padding: 0 0 180px;
}

#jpfin h1 {
  background: url(../img/2018/arcrevo-japan_top.jpg) no-repeat center top /cover;
}

#jpfin a.entry_btn {
  background: #0f73b1;
  border: 2px solid #0f73b1;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 5% auto 10%;
  padding: 1em 0;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 80%;
}

#jpfin a.tt_btn {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 5% auto 10%;
  padding: 1em 0;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 80%;
}

#jpfin .try-ttl {
  background: #fff;
  margin: 5% auto;
  width: 90%;
}

#jpfin .outline.guide .map {
  height: auto;
  margin: 0 auto 40px;
  width: 90%;
}

#jpfin .outline.guide .company {
  background: #fff;
  margin: 0 auto;
  padding: 20px 0;
  width: 90%;
}

#jpfin .outline.guide .company ul {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

#jpfin .outline.guide .artist {
  background: #fff;
  margin: 0 auto;
  padding: 20px 0;
  width: 90%;
}

#jpfin .outline.guide .artist dl {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
}

#jpfin .outline.guide .artist dl:nth-child(n + 2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #eee;
}

#jpfin .outline.guide .artist dl dt {
  height: auto;
  width: 25% !important;
}

#jpfin .outline.guide .artist dl dt img {
  height: auto;
  width: 100%;
}

#jpfin .outline.guide .artist dl dd {
  font-size: 14px;
  line-height: 160%;  
  width: 65%;
}

#jpfin .outline.guide .artist dl dd strong {
  font-size: 17px;
}


#jpfin .outline.guide .try-ttl h4 {
  background: #444;
  color: #fff;
  margin: 0;
  margin-bottom: 1px;
  padding: 0;
  padding: 5% 0;
  text-align: center;
  width: 100%;
}

#jpfin .outline.guide .try-ttl dd {
  background: #fff;
}

#jpfin .outline.guide .try-ttl .work p {
  text-align: center;
  width: auto;
}

#jpfin .outline.guide .try-ttl .work p.txt {
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  padding: 30px 0;
}

#jpfin .outline.guide .try-ttl .work p.more {
  padding: 8% 0;
  text-align: right;
  width: 90%;
}

#jpfin .outline.guide .try-ttl .work {
  margin: 0 auto;
  width: 90%;
}
  
#jpfin .outline.guide .try-ttl .work:nth-child(n + 2) {
  border-top: solid 1px #eee;
  margin-top: 5vw;
}

#jpfin .outline.guide .try-ttl .work .logo {
  margin: 0 auto;
  width: 30vw;
}

#jpfin .side .gamerule {
  margin: 0 auto;
  width: 80%;
}

#jpfin .side h2 {
  background: #1e1e20;
  color: #fff;
  font-size: 20px;
  margin: 30px auto;
  padding: 3% 0;
  text-align: center;
  width: 90%;
}
  
#jpfin .side .gamerule .rule div {
  margin: 20px 0 0;
}

#jpfin .side .gamerule .rule h4 {
  background: url(../img/icon-bar.png) no-repeat left center;
  font-size: 20px;
  line-height: 1.2;
  padding: 0 0 0 24px;
}

#jpfin .side .gamerule .rule dl {
  -webkit-align-items: stretch;
  align-items: stretch;
  border-bottom: 3px solid #d8d5c7;
  border-top: 4px solid #d8d5c7;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 10px;
}

#jpfin .side .gamerule .rule dt ,
#jpfin .side .gamerule .rule dd {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: 1px solid #d8d5c7;
  line-height: 1.4;
  min-height: 54px;
  height: auto;
}

#jpfin .side .gamerule .rule dt {
  font-size: 12px;
  font-weight: 700;
  width: 45%;
}

#jpfin .side .gamerule .rule dd {
  width: 55%;
}

#jpfin .side .gamerule .rule dd.txt{
  border: 0;
  padding: 20px 0;
  line-height: 140%;
  width: 100%;
}

#jpfin .side .gamerule .rule dd ul {
  padding: 10px 0;
}

#jpfin .side .gamerule .rule dd li {
  line-height: 1.4;
  margin-left: 10px;
  text-indent: -5px;
}

#jpfin .side .gamerule .rule dd li ~ li {
  margin-top: 2px;
}

#jpfin .side .gamerule .rule dd li::before {
  background: #000;
  content: "";
  display: inline-block;
  height: 6px;
  left: -5px;
  position: relative;
  top: -2px;
  width: 6px;
}

#jpfin .side .gamerule .rule dd li p.list {
  font-size: 13px;
  line-height: 1.3;
  margin: 3px 0 0 1em;
  text-align: left;
  text-indent: -1em;
}

#jpfin .side .gamerule .rule dd li p.list:last-of-type {
  margin-bottom: 6px;
}

#jpfin .side .gamerule .rule div p.txt {
  margin-top: 10px;
  line-height: 160%;
}

#jpfin .side .gamerule .rule .bt {
  margin-top: 15px;
}

#jpfin .side .gamerule #kill {
  margin-top: 60px;
}

@media (min-width: 690px) {

  #jpfin #content {
    background-size: 100% auto;
  }

}

@media (min-width: 769px) {
  
  #jpfin .outline.guide .map {
    height: auto;
    margin: -30px auto 30px;
    width: 630px;
  }
  
  #jpfin .outline.guide .map small {
    display: block;
    line-height: 140%;
    margin: 10px auto 0;
    padding: 0;
    font-size: 14px;
    width: 100%;
}
  
  #jpfin .outline.guide .company {
    background: #fff;
    margin: -30px auto 0;
    padding: 20px 30px;
    width: 570px;
  }
  
  #jpfin .outline.guide .company ul {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  #jpfin .outline.guide .artist {
    margin: -30px auto 0;
  }
  
  #jpfin .outline.guide .artist dl {
    margin: 0 auto;
    padding: 0;
    width: 570px !important;
  }
  
  #jpfin .outline.guide .artist dl:nth-child(n + 2) {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
  }
  
  #jpfin .outline.guide .artist dl dt {
    height: auto;
    width: 15% !important;
  }
  
  #jpfin .outline.guide .artist dl dd {
    font-size: 14px;
    line-height: 160%;  
    width: 75%;
  }
  
  #jpfin .outline.guide .try-ttl h4 {
    padding: 3% 0;
  }
  
  #jpfin .outline.guide .try-ttl h4:nth-child(n + 2) {
    margin-top: 5%;
  }
  
  #jpfin .outline.guide .try-ttl h5 {
    text-align: center;
  }
  
  #jpfin .outline.guide .try-ttl .wrap:nth-child(n + 2) {
    padding-bottom: 0;
  }
  
  #jpfin .outline.guide .try-ttl .work {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 1%;
    width: 90%;
  }
  
  #jpfin .outline.guide .try-ttl .work:nth-child(n + 2) {
    border-top: solid 1px #eee;
    padding-top: 1%;
    margin-top: 0;
  }
  
  #jpfin .outline.guide .try-ttl .work p {
    text-align: left;
    width: auto;
  }
  
  #jpfin .outline.guide .try-ttl .work p.txt {
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    margin: 6% auto;
    padding: 0;
    width: auto;
  }
  
  #jpfin .outline.guide .try-ttl .work p.more {
    padding: 5% 0;
    text-align: right;
    width: 100%;
  }
  
  #jpfin .outline.guide .try-ttl .work .logo {
    margin: 0;
    margin-right: 20px;
    width: 8vw;
  }
  
  #jpfin .side .gamerule {
    margin: 0 auto;
    width: 980px;
  }
  
  #jpfin .side h2 {
    background: #1e1e20;
    color: #fff;
    font-size: 20px;
    margin: 60px auto 0;
    padding: 20px 0;
    text-align: center;
    width: 980px;
  }
  
  #jpfin .side .gamerule .rule {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 60px;
    position: relative;
    width: 980px;
  }
  
  #jpfin .side .gamerule h3 + .rule {
    margin-top: -88px;
    padding-top: 130px;
  }
  
  #jpfin .side .gamerule .rule > p {
    text-align: center;
    width: 380px;
  }
  
  #jpfin .side .gamerule #unist.rule p {
    margin-top: 52px;
  }
  
  #jpfin .side .gamerule .rule div {
    margin-top: 0;
    width: 560px;
  }
  
  #jpfin .side .gamerule .rule h4 {
    font-size: 28px;
  }
  
  #jpfin .side .gamerule .rule dl {
    margin-top: 15px;
  }
  
  #jpfin .side .gamerule .rule dt {
    font-size: 14px;
  }
  
  #jpfin .side .gamerule .rule dd li {
    margin-left: 16px;
    text-indent: -6px;
  }
  
  #jpfin .side .gamerule .rule dd li::before {
    left: -9px;
  }
  
  #jpfin .side .gamerule .rule dd li p.list {
    font-size: 14px;
  }
  
  #jpfin .side .gamerule .rule .bt {
    left: 0;
    position: absolute;
    width: 420px;
  }
  
  #jpfin .side .gamerule #uni .bt:nth-of-type(1) {
    top: 255px;
  }
  
  #jpfin .side .gamerule #uni .bt:nth-of-type(2) {
    top: 317px;
  }
  
  #jpfin .side .gamerule #kill {
    margin-top: 60px;
  }
  
  #jpfin .side .gamerule #kill .bt:nth-of-type(1) {
    top: 255px;
  }
  
  #jpfin .side .gamerule #kill .bt:nth-of-type(2) {
    top: 317px;
  }
  
}

#jpfin .outline.guide table {
  margin-bottom: 30px;
}


@media (min-width: 769px) {

  #jpfin a.entry_btn {
    margin: 5% auto 3%;
    width: 50%;
  }
  
  #jpfin a.entry_btn:hover {
    background: #fff;
    color: #0f73b1;
  }

  #jpfin a.tt_btn {
    margin: 0 auto 3%;
    width: 20%;
  }
  
  #jpfin a.tt_btn:hover {
    background: #fff;
    color: #dc3522;
  }
  
}

#jpfin .outline h3 {
  background: #1e1e20;
  color: #fff;
  font-size: 16px;
  margin: 8% auto 0;
  padding: 5% 0;
  text-align: center;
  width: 90%;
}

#jpfin div.tt {
  margin: 0 auto;
  text-align: center;
}

#jpfin .outline {
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  padding: 4% 0 4%;
}

#jpfin .outline dl {
  margin: 2% auto;
  line-height: 140%;
  width: 90%;
}

#jpfin .outline dt {
    background: #1e1e20;
    color: #FFF;
    margin-bottom: 10px;
    padding: 15px 11px;
}

#jpfin .outline dd {
    line-height: 1.4em;
    margin: 0 auto;
    padding: 0;
    width: 90%;
}

#jpfin .outline dd > dl{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-bottom: solid 1px #A6A396;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 2%;
  margin-bottom: 2%;
  width: 100% !important;
}
#jpfin .outline dd > dl:not(:nth-child(1)){
  margin-top: 0;
}
#jpfin .outline dd > dl:last-child{
  border-bottom: none;
}
#jpfin .outline dd > dl dt{
  background: none;
  color: #000;
  font-weight: bold;
  text-align: left;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  margin: 0;
  width: 50%;
}
#jpfin .outline dd > dl dd{
  margin: 0;
  width: 90%;
}
#jpfin .outline dd > dl dd small{
  font-size: 14px;
}
#jpfin .outline dd > dl dd span{
  font-size: 13px;
}

#jpfin .outline:nth-child(n+2) {
  /*margin-top: 5%;*/
}

#jpfin .outline div.rule {
  margin: 5% auto 8%;
}

#jpfin .outline div.rule p {
  margin: 0 auto 4%;
  line-height: 140%;
  width: 83%;
}

#jpfin .outline div.rule dl.region dt {
  background: #dc3522;
}

#jpfin .outline div.rule dl.region.bk dt {
  background: #555;
}

#jpfin .outline div.rule dl.region dd small {
  font-size: 12px;
}

@media (min-width: 769px) {
  
  #jpfin .pc { display: block; }
  
  #jpfin .outline {
    margin: 0 auto;
    padding: 28px 21px;
    width: 700px;
  }
  
  #jpfin .outline h3 {
    background: #1e1e20;
    color: #fff;
    font-size: 20px;
    margin: 30px auto;
    padding: 3% 0;
    text-align: center;
    width: 90%;
  }
  
  #jpfin .outline dl {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto 20px;
    padding: 0 28px;
    width: 602px !important;
  }
  
  #jpfin .outline dl dt {
    color: #FFF;
    margin: 0 20px 3px 10px;
    padding: 15px 11px;
	  text-align: center;
    line-height: 140%;
    width: 152px;
  }
  
  #jpfin .outline dd {
  	line-height: 1.4em;
    width: 530px;
  }

  #jpfin .outline dd.txt:nth-child(-n+3) {
  	line-height: 3em;
  }
  
  #jpfin .outline dd.txt1:nth-child(-n+3) {
    padding-top: 2%;
  }

  #jpfin .outline dd.txt2:nth-child(-n+3) {
    padding-top: 4.2%;
  }
  
  #jpfin .outline div.rule dl.region.bk dt {
    background: #555;
    width: 50%;
  }
  
  #jpfin .outline div.rule dl.region dd small {
    font-size: 14px;
  }
  
  #jpfin #content {
    background-size: auto 400px;
    padding: 0 0 464px;
  }
}

#jpfin .outline.guide .faq {
  padding: 10px 20px;
}

#jpfin .outline .faq dl,
#jpfin .outline.guide .faq dl {
  display: block;
  margin: 0;
  padding: 0;
  width: 100% !important;
}

#jpfin .outline .faq dt,
#jpfin .outline.guide dt,
#jpfin .outline .faq dd,
#jpfin .outline.guide .faq dd {
  background: none;
  color: #000;
  margin: 0;
  margin: auto;
  padding: 0;
  text-align: left;
  line-height: 160%;
  width: 95%;
}

#jpfin .outline.guide .faq dt {
  background: #1e1e20;
  color: #FFF;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 10px;
}

#jpfin .outline.guide .faq dd {
  margin: 0 auto 5vw;
}  

#jpfin .outline.guide .faq dd:last-child {
  margin: 0 auto;
}

#jpfin .outline .faq dd span {
  color: red;
  font-weight: bold;
}

@media (min-width: 769px) {

  #jpfin .outline.guide .faq {
    padding: 10px 0;
  }

  #jpfin .outline.guide .faq dd {
    margin: 0 auto 1.5vw;
  }  
  
}


/* ----- 招待選手紹介 -----*/

#jpfin .inr-box {
  margin: 0 auto;
  line-height: 160%;
  width: 100%;
}

#jpfin .inr-box .notes {
  font-size: 14px;
  margin: 2% auto 0;
  width: 90%;
}

#jpfin #bb_result,
#jpfin #rev2_result,
#jpfin #tag_result {
  margin-top: -50px;
  padding-top: 50px;
}

#jpfin #bb_result,
#jpfin #rev2_result {
  margin-bottom: 5%;
}

#jpfin .player_nav {
  margin: 5% auto 3%;
  width: 53vw;
}

#jpfin .player_nav ul {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: auto;
}

#jpfin .player_nav li {
  background: #dc3522;
  border: 2px solid #dc3522;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: bold;
  height: 7vw;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: .4s;
  width: 16vw;
}

#jpfin .player_nav li a {
  bottom: 0;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  height: 100%;
  left: 0;
  line-height: 7vw;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1; 
}

#jpfin .players h3 {
  border: 1px solid #515151 !important;
  background: #1e1e20;
  display: flex;
  align-items: center;
  justify-content: space-between;  
  height: 11vw;
  color: #fff;
  margin: 0 auto;
  padding: .8em 1.1em;
  position: relative;  
  text-align: left;
  white-space: nowrap;
  width: auto;
}

#jpfin .players h3 span img {
  height: 11vw;
  width: auto;
}

#jpfin .players h3 span,
#jpfin .players h3 span img {
  border: 0;
}

#jpfin .players .outline .movie {
  margin: 0 auto;
  position: relative;
  width: 90%;
  text-align: center;
  padding: calc(315 / 560 * 100%) 0 0;
}

#jpfin .players .outline .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#jpfin .players .player {
  border-bottom: 1px solid #aaa;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  margin-top: 30px;
  width: 95%;  
}

#jpfin .players .player:last-child {
  border: 0;
  padding-bottom: 0;
}

#jpfin .players .player figure {
  margin: 0 auto;
  padding: 0;
  width: 70%;
}

#jpfin .players .player figure img {
  height: auto;
  width: 100%;
}

#jpfin .players .player dl {
  display: flex;
  flex-wrap: wrap;
  height: auto;
  margin: 10px auto 30px;
  padding: 0;
  width: 95%;
}

#jpfin .players .player dt {
  background: #555;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  width: 100%;
}

#jpfin .players .player dd {
  margin: 0;
  padding: 0;
  width: 100%;
}

@media (min-width: 600px) {
  
  #jpfin .player_nav {
    margin: 5% auto 3%;
    width: 45vw;
  }

  #jpfin .player_nav li {
    background: #dc3522;
    border: 2px solid #dc3522;
    border-radius: 3px;
    color: #fff;
    display: block;
    font-size: 2vw;
    font-weight: bold;
    height: 6vw;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 31%;
  }
  
  #jpfin .player_nav li a {
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 6vw;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 1; 
  }
  
  #jpfin .players .player {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-bottom: 30px;
    width: 90%;
  }
  
  #jpfin .players .player figure {
    margin: 0;
    padding: 0;
    width: 35vw;
  }

  #jpfin .players .player figure img {
    height: auto;
    width: 100%;
  }

  #jpfin .players .player dl {
    align-self: flex-start;
    margin: 0;
    padding-left: 3vw;
    width: 100% !important;
  }

  #jpfin .players .player dt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: 35px;
    margin: 0;
    margin-bottom: 10px;
    padding: 0;
    padding: 5px 0 5px 15px;
    text-align: left;
  }
  
}

@media (min-width: 769px) {
  
  #jpfin .inr-box {
    margin: 0 auto;
    line-height: 160%;
    width: 750px;
  }
  
  #jpfin .inr-box .notes {
    font-size: 13px;
    margin: 30px auto 0;
    width: 100%;
  }
  
  #jpfin .players .outline .movie {
    margin: 0 auto;
    padding: calc(315 / 560 * 100%) 0 0;
    position: relative;
    text-align: center;
    width: 100%;
  }
  
  #jpfin #tag_result,
  #jpfin #rev2_result {
	  margin-bottom: 5%;
  }

  #jpfin .player_nav {
    margin: 45px auto 1.5%;
    width: 600px;
  }

  #jpfin .player_nav li {
    background: #dc3522;
    border: 2px solid #dc3522;
    border-radius: 3px;
    color: #fff;
    display: block;
	  font-size: 20px;
    font-weight: bold;
    height: 60px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s;
    width: 31%;
  }

  #jpfin .player_nav li a {
    bottom: 0;
    color: #fff;
    font-weight: bold;
    height: 100%;
    left: 0;
    line-height: 60px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 1; 
  }
  
  #jpfin .players h3 {
    height: 4vw;
    padding: .8em 2.8em;
    position: relative;
    vertical-align: middle;
    margin: 0 auto;
    width: 650px;
  }

  #jpfin .players h3 span img {
    height: 4vw;
    position: absolute;
    right: 2.8em;
    top: .8em;
    width: auto;
  }
  
  #jpfin .players h3 span,
  #jpfin .players h3 span img {
    border: 0;
  }
  
  #jpfin .players .player {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
  }
  
  #jpfin .players .player figure {
    margin: 0;
    padding: 0;
    width: 400px;
  }

  #jpfin .players .player figure img {
    height: auto;
    width: 100%;
  }

  #jpfin .players .player dl {
    display: flex;
    flex-wrap: wrap;
    height: auto;
    margin: 0;
    margin-left: 20px;
    padding: 0;
    width: 530px !important;
  }

  #jpfin .players .player dt {
    margin: 0;
    margin-bottom: 10px;
    font-size: 18px;
    height: 30px;
    padding: 0;
    padding: 5px 0 5px 15px;
    text-align: left;
    width: 100%;
  }

}

@media (min-width: 1200px) {
  
  #jpfin #bb_result,
  #jpfin #rev2_result,
  #jpfin #tag_result {
	  margin-top: -80px;
    padding-top: 80px;
  }
  
}

/* ----- 商品 -----*/

#jpfin div.item ul.item-list{
  margin: 10px auto 20px;
  width: 85%;
}

#jpfin div.item ul.item-list li{
  line-height: 160%;
  list-style-type: disc;
  margin-left: 20px;
}

#jpfin .outline div.item + p{
  line-height: 140%;
  margin: 20px auto;
  font-size: 12px;
  width: 90%;
}

#jpfin .outline div.item .inr{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 10px auto 5px;
  width: 90%;
}

#jpfin .outline div.item .inr div{
  background: #dc3522;
  padding: 10px 10px 20px;
  width: 42%;
}

#jpfin .outline div.item .inr div:nth-child(n + 3){
  margin-top: 20px;
}

#jpfin .outline div.item img{
  width: 100%;
}

#jpfin .outline div.item a{
  color: #fff;
}

#jpfin .outline div.item p{
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-top: 1em;
  margin-bottom: 1em;
}

#jpfin .outline div.item dl{
  margin: 0;
  margin: .5em auto 0;
  padding: 0;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 90% !important;
}

#jpfin .outline div.item dt{
  background: #1e1e20;
  color: #FFF;
  margin: 0;
  flex-wrap: nowrap;
  text-align: center;
  padding: .5em 0;
  width: 100%;
}

#jpfin .outline div.item dd{
  margin: 10px auto 0;
  width: auto;
}


@media (min-width: 769px) {
  
  #jpfin div.item .inr{
    margin: -10px auto 5px;
    width: 90%;
  }

  #jpfin div.item ul.item-list {
    margin: 0 auto 40px;
    width: 87%;
  }
  
  #jpfin div.item .inr div {
    width: 45%;
  }

  #jpfin div.item .inr dt {
    margin: 0;
    padding: 0;
    width: 32%;
  }
  
  #jpfin div.item .inr dd{
    margin: 0;
    width: auto;
  }
  
}

/* modal */
.modal {
  display: none;
  background: rgba(0, 0, 0, 0.4);
  color: #000;
  overflow-y: scroll;
  overflow-x: hidden;
  /*padding-right: 17px;*/
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 99999; }
  @media (min-width: 750px) {
    .modal {
      height: 100%; } }
  .modal > .modal_close {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }

.modal_wrap {
  display: inline-block;
  margin: 12vw 0 0;
  position: absolute;
  top: 10%;
  width: 100%;
  height: auto; }
  @media (min-width: 750px) {
    .modal_wrap {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      width: 90vw; } }

.modal .box {
  box-sizing: border-box;
  display: none;
  background: linear-gradient(to left, #d7d9d9, #d8d5c7);
  margin: 0 auto 0;
  padding: 4vw;
  width: 97.5vw; }
  @media (min-width: 750px) {
    .modal .box {
      padding: 30px;
      width: 100%; } }
  .modal .box h4 {
    font-size: 4.26667vw;
    margin-top: -.8em;
    padding-left: .8em;
    position: relative;
    pointer-events: none; }
    @media (min-width: 750px) {
      .modal .box h4 {
        font-size: 1.25vw;
        padding-left: 1em; } }
    .modal .box h4::before {
      background: #000;
      content: "";
      display: block;
      position: absolute;
      top: -.05em;
      left: 0em;
      height: 4.26667vw;
      width: 1.33333vw; }
      @media (min-width: 750px) {
        .modal .box h4::before {
          height: 1.25vw;
          width: 0.52083vw; } }
  .modal .box .caution {
    font-size: 2.13333vw;
    margin-top: 1.33333vw;
    pointer-events: none;
    line-height: 130%; }
    @media (min-width: 750px) {
      .modal .box .caution {
        font-size: 0.83333vw;
        margin-top: 0.52083vw; } }
  .modal .box figure.f1 {
    margin-top: -5vw;
    width: 68vw; }
    @media (min-width: 750px) {
      .modal .box figure.f1 {
        margin-top: 1.04167vw;
        width: 25.98958vw; } }
  .modal .box figure.f2 {
    position: relative;
    margin-top: -22vw;
    right: -8vw;
    width: 82vw; }
    @media (min-width: 750px) {
      .modal .box figure.f2 {
        right: -1vw;
        margin: -24.5vw 0 -.8vw auto;
        width: 33.28125vw; } }

.modal .box .modal_close {
  width: auto;
  text-align: right;
  margin-bottom: 30px;
  font-size: 16px;
  transition: all .4s; }
  @media (min-width: 750px) {
    .modal .box .modal_close {
      } }

.modal .modal_close:hover {
  opacity: .4;
  cursor: pointer;
}

/* 追加 */

.modal #table_switch{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 0 auto;
  width: 90%;
}

.modal h3{
  background: #1e1e20;
  box-sizing: border-box;
  color: #fff;
  font-size: 16px;
  padding: 2%;
  margin: 0 auto 20px;
  line-height: 140%;
  text-align: center;
  width: 90%;
}

.modal #table_switch h3{
  background: #6C6C6C;
  border-radius: 10px 10px 0 0;
  box-sizing: border-box;
  color: #fff;
  font-size: 16px;
  margin: 0;
  padding: 1.5%;
  cursor: pointer;
  line-height: 140%;
  text-align: center;
  width: 49.5%;
}

.modal #table_switch h3.active{
  background: #dc3522;
}

.modal #main_table02,
.modal #time_table02{
  display: none;
}

.modal .table_wrap,
.table_cont {
  margin: 0 auto;
  width: 90%;
}

.modal table{
  margin: 0 auto;
  background: #fff;
  color: #000;
  table-layout: fixed;
  display: block;
  overflow: scroll;
  position: relative;
  height: 400px;
  width: 100%;
  z-index: 1;
}
.table_cont .table_wrap table{
  margin: 0 auto;
  background: #fff;
  color: #000;
  table-layout: fixed;
  display: block;
  overflow: scroll;
  position: relative;
  width: 100%;
  z-index: 1;
}
.modal table *,
.table_cont .table_wrap table *{
  font-size: 12px;
}
.modal .table_wrap,
.table_cont .table_wrap{
  overflow: hidden;
  position: relative;
}
.modal table.time,
.table_cont .table_wrap table.time{
  background: none;
  position: absolute;
  top: 0;
  overflow: auto;
  left: 0;
  pointer-events: none;
  z-index: 2;
}
.modal table.time thead{
  display: block;
  overflow-x: scroll;
  width: 65px;
}
.modal table.time thead th{
  border-bottom: none;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  height: 64px;
  width: 61px !important;
}
.modal table thead th:nth-child(1){
  height: 74px;
}
.modal tbody{
  display: block;
  overflow: auto;
  width: 2500px;
}
.modal tbody.modal02{
  display: block;
  overflow: auto;
  width: 100%;
  min-width: 900px;
}
.modal #main_table02 tbody{
  width: 2500px;
}
.modal #main_table02 tbody.modal02{
  display: block;
  overflow: auto;
  width: 100%;
  min-width: auto;
}
.modal table tbody tr:nth-child(n+3) th{
  box-sizing: border-box;
  height: 64px;
  width: 50px;
}
.modal table tr:nth-child(1) th:nth-child(1){
  height: 74px;
  width: 50px;
}
.modal table tbody tr:nth-child(1) th:nth-child(2),
.modal table tbody tr:nth-child(1) td:nth-child(2){
  padding-left: 1em;
}
.modal table tr:nth-child(1) th:nth-child(2),
.modal table tr:nth-child(1) th:nth-child(3),
.modal table tr:nth-child(1) th:nth-child(4){
  width: 300px;
}
.modal table tbody.modal02 tr:nth-child(1) th:nth-child(2),
.modal table tbody.modal02 tr:nth-child(1) th:nth-child(4){
  width: 60%;
}
.modal #main_table02 tbody.modal02 tr:nth-child(1) th:nth-child(2),
.modal #main_table02 tbody.modal02 tr:nth-child(1) th:nth-child(4){
  width: 100%;
}
.modal table tbody.modal02 tr:nth-child(1) th:nth-child(3){
  width: 40%;
}
.modal table tr:nth-child(2) th{
  background: #777;
  width: 165px;
}
.modal table th{
  vertical-align: middle;
  text-align: center;
  display: table-cell;
  width: auto;
  border-top: 1px solid #d8d5c7;
  border-bottom: 1px solid #d8d5c7;
  border-right: 1px solid #d8d5c7;
  background: #555;
  box-sizing: border-box;
  color: #fff;
  font-weight: normal;
  line-height: 140%;
  padding: .5em;
}
.modal table td{    
  vertical-align: middle;
  display: table-cell;
  border-right: 1px solid #d8d5c7;
  width: auto !important;
  border-top: 1px solid #d8d5c7;
  border-bottom: 1px solid #d8d5c7;
  background: #fff;
  box-sizing: border-box;
  text-align: center;
  line-height: 140%;
  padding: .5em;
}
.modal table tr:nth-child(even) td,
.table_cont .table_wrap table tr:nth-child(even) td{
  background: #F0F0F0;
}

.table_cont .table_wrap tbody{
  display: block;
  overflow: auto;
  width: 500px;
}
.table_cont .table_wrap table.time thead {
  display: block;
  width: 44px;
}
.table_cont .table_wrap table.time thead th{
  border-bottom: none;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  height: 36px;
  width: 47px !important;
}
.table_cont .table_wrap table.time thead th:nth-child(1){
  height: 131px;
}
.table_cont .table_wrap table th{
  vertical-align: middle;
  text-align: center;
  display: table-cell;
  height: 30px;
  width: auto;
  border-top: 1px solid #d8d5c7;
  border-bottom: 1px solid #d8d5c7;
  border-right: 1px solid #d8d5c7;
  background: #555;
  box-sizing: border-box;
  color: #fff;
  font-weight: normal;
  line-height: 23px;
  padding: .5em;
}
.table_cont .table_wrap table th{
  width: 293px;
}
.table_cont .table_wrap table td{    
  vertical-align: middle;
  display: table-cell;
  border-right: 1px solid #d8d5c7;
  width: auto !important;
  border: 1px solid #d8d5c7;
  background: #fff;
  box-sizing: border-box;
  text-align: center;
  line-height: 23px;
  height: 36px;
  padding: .5em;
}
.table_cont .table_wrap table td:nth-child(1) {
  width: 43px !important;
}
.table_cont .table_wrap table td.event-hall {
  height: 50px !important;
}
.table_cont .table_wrap table td.event-tw {
  height: 30px;
  width: 152px !important;
}




@media (min-width: 769px){

  .modal h3{
    background: #1e1e20;
    color: #fff;
    font-size: 16px;
    margin: 0 auto 2%;
    padding: 2% 0;
    text-align: center;
    width: 49.5%;
  }
  .modal #table_switch h3{
    color: #fff;
    font-size: 16px;
    padding: 1% 0;
    text-align: center;
    width: 49.5%;
  }
  .modal table{
    height: 600px;
  }
  
  .table_cont .table_wrap tbody{
    display: block;    
    overflow: auto;
    margin: 0 auto;
    width: 630px;
  }
  .table_cont {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin: -30px auto 0;
    text-align: center;
  }
  .table_cont .table_wrap table{
    margin: 0 auto;
    background: #fff;
    color: #000;
    table-layout: fixed;
    display: block;
    overflow: auto;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 1;
  }
  .table_cont .table_wrap table.time thead {
    display: block;
    width: 45px !important;
  }
  .table_cont .table_wrap table.time thead th{
    border-bottom: none;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 23px;
    height: 36px;
    width: 47px !important;
  }
  .table_cont .table_wrap table td {
    height: 30px;
  }
  
}