@charset "utf-8";
/*====================
* 共通
====================*/
#wrap {
  font-family: 'Noto Sans JP', sans-serif;
}
nav {
  width: 100%;
  background-color: #322828;
  position: fixed;
  top: 0;
  z-index: 999;
}
nav ul {
  display: flex;
  justify-content: right;
}
nav li {
  width: 10em;
  text-align: center;
}
nav a {
  color: #fff;
  padding: 0.5em;
  display: block;
  text-decoration: none;
}
nav a:hover {
  opacity: 0.75;
  text-decoration: underline;
}
.bg {
  /*
  background-image: url("../img/bg.png");
  background-position: top -30px center;
  background-repeat: repeat-y;
  */
  /* background-attachment: fixed; */
  /* padding: 60px 0 0; */
}
section {
  padding: 150px 0;
}
section:nth-of-type(2n) {
  background-color: #000000;
}
section.top {
  background-image: url("../img/header_bg.jpg");
  background-size: cover;
  background-position: top center;
  padding: 90px 0;
  text-align: center;
  font-style: italic;
  margin: 0 0 -5px;
}
.title {
  font-size: 180px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-right: 0.1em;
  margin: 0 0 60px;
}
.date {
  font-size: 72px;
  font-weight: 400;
  margin: 0 0 30px;
}
.venue {
  background-color: #000000;
  color: #ffffff;
  border-radius: 100vh;
  font-size: 36px;
  display: inline-block;
  padding: 1em 2em;
}
.venue span {
  font-size: 21px;
}
.up-info {
  margin: 90px 0 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.5em;
  color: #ffffff;
  padding: 0.5em 0;
}
.up-info span:nth-of-type(2) {
  font-size: 24px;
}
.up-info.marker-text.isActive::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  /* transform: translateX(-50%); */
  width: 0%;
  height: 100%;
  transition: all 0.5s;
  /* background: #8fdc00; */
  background: rgba(143,220,0,0.75);
  z-index: 0;
}
.up-info.marker-text.isActive::after {
  width: 100%;
}
.up-info.marker-text {
  position: relative;
}

.info_area {
  margin: 90px 0 0;
  font-size: 24px;
  line-height: 1.75em;
  color: #ffffff;
  padding: 1em 0;
  font-weight: 500;
}
.info_area.marker-text.isActive::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 100%;
  transition: all 0.5s;
  background: rgba(255,0,0,0.5);
  z-index: 0;
}
.info_area.marker-text.isActive::after {
  width: 100%;
}
.info_area.marker-text {
  position: relative;
}

.img_box {
  /*
  width: 960px;
  margin: 0 auto;
  */
  text-align: center;
}
.img_box img {
  /* width: 960px; */
  width: 780px;
}
.txt_box {
  text-align: center;
  font-size: 30px;
  line-height: 2em;
}
section:nth-of-type(2n) .txt_box p {
  color: #ffffff;
}
.txt_box .rollAnime.roll span {
  transition-property: opacity,transform;
  transform: rotateY(360deg);
  transition: all .8s cubic-bezier(.77,0,.175,1);
  transition-timing-function: cubic-bezier(.77,0,.175,1);
  display: inline-block;
}
.txt_box .rollAnime {
  color: #000000 !important;
}
.txt_box .rollAnime.roll {
  color: #ffffff !important;
}
.txt_box .rollAnime.roll span:nth-of-type(5),
.txt_box .rollAnime.roll span:nth-of-type(11),
.txt_box .rollAnime.roll span:nth-of-type(12),
.txt_box .rollAnime.roll span:nth-of-type(13) {
  color: #ff0000 !important;
}
/*
.txt_box .rollAnime.roll span:nth-of-type(6),
.txt_box .rollAnime.roll span:nth-of-type(7),
.txt_box .rollAnime.roll span:nth-of-type(8),
.txt_box .rollAnime.roll span:nth-of-type(9),
.txt_box .rollAnime.roll span:nth-of-type(10),
.txt_box .rollAnime.roll span:nth-of-type(11),
.txt_box .rollAnime.roll span:nth-of-type(12),
.txt_box .rollAnime.roll span:nth-of-type(13),
.txt_box .rollAnime.roll span:nth-of-type(14) {
  font-size: 48px;
}
*/
.arata {
  color: #ff0000;
}
.txt_box .headline,
.txt_box .bottomline {
  position: relative;
  font-size: 48px;
  font-weight: 600;
  padding: 0 0.5em;
  display: inline-block;
}
.txt_box .headline:after,
.txt_box .bottomline:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -0.2em;
  transform: translateX(-50%);
  width: 0%;
  height: 4px;
  transition: all 0.5s;
}
#about .txt_box .headline:after {
  background: #007aff;
}
#about .bottomline:after {
  background: #007aff;
}
#contents .txt_box .headline:after {
  background: #2a72b0;
}
#contents .bottomline:after {
  background: #2a72b0;
}
#partners .txt_box .headline:after {
  background: #4e9c92;
}
#partners .bottomline:after {
  background: #4e9c92;
}
.txt_box .headline.isActive:after,
.txt_box .bottomline.isActive:after {
  width: 100%;
}
.marker-text {
  position: relative;
}

.marker-text span {
  position: relative;
  z-index: 2;
}
.marker-text:after {
  content: '';
  position: absolute;
  left: 0;
  width: 0%;
  background: #007aff;
  z-index: 1;
  transition: all 0.5s;
}
#about .marker-text:after {
  background: #007aff;
  bottom: 0;
  height: 0.25em;
}
#contents .marker-text:after {
  background: #2a72b0;
  bottom: 0;
  height: 100%;
}
/*
.txt_box .about li.marker-text:nth-of-type(odd):after {
  background: rgba(0, 163, 172, .5);
}
.txt_box .about li.marker-text:nth-of-type(even):after {
  background: rgba(234, 85, 20, .5);
}
*/
.marker-text.isActive:after {
  width: 100%;
}

.txt_box .bigger {
  font-size: 60px;
  font-weight: 600;
  margin: 0.5em 0;
  display: inline-block;
}
.txt_box .org {
  color: #ea5514;
}
.txt_box .grn {
  color: #00a3ac;
}
.txt_box .sm {
  font-size: 21px;
  color: #ea5514;
}
.txt_box .about {
  display: inline-block;
  text-align: left;
  margin: 60px 0;
  font-size: 30px;
  color: #ffffff;
}
.txt_box .about li {
  padding: 0 0.5em;
  margin: 0 0 1em;
  color: #000000;
  font-weight: 500;
}
#contents .txt_box .about li {
  color: #ffffff;
  margin: 60px 0 0;
  padding: 0 0.25em;
}
.exhibit {
  margin: 60px auto 0;
  font-size: 24px;
  width: 1200px;
}
.exhibit table {
  width: 1200px;
  margin: 30px auto 0;
  font-size: 18px;
  background: #1a1a1a;
  color: #000000;
}
.exhibit table th {
  padding: 0.5em;
  vertical-align: middle;
  text-align: center;
  line-height: 1.75em;
  font-size: 24px;
}
.exhibit table td {
  padding: 0.5em;
  vertical-align: middle;
  text-align: center;
}
.exhibit table td {
  border-top: 1px dotted #ffffff;
}
.exhibit table td:first-child {
  text-align: left;
  padding: 0.5em 1em;
  border-top: 1px solid #ffffff;
  color: #ffffff;
  line-height: 1.75em;
}
.exhibit table th:first-child {
  color: #ffffff;
  font-size: 30px;
}
.exhibit table th:nth-of-type(2),
.exhibit table td:nth-of-type(2) {
  background: #a66cff;
}
.exhibit table th:nth-of-type(3),
.exhibit table td:nth-of-type(3) {
  background: #9c9efe;
}
.exhibit table th:nth-of-type(4),
.exhibit table td:nth-of-type(4) {
  background: #afb4ff;
}
.exhibit table th:nth-of-type(5),
.exhibit table td:nth-of-type(5) {
  background: #b1e1ff;
}
.exhibit .note {
  text-align: left;
  font-size: 16px;
  line-height: 1.75em;
  margin: 15px 0 0;
}
.pdf_links {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin: 60px 0 0;
}
.pdf_links p {
  /* width: 18em; */
  font-size: 21px;
}
/*== ボタン共通設定 */
.pdf_links p a.btn{
  width: 16em;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: block;
  background: #000000;
  border: 2px solid #000000;
  padding: 0.25em 1em;
  text-align: center;
  outline: none;
  border-radius: 100vh;
  transition: ease .2s;
}

.pdf_links p a.btn span {
  position: relative;
  z-index: 3;
  color: #ffffff;
}
/*
.pdf_links p a.btn:hover{
  border: 1px solid #8fdc00;
}
*/
.pdf_links p a.btn:hover span{
  color: #000000;
  font-weight: 500;
}

.pdf_links p a.bgskew::before {
  content: '';
  position: absolute;
  top: 0;
  left: -130%;
  background: #8fdc00;
  width: 120%;
  height: 100%;
  /* transform: skewX(-25deg); */
  transform: skewX(45deg);
}

.pdf_links p a.bgskew:hover::before {
  animation: skewanime .5s forwards;
}

.add_info {
  margin: 90px 0 0;
  font-size: 24px;
  line-height: 1.75em;
  font-weight: 500;
}

@keyframes skewanime {
  100% {
    left: -10%;
  }
}

#access .txt_box .headline:after {
  background: #007aff;
}
.week {
  writing-mode: vertical-rl;
  /* text-orientation: upright; */
  font-size: 18px;
  vertical-align: middle;
  width: 2.5em;
  display: inline-block;
}
.detail {
  margin: 60px 0 0;
  font-size: 36px;
}
.detail .dt,
.detail .pl {
  font-weight: 500;
}
.detail .ad {
  font-size: 30px;
}
.detail .gm {
  margin: 30px 0 0;
}
.detail .gm iframe {
  width: 100%;
  aspect-ratio: 4/1;
}
#organizer {
  color: #ffffff;
}
#organizer .txt_box .headline:after {
  background: #2a72b0;
}
#organizer .txt_box .bottomline:after {
  background: #4e9c92;
}
.txt_box dl {
  width: 1080px;
  margin: 0 auto;
}
.txt_box dl:nth-of-type(2) {
  margin: 60px auto 0;
}
.txt_box dt {
  font-size: 30px;
  margin: 0 0 1em;
}
.txt_box dd {
  font-size: 24px;
}
.txt_box dd:nth-of-type(1) {
  font-size: 30px;
  font-weight: 500;
  position: relative;
  margin: 0 0 15px;
  padding: 0 0 15px;
}
.txt_box dl:nth-of-type(1) dd:nth-of-type(1)::after {
  content: '';
  background: #ffffff;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  height: 2px;
  transition: all 0.5s;
}
.apply {
  text-align: center;
}
.apply a {
  width: 30em;
  margin: 0 auto;
  display: block;
  color: #000000;
  font-weight: 500;
  text-decoration: none;
  background: #ffffff;
  padding: 30px 0;
  border-radius: 100vh;
  font-size: 30px;
  position: relative;
  border: 5px solid #000000;
  transition: all 0.3s linear;
}
.apply a:hover {
  color: #ffffff;
  background: #000000;
  border: 5px solid #ffffff;
}
#apply,
#video {
  display: none;
}

.modaal-content-container {
  padding: 60px !important;
}
.modaal-content {
  position: relative;
}
.modal_box {
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 2em;
}
.modal_box .method p:first-child {
  background: #000000;
  color: #ffffff;
  margin: 0 0 0.5em;
  padding: 0.25em 0;
}
.modal_box .note {
  font-size: 14px;
  font-weight: 400;
  text-align: right;
}
.modal_box a {
  font-size: 36px;
  color: #007aff;
  text-decoration: none;
}
.modal_box a:hover {
  opacity: 0.75;
}
.modaal-close {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  background: #000000 !important;
  border-radius: 0 !important;
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #007aff !important;
}

/*== modal内ボタン */
.modal_box .pdf_links {
  margin: 30px 0 0;
}
.modal_box .pdf_links p a.btn{
  font-size: 18px !important;
  width: 21em;
}
.modal_box .pdf_links p a.btn:hover {
  opacity: 1;
}

.bottom {
  text-align: center;
}
#copyright {
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #1a1a1a;
  color: #ffffff;
  text-align: center;
  padding: 15px 0;
  font-size: 14px;
  margin: -5px 0 0;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 900px) {
  #wrap {
    font-size: 18px;
  }
	.sp {
		display: none !important;
	}
}

@media screen and (max-width: 899px) {
  #wrap {
    font-size: 14px;
  }
	.pc {
		display: none !important;
	}
  nav ul {
    justify-content: center;
    font-size: 10px;
  }
  nav li {
    width: 20%;
  }
  section.top {
    padding: 60px 0;
  }
	.title {
		font-size: 72px;
		margin: 0 0 30px;
	}
	.date {
		font-size: 48px;
    margin: 0 0 15px;
	}
	.venue {
		font-size: 21px;
	}
  .img_box img {
    width: 90%;
  }
  .up-info {
    margin: 60px 0 0;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5em;
    color: #ffffff;
    padding: 0.5em 0;
  }
  .up-info span {
    display: block;
    font-size: 16px;
  }
  .up-info span:nth-of-type(2) {
    font-size: 16px;
  }
  .info_area {
    margin: 60px 0 0;
    font-size: 16px;
    padding: 1em;
    text-align: left;
  }
	section {
		padding: 60px 15px;
	}
	.txt_box {
		font-size: 14px;
	}
	.txt_box .bigger {
		font-size: 21px;
	}
  .txt_box .rollAnime {
    color: #ffffff !important;
  }
  .txt_box .rollAnime span:nth-of-type(5),
  .txt_box .rollAnime span:nth-of-type(11),
  .txt_box .rollAnime span:nth-of-type(12),
  .txt_box .rollAnime span:nth-of-type(13) {
    color: #ff0000 !important;
  }
	.txt_box .headline,
	.txt_box .bottomline {
		font-size: 24px;
    padding: 0 0 0.25em;
	}
  #partners .txt_box .headline {
		font-size: 21px;
	}
	.txt_box .about {
		margin: 30px 0;
    font-size: 18px;
	}
  .txt_box .about li {
    padding: 0;
    line-height: 1.75em;
  }
	#contents .txt_box .about li {
		margin: 30px 0 0;
	}
	.txt_box .about li .align_left,
  .txt_box .about li .align_right {
    display: block;
    padding: 0 0.25em;
  }
  .txt_box .about li .align_right {
    text-align: right;
  }
  #about .marker-text:after {
    height: 0.5em;
  }
	.exhibit {
		margin: 30px auto 0;
		font-size: 14px;
		width: auto;
	}
	.table_container {
		overflow-x: auto;
    /* white-space: nowrap; */
    width: auto;
	}
	.exhibit table {
		width: 150%;
		font-size: 10px
	}
	.exhibit table th {
		font-size: 12px;
	}
  .exhibit table th:first-child {
    font-size: 18px;
    width: 30%;
  }
  .exhibit table .fixed01 {
		/* width: 210px; */
    padding: 0.5em;
    position: sticky;
    left: 0;
    background: #000000;
  }
	.exhibit table td {
		width: 240px;
		line-height: 1.5em;
	}
	.exhibit .note {
		font-size: 12px;
	}
  .pdf_links {
    display: block;
    margin: 30px 0 0;
  }
  .pdf_links p {
    font-size: 18px;
  }
  .pdf_links p:nth-of-type(n+2) {
    margin: 15px 0 0;
  }
  .pdf_links p a.btn {
    width: auto;
  }
  .add_info {
    margin: 30px 0 0;
    font-size: 14px;
    line-height: 1.75em;
    text-align: left;
  }

	.apply a {
		width: 21em;
		font-size: 14px;
		padding: 2em 0;
	}
	.detail {
		margin: 30px 0 0;
    font-size: 24px;
	}
	.detail .dt {
		margin: 0 0 0.25em;
	}
	.week {
		width: 1.75em;
	}
	.detail .ad {
		font-size: 18px;
	}
	.detail .gm {
		margin: 15px 0 0;
	}
  .detail .gm iframe {
    aspect-ratio: 4/3;
  }
  .txt_box dl {
    width: auto;
  }
  .txt_box dt {
    font-size: 24px;
  }
  .txt_box dd {
    font-size: 16px;
  }
  .txt_box dd:nth-of-type(1) {
    font-size: 21px;
    margin: 0 0 12px;
    padding: 0 0 12px;
  }
  .txt_box dl:nth-of-type(2) {
    margin: 30px 0 0;
  }
  #copyright {
    font-size: 10px;
    margin: 0;
  }

  /***** スクロールヒント *****/
  .scroll-hint-icon {
    height: 100px !important;
  }

  /***** モーダル *****/
  .modaal-content-container {
    padding: 45px 30px !important;
  }
  .modal_box {
    font-size: 16px;
  }
  .modaal-close {
    width: 30px !important;
    height: 30px !important;
  }
  .modaal-close:after,
  .modaal-close:before {
    top: 7.5px !important;
    left: 15px !important;
    width: 3px !important;
    height: 15px !important;
    border-radius: 3px !important;
  }
  .modal_box .method p:first-child {
    font-size: 18px;
  }
  .modal_box .note {
    font-size: 10px;
    line-height: 1.25em;
    text-align: left;
    margin: 0.5em 0 0;
  }
  .modal_box a {
    font-size: 21px;
  }
  .modal_box .adress {
    line-height: 1.5em;
  }
  .modal_box .adress a {
    font-size: 18px;
    word-break: break-all;
  }
  .modal_box .pdf_links {
    margin: 15px 0 0;
  }
  .modal_box .pdf_links p a.btn {
    font-size: 14px !important;
    width: auto;
  }
}