@charset "utf-8";

/* ヘッダー */
header {
  position: relative;
  margin: 0 auto;
  display: block;
  width: 100%;
}
header #keyvisual {
  position: relative;
  margin: 0 auto;
  display: block;
  background-image: url("../img/header.jpg");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  padding-top: 141.46%;
  width: 100%;
}

/* 開催・キャッチコピー */
.about {
  position: relative;
  margin: 0 auto;
}
.kikan {
  position: relative;
  margin: 0 auto;
  padding-bottom: 40%;
  background: -webkit-linear-gradient(bottom, #187dd2 40%, #000229);
  background: -o-linear-gradient(bottom, #187dd2 40%, #000229);
  background: linear-gradient(to bottom, #000229 40%, #187dd2);
}
.kikan::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  padding-top: 34.6%;
  background-image: url("../img/bg01.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: 0 100%;
}
.kikan .ttl {
  position: relative;
  margin: 0 auto;
  padding: 3% 0;
  width: 60%;
}
.kikan .kikanTxt {
  position: relative;
  margin: 0 auto 7% auto;
  width: 94%;
}
/*.kikan::after{
    position: absolute;
    top:-10px;
	right: 5px;
	content: '';
    display: block;
	width: 24%;
	padding-top: 18.19%;
	background-image: url('../img/kikan1.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 0 0;
}*/
.kikan .placeTxt {
  position: relative;
  margin: 0 auto;
  /*width: 68%;*/
}
.kikan .placeTxt p {
  position: relative;
  text-align: center;
  color: #ffd800;
  font-size: 0.24rem;
  font-weight: 900;
  padding: 20px 0;
  line-height: 0.4rem;
  white-space: nowrap;
}
.catch {
  position: relative;
  margin: -30px auto 0 auto;
  padding-bottom: 30px;
  background: -webkit-linear-gradient(bottom, #5695ce 30%, #ffffff);
  background: -o-linear-gradient(bottom, #5695ce 30%, #ffffff);
  background: linear-gradient(to bottom, #ffffff 50%, #5695ce);
}
.catch::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 80%;
  height: 100%;
  background-image: url("../img/bg02.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: 0 calc(100% - 40px);
}
.catch p {
  position: relative;
  margin: 0 auto;
  width: 90%;
  text-align: left;
  font-size: 0.16rem;
  color: #214d7e;
}
.catch p span {
  font-size: 0.18rem;
  font-weight: 900;
}
.catchttl {
  position: relative;
  margin: 0 auto;
  width: 98%;
}
.catchTxt {
  position: relative;
  margin: 30px auto;
  width: 92%;
}
.btn_game {
  position: relative;
  margin: 50px auto 0 auto;
  width: 70%;
}

/* ニュース */
#news {
  padding: 50px 0 80px 0;
  background: -webkit-linear-gradient(bottom, #166ebc 90%, #5695ce);
  background: -o-linear-gradient(bottom, #166ebc 90%, #5695ce);
  background: linear-gradient(to bottom, #5695ce, #166ebc 10%);
}
#news h2 {
  position: relative;
  top: auto;
  height: 37px;
}
#news h2 img {
  height: 37px;
  margin: auto;
}
#news h2::after {
  position: absolute;
  bottom: 1px;
  left: 0;
  content: "";
  height: 3px;
  width: 100%;
  background-color: #ffffff;
}
#news .newsBox {
  position: relative;
}
#news .newsBox ul {
  position: relative;
  margin: 30px auto 0 auto;
  width: 90%;
  text-align: left;
}
#news .newsBox ul li {
  position: relative;
  margin: 15px auto;
  padding-bottom: 15px;
  border-bottom: solid 1px #9bc1e2;
  color: #ffffff;
  font-size: 0.13rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  transition: all 0.3s ease-out;
}
#news .newsBox ul li p.date {
  width: 80px;
}
#news .newsBox ul li p.newsTxt {
  width: calc(100% - 95px);
}
#news .newsBox ul li a {
  text-decoration: none;
  color: #ffffff;
}
#news .newsBox ul li:nth-child(n + 4) {
  display: none;
  opacity: 0;
}
#btn_more {
  position: relative;
  margin: 0 auto;
  width: 90%;
  text-align: right;
  color: #ffffff;
}
#btn_more span {
  font-size: 0.1rem;
  padding-left: 1em;
}

.scrapnote {
  position: relative;
  margin: 40px auto;
  border: solid 1px #ffffff;
  width: calc(100% - 80px);
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  font-size: 0.12rem;
  text-align: center;
}
.ttl_note {
  position: relative;
  margin: 0 auto 20px auto;
  font-size: 0.14rem;
  font-weight: bold;
  text-align: center;
  color: #0b2c7f;
}
#btn_note {
  position: relative;
  margin: 20px auto 0 auto;
  background-color: #ffffff;
  color: #214d7e;
  padding: 10px;
  font-weight: bold;
  text-align: center;
  font-size: 0.1rem;
}
#noteBox {
  position: relative;
  margin: 20px auto 0 auto;
  display: none;
  opacity: 0;
}

/* intro */
#intro {
  padding-bottom: 90px;
}
#intro .bg {
  background-color: #166ebc;
}
#intro .contents-wrap {
  padding: 60px 0 10px 0;
}
/* photo */
.photo {
  position: relative;
  margin: 0 auto 20px auto;
  width: calc(100% - 40px);
}
.slick-slide {
  margin: 2px;
  background-color: transparent;
}
.slide-arrow {
  position: absolute;
  top: 0;
  display: block;
  width: 24px;
  height: 24px;
}
.prev-arrow {
  left: -12px;
}
.next-arrow {
  right: -12px;
}
#arrows {
  position: absolute;
  display: block;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  text-align: center;
  width: calc(100% + 40px);
  height: 24px;
}
#apDots {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
/* CM */
#cm {
  position: relative;
  margin: 40px auto 0 auto;
  width: 98%;
  text-align: center;
}
#cm h2 {
  position: relative;
  margin: 0 auto;
  top: auto;
  z-index: auto;
}
#cm .movieWrap {
  position: relative;
  margin: -10.5% auto 0 auto;
  width: 90%;
}
/* youtube */
.movie {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#cm .caution {
  color: #ffffff;
  margin-top: 5px;
  background-color: #3c62a6;
  display: inline-block;
  width: auto;
}
/* ポイント */
#point {
  position: relative;
  margin: 70px auto 0 auto;
  padding-top: 20px;
  width: 90%;
  background-color: #ffffff;
  border-radius: 5px;
}
#point::before {
  position: absolute;
  top: -34px;
  left: 12px;
  display: block;
  content: "";
  width: 100%;
  height: 35px;
  background-image: url("../img/mountainBg.png");
  background-repeat: no-repeat;
  background-size: auto 35px;
}
#point ul {
  position: relative;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: calc(100% - 10px);
}
#point ul li {
  position: relative;
  width: 49%;
  padding: 10px 0;
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 0.14rem;
  font-weight: 900;
  border-radius: 5px;
  text-align: center;
}
#point ul li.point01 {
  background-color: #416699;
}
#point ul li.point02 {
  background-color: #508cac;
}
#point ul li.point03 {
  background-color: #997f41;
}
#point ul li.point04 {
  background-color: #744261;
}
#point ul li img {
  width: 80%;
}
#point ul li p {
  padding-top: 10px;
}
#point ul li span {
  font-size: 0.1rem;
}

/* イベント概要 */
#event {
  padding-bottom: 90px;
}
/* 物語 */
#schedule {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
#schedule h3 {
  width: calc(100% - 40px);
}
#schedule h4 {
  padding-top: 30px;
}
#story {
  position: relative;
  margin: 90px auto 0 auto;
}
#story h4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
}
#story h4::before,
#story h4::after {
  position: relative;
  margin-top: -7px;
  content: "";
  display: block;
  height: 24px;
  width: auto;
  background-image: url("../img/storyBg.png");
  background-repeat: no-repeat;
  background-size: auto 24px;
  flex-grow: 1;
}
#story h4::before {
  margin-right: 1em;
  background-position: 100% 0;
}
#story h4::after {
  margin-left: 1em;
  background-position: 0 0;
}
#story p {
  font-size: 0.14rem;
  font-weight: 500;
}
/* ディレクターコメント */
.commentD {
  position: relative;
  margin: 70px auto 0 auto;
  text-align: center;
}
.commentD img {
  position: relative;
  margin: 0 auto;
  display: block;
  width: calc(100% - 40px);
}
.commentD span {
  position: relative;
  display: block;
  margin: 10px auto 15px auto;
  width: 90%;
  color: #214d7e !important;
  font-weight: 900;
}
.commentD .Dbtn {
  width: 70%;
}

/* テーマソング */
#songs {
  position: relative;
  margin: 90px auto 50px auto;
}
#songs div.aphoto {
  position: relative;
  margin: 0 auto 20px auto;
  width: 80%;
  border: solid 3px #508cac;
}
#songs h5 {
  position: relative;
  margin: 0;
  font-size: 0.2rem;
  color: #214d7e;
  text-align: center;
}
#songs h5 img {
  width: 100px;
  padding-bottom: 10px;
}
#songs p {
  padding: 20px 0;
}
#songs a img,
#songs div.btn_commentS img {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 70%;
}
#songs div.btn_commentS {
  padding: 20px 0 0 0;
}

/* 開催日程 */
#schedule {
  position: relative;
}
#schedule p.strong,
#place p.strong {
  margin: 0 auto 20px auto;
  font-size: 0.13rem;
}
#schedule h5 {
  margin: 0 auto 5px auto;
  font-size: 0.15rem;
}
#schedule h5 p {
  font-size: 0.22rem;
  padding-bottom: 30px;
}
.scheduleT {
  font-weight: 700;
  padding-bottom: 20px;
}
/* 会場 */
#place {
  position: relative;
  margin: 50px auto 0 auto;
}
#place p {
  font-size: 0.12rem;
}
#place p.access {
  font-size: 0.1rem;
  padding: 10px 0;
}
.map {
  position: relative;
  display: block;
  margin: 10px auto 40px auto;
  width: 40%;
}

/* 遊び方 */
#howto {
  padding-bottom: 90px;
}
#setting,
#play {
  padding-bottom: 30px;
}
#howto h4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  width: auto;
}
#howto h4::before,
#howto h4::after {
  position: relative;
  content: "";
  display: block;
  height: 30px;
  width: 30px;
  background-repeat: no-repeat;
  background-size: auto 30px;
}
#howto h4::before {
  margin-right: 1em;
  background-image: url("../img/flag.png");
}
#howto h4::after {
  margin-left: 1.4em;
  background-image: url("../img/flag01.png");
}
#nazo h4,
#nazo01 h4 {
  font-size: 0.18rem;
}
#nazo h4::before,
#nazo01 h4::before {
  margin-right: 0.5em;
}
#nazo h4::after,
#nazo01 h4::after {
  margin-left: 0.7em;
}
/* プレイ形式 */
#play ul {
  position: relative;
  margin: 20px auto 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
#play ul li {
  position: relative;
  margin: 0;
  width: 29%;
  text-align: center;
}
#play ul li img {
  height: 60px;
  width: auto;
}
#play ul li .playTxt {
  position: relative;
  margin: 20px auto;
  border-top: solid 2px #3a5984;
}
#play ul li .playTxt h5 {
  position: relative;
  margin: 20px auto;
  font-size: 0.14rem;
}
#play ul li .playTxt h5 span {
  font-size: 0.12rem;
  display: block;
}
#play ul li .playTxt p {
  text-align: left;
}

/* ゲームの流れ */
#game .gameWrap {
  position: relative;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
}
#game .swiper-containerG {
  position: relative;
  margin: 0;
  padding: 0;
}
#game .swiper-containerG ul.swiper-wrapper {
  margin-left: -220%;
  transition: all 1.2s ease-out;
}
#game .swiper-containerG ul.swiper-wrapper.dispIn {
  margin-left: 0;
}
#game ul li {
  position: relative;
  margin: 0 auto;
  width: 60%;
}
#game ul li h5 {
  position: relative;
  margin: 0 auto;
}
#game ul li p {
  position: relative;
  margin: 15px 0 5px 2%;
  width: 88%;
}
#game ul li a.btn_buy {
  position: relative;
  display: block;
  margin: 25px auto 0 auto;
  width: 50%;
}
.beginner {
  position: relative;
  width: 98%;
  margin: 50px auto 0 auto;
  padding: 70px 0 60px 0;
  background-image: url("../img/bg_play.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.beginner h5 {
  position: relative;
  margin: 0 auto;
  width: 82%;
  font-size: 0.15rem;
  text-align: center;
}
.beginner p {
  position: relative;
  margin: 20px auto 0 auto;
  width: 82%;
  font-size: 0.14rem;
}
/* 口コミ */
.btn_review {
  position: relative;
  margin: 50px auto;
  width: 70%;
}
#modalreview ul {
  position: relative;
  margin: 0 auto;
  width: 90%;
}
.reWrap {
  position: relative;
  padding: 30px 0;
  border-bottom: solid 2px #a3c3fd;
}
.review.r02 {
  border-top: solid 1px #5377a9;
  margin-top: 30px;
  font-size: 0.14rem;
}
.reData {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
}
.reData.r01 {
  justify-content: flex-start;
}
.reData.r00 {
  padding-bottom: 10px;
}
.person {
  position: relative;
  width: 24%;
  margin: 0;
}
.personTxt {
  position: relative;
  width: 75%;
  margin: 0;
}
.reData img {
  margin: 0 !important;
}
.personTxt p {
  margin: 0 !important;
  padding: 0;
}
.personTxtBox {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-start;
  white-space: nowrap;
}
.personTxtBox div {
  width: auto;
  padding-right: 20px;
}
.personTxtBox div.pImg {
  width: 90px;
  padding: 0 0 5px 0;
}
.rettl,
.rettl {
  position: relative;
  width: 6.5em;
  margin: 0;
  padding: 5px;
  font-size: 0.14rem;
  text-align: right;
}
.star {
  position: relative;
  width: auto;
  margin: 0;
}
.star img {
  display: inline !important;
  padding: 8px 1px;
  width: 18px !important;
}

/* 謎 */
#nazo {
  padding-bottom: 30px;
}
#nazo dl.hint dt,
#nazo01 dl.hint dt {
  position: relative;
  margin: 8% auto 0 auto;
  padding: 5px 0;
  font-size: 0.14rem;
  border: solid 1px #3a5984;
  background-color: #edfbff;
}
.nazo_arrow::after {
  position: absolute;
  content: "▼";
  left: 95%;
  width: 19px;
  font-size: 0.09rem;
}
.nazo_arrow01::after {
  position: absolute;
  content: "▼";
  left: 95%;
  width: 19px;
  font-size: 0.09rem;
}
#nazo dl.hint dd,
#nazo01 dl.hint dd {
  position: relative;
  margin: 0 auto;
  padding: 5px;
  text-align: left;
  font-size: 0.12rem;
  display: none;
  border-left: solid 1px #3a5984;
  border-right: solid 1px #3a5984;
  border-bottom: solid 1px #3a5984;
}

#nazo01 .nazoImg {
  margin: 20px auto;
  width: 60%;
}
.web_article {
  padding-top: 10px;
  font-size: 0.12rem;
}

.inputArea {
  position: relative;
  margin: 0 auto 10% auto;
}
.inputArea .inputTxt {
  position: relative;
  margin: 20px auto;
  padding: 0 5px;
  border: solid 1px #707070;
  background-color: #f8f8f8;
  border-radius: 5px;
  width: calc(100% - 10px);
  height: 2em;
  font-size: 0.14rem;
}
.inputArea .btn_send {
  position: relative;
  display: block;
  width: 70%;
  margin: 0 auto;
  padding: 10px;
  text-decoration: none;
  border: none;
  border-radius: 5px;
  background-color: #214d7e;
  transition: all 0.16s ease-out;
  text-align: center;
  color: #ffffff;
  font-size: 0.14rem;
  font-weight: 700;
}
.resultImg {
  position: relative;
  margin: 20px auto;
  width: 60%;
}
.resultTxt {
  position: relative;
  margin: 30px auto;
  text-align: center;
}
.snsNazoShare {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 auto 30px auto;
}
.snsNazoShare li {
  width: 40px;
  margin: 0 10px;
}

/* チケット情報 */
#ticket {
  padding-bottom: 90px;
}
#ticket.contents-wrap {
  background-color: rgba(255, 255, 255, 0.9);
}
#ticket .contents-wrap::after {
  position: absolute;
  top: 35px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 70px;
  height: 72px;
  background-image: url("../img/bg_ticket.png");
  background-size: contain;
  background-repeat: no-repeat;
}
/* 発売日 */
#release {
  padding-top: 10px;
}
#release ul {
  position: relative;
  margin: 0 auto 50px auto;
}
#release ul li {
  position: relative;
  margin: 0 auto;
}
#release ul li p {
  position: relative;
  margin: 0 auto;
  padding-left: 16px;
}
#release ul li p.releaseType {
  font-size: 0.16rem;
  font-weight: 900;
  color: #508cac;
  border-left: solid 4px #508cac;
  padding-left: 12px;
  margin: 0 auto 20px auto;
}
#release ul li p.ticketTtlEx {
  padding-bottom: 5px;
  font-size: 0.13rem;
  color: #052277;
  font-weight: 900;
}
#release ul li div.tokuten {
  position: relative;
  margin: 25px auto;
  text-align: center;
}
.btn_tokuten {
  position: relative;
  display: block;
  margin: 25px auto 60px auto;
  width: 40%;
}
/* 料金 */
#price {
  position: relative;
  margin: 0 auto;
  padding-bottom: 40px;
  background-image: url("../img/bg05.png");
  background-size: 30% auto;
  background-position: calc(100% + 30px) calc(100% - 10px);
  background-repeat: no-repeat;
}
#price ul.ticketP {
  position: relative;
  width: 70%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}
#price ul.ticketP li {
  position: relative;
  margin: 10px auto 0 auto;
  width: calc(50% - 15px);
  border: solid 1px #3a5984;
  color: #ffffff;
  background-color: #3a5984;
  font-weight: 700;
  font-size: 0.12rem;
  border-radius: 100px;
}
#price ul.ticketP li.active {
  background-color: #ffffff;
  color: #3a5984;
}
#price ul.ticketP li.active::before {
  opacity: 0;
}
#price ul.ticketP li.active::after {
  position: absolute;
  bottom: -0.8em;
  left: 0;
  content: "\025bc";
  display: block;
  width: 100%;
  height: 1em;
  color: #3a5984;
  line-height: 1em;
  text-align: center;
}
#price ul.ticketP li p {
  position: relative;
  padding: 1px 0;
  text-align: center;
  z-index: 12;
}
#price .priceBox .table {
  position: relative;
  margin: 0 auto;
  display: none;
}
#price .priceBox .table.active {
  display: block;
}
#price .priceBox table {
  position: relative;
  margin: 10px auto 20px auto;
  width: 100%;
  border: solid 1px #3a5984;
  border-collapse: collapse;
}
#price .priceBox table tr th {
  border: solid 1px #3a5984;
  font-size: 0.12rem;
  width: 18%;
  text-align: center;
  padding: 15px 0;
  vertical-align: middle;
}
#price .priceBox table tr th,
#price .priceBox table tr td {
  border: solid 1px #3a5984;
  padding: 15px 0;
  text-align: center;
  vertical-align: middle;
  background-color: rgba(255, 255, 255, 0.9);
  color: #3a5984;
}
#price .priceBox table thead th,
#price .priceBox table thead td {
  padding: 5px 0;
  background-color: #3a5984;
  color: #ffffff;
}
#price .priceBox table tr td span {
  font-size: 0.22rem;
  width: 100%;
  font-weight: 900;
}
#price .btn_system {
  position: relative;
  margin: 20px auto 0 auto;
  width: 70%;
}
#price .ticket_system {
  position: relative;
  margin: 20px auto;
  width: 90%;
  display: none;
}
#price .ticket_system ul {
  position: relative;
  margin: 20px auto 0 auto;
}
#price .ticket_system ul li {
  position: relative;
  margin: 20px auto 0 auto;
  padding-bottom: 10px;
  text-align: left;
  font-size: 0.16rem;
  font-weight: 700;
  border-bottom: solid 1px #3a5984;
  color: #052277;
}
#price .ticket_system ul li p.system_about {
  font-size: 0.14rem;
  font-weight: 500;
  padding: 10px 0 0 0;
  color: #214d7e;
}
#price .ticket_system ul li ul {
  position: relative;
  margin: 20px auto 0 auto;
  width: 90%;
}
#price .ticket_system ul li ul li,
ul.exticket li {
  margin: 10px auto;
  font-size: 0.12rem;
  font-weight: 500;
  border-bottom: none !important;
  padding-bottom: 0;
  color: #232323;
}
#price .ticket_system ul li .attention {
  font-weight: 500;
}
ul.exticket {
  position: relative;
  margin: 30px auto !important;
  padding: 5px 10px;
  border: solid 3px #3a5984;
  border-radius: 5px;
}
#price .btn_faqtic {
  position: relative;
  margin: 20px auto;
  display: block;
  width: 70%;
}
#price .ticGoods {
  position: relative;
  margin: 30px auto;
  padding: 30px 0;
  border-top: dotted 3px #3a5984;
  border-bottom: dotted 3px #3a5984;
}
#price .ticGoods h6 {
  position: relative;
  text-align: center;
  font-weight: 900;
  font-size: 0.18rem;
}
#price .ticGoods h6 span {
  font-size: 0.12rem;
  display: block;
}
#price .ticGoods img {
  position: relative;
  margin: 10px auto;
  width: 70%;
  display: block;
}
.btn_ticgoods {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 62%;
}
.priceGoods {
  position: relative;
  margin: 20px auto;
  font-weight: 900;
}
.ttl_price {
  position: relative;
  margin: 30px auto 0 auto;
  font-size: 0.15rem;
  font-weight: 900;
  color: #cf1009;
  text-align: center !important;
}
.gotoTtl {
  position: relative;
  margin: 30px auto 0 auto;
  font-size: 0.13rem;
  font-weight: 900;
  color: #0b2c7f;
}
.gotoLink {
  position: relative;
  display: block;
  text-align: left;
  margin-bottom: 20px;
}

/* チケットカレンダー */
.ticketttl {
  text-align: center;
  color: #cf1009 !important;
  border: none !important;
  width: 100% !important;
  padding-bottom: 5px;
  padding-top: 0 !important;
  font-weight: 700;
}
.ticketdate {
  text-align: center !important;
}
.ticketlist {
  position: relative;
  margin: 10px auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.ticketlist li {
  position: relative;
  margin: 10px auto;
  width: 45%;
}
.ticketlist li a {
  color: #ffffff !important;
  font-weight: 700;
  display: block;
  width: 100%;
  padding: 3px 0;
  font-size: 0.1rem;
  background-color: #1d65d4;
  border-radius: 5px;
}
.ticketlist li a:hover {
  text-decoration: none;
}
.ticketlist li.pia a {
  background-color: #258efb;
}
.ticAPI {
  position: relative;
  margin: 10px auto 40px auto;
  padding: 0;
}
.ticAPI iframe {
  position: relative;
  margin: 0;
  width: 100%;
  height: 500px;
}
#ticket_api {
  margin: 0 auto;
  padding: 0;
  color: #000000;
  width: 100%;
  background-color: #3a5984;
}
.ticketWrap {
  margin: 0 auto;
  background-color: transparent !important;
  padding: 20px 0 0 0;
  font-size: 0.1rem !important;
}
.ticketWrap .swiper-wrapper {
  padding: 0;
}
.ticketWrap .naviBox {
  margin: 0 53px 0 53px;
}
.ticketWrap .naviBox .prevBtn {
  top: 20px;
  left: 0;
  background-color: #ffffff;
  opacity: 1;
}
.ticketWrap .naviBox .nextBtn {
  top: 20px;
  right: 0;
  background-color: #ffffff;
  opacity: 1;
}
.ticketWrap .naviBox .prevBtn:hover,
.ticketWrap .naviBox .nextBtn:hover {
  opacity: 1;
}
.ticketWrap .naviBox ul li .scheduleBox {
  color: #214d7e;
}
.ticketWrap .naviBox ul li.cr .scheduleBox {
  background: #508cac;
  color: #ffffff !important;
}
.ticketWrap .naviBox ul li.cr .scheduleBox span span {
  color: #ffffff !important;
}
.ticketWrap .detailsWrap {
  padding-top: 20px;
}
.ticketWrap .detailsBox .tit {
  background-color: #0b2c7f;
  font-size: 0.12rem !important;
}
.ticketWrap .detailsBox .tit p {
  margin: 0 !important;
}
.ticketWrap .detailsBox .tit01 {
  font-size: 0.18rem !important;
}
.ticketWrap .detailsBox .details h4 {
  margin: 30px 0 0 0;
  color: #000000 !important;
  border-bottom: 2px solid #000000;
  background-image: none;
  font-size: 0.11rem !important;
  text-align: center;
  font-weight: 700;
}
.ticketWrap .detailsBox .details a.scrap {
  color: #cf1009;
  font-size: 0.1rem;
  font-weight: normal;
}
.ticketWrap .detailsBox .details a.scrap:after {
  border-top: solid 1px #cf1009;
  border-right: solid 1px #cf1009;
  width: 5px;
  height: 5px;
  margin: -3px 0 0 0px;
}
.ticketWrap .detailsBox .details ul li {
  margin-bottom: 0 !important;
}
.ticketWrap .detailsBox .details ul li .scheduleBox.present {
  background: #ffffff;
  border: solid 1px #b3b3b3;
  color: #2a2a2a;
}
.ticketWrap .detailsBox .details ul li .scheduleBox.sold {
  background: #b3b3b3;
  color: #969696;
  border: solid 1px #b3b3b3;
}
.ticketWrap .detailsBox .details ul li .scheduleBox.few {
  background: #fbfdc2;
  border: solid 1px #b3b3b3;
  color: #2a2a2a;
}
#ticket_api .note {
  margin: 0 auto !important;
  color: #232323;
  padding: 20px;
  background-color: #ffffff;
}
#ticket_api .note a {
  color: #cf1009;
}
.ticketWrap .detailsBox .details .ticketBox .ticketItem p {
  color: #232323;
}
.ticketWrap .detailsBox .details ul li .scheduleBox .time {
  font-size: 0.11rem;
}
.ticketWrap .detailsBox .details ul li .scheduleBox .state {
  font-size: 0.1rem;
}

/* グッズ情報 */
#goods {
  padding-bottom: 90px;
}
#goods ul {
  position: relative;
  margin: 0 auto;
}
#goods ul li {
  position: relative;
  margin: 0 auto;
}
#goods ul li .goodsImage,
#goods ul li .goodsSpec {
  position: relative;
  margin: 0 auto;
  color: #214d7e;
}
#goods ul li .goodsSpec h3 {
  position: relative;
  margin: 0 auto 10px auto;
  padding: 20px 0 7px 0;
  border-bottom: solid 1px #214d7e;
  font-size: 0.16rem;
  font-weight: 900;
}
#goods ul li .goodsSpec .price,
#goods ul li .goodsSpec .size {
  font-size: 0.12rem;
  text-align: right;
  line-height: 1.8em;
}
#goods ul li .goodsSpec .price span {
  font-size: 0.22rem;
  font-weight: 900;
  color: #a80a0a;
}
#goods ul li .goodsSpec .goodstext {
  padding: 25px 0 50px 0;
  font-size: 0.14rem;
}
#goods ul li .goodsSpec .goodstext .goodsATtl {
  font-size: 0.13rem;
  font-weight: 900;
}
#goods ul li .goodsSpec .goodstext .goodsAtxt {
  font-size: 0.12rem;
}

/* 参加制限 */
#limit .contents-wrap {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-out;
}
#limit .contents-wrap.dispD {
  height: auto;
  overflow: visible;
  opacity: 1;
  margin-bottom: 90px;
}
#limit .limitAbout {
  font-size: 0.16rem;
  color: #0b2c7f;
  padding-bottom: 20px;
}
#limit p {
  font-weight: 900;
}
#limit dl {
  position: relative;
  margin: 20px auto;
  border-top: solid 2px #3a5984;
  border-bottom: solid 1px #3a5984;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
#limit dl dt,
#limit dl dd {
  position: relative;
  padding: 10px;
  border-bottom: solid 1px #3a5984;
}
#limit dl dd {
  font-size: 0.14rem;
  width: calc(70% - 20px);
}
#limit dl dt {
  width: calc(30% - 20px);
  background-color: #a5b0c0;
  font-size: 0.12rem;
}
#limit dl dd p {
  font-weight: 500;
}
#limit dl dd p.caution {
  padding: 10px 0;
  font-size: 0.1rem;
  line-height: 1.4em;
}

/* 注意事項 */
#precaution .contents-wrap {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-out;
}
#precaution .contents-wrap.dispD {
  height: auto;
  overflow: visible;
  opacity: 1;
  margin-bottom: 90px;
}
#precaution dl {
  position: relative;
  margin: 0 auto;
}
#precaution dt {
  position: relative;
  margin: 0 auto;
  font-size: 0.18rem;
  border-bottom: solid 1px #416699;
  font-weight: 900;
  padding-bottom: 10px;
}
#precaution dd {
  position: relative;
  margin: 0 auto;
  padding: 10px 0 50px 0;
}
#precaution dd:last-child {
  padding: 10px 0 0 0;
}

/* よくある質問 */
#faq {
  padding-bottom: 90px;
}
#faq .contents-wrap {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-out;
}
#faq .contents-wrap.dispD {
  height: auto;
  overflow: visible;
  opacity: 1;
  margin-bottom: 90px;
}
#faq h3 {
  position: relative;
  margin: 0 auto;
  font-size: 0.18rem;
  border-bottom: solid 1px #416699;
  font-weight: 700;
  padding-bottom: 10px;
}
#faq dl {
  position: relative;
  margin: 10px auto 50px auto;
}
#faq dl.faqEnd {
  margin: 10px auto 0 auto;
}
#faq dl.faqEnd dd:last-child {
  margin: 0 auto;
}
#faq dl dt {
  position: relative;
  margin: 0 auto;
  font-weight: 900;
}
#faq dl dd {
  position: relative;
  margin: 0 auto 20px auto;
}

/* ----- pc ----- */
@media screen and (min-width: 641px) {
  /* ヘッダー */
  header #keyvisual {
    background-image: url("../img/header_pc.jpg");
    padding-top: 52.5%;
  }

  /* 開催・キャッチコピー */
  .kikan {
    padding-bottom: 426px;
    background: -webkit-linear-gradient(bottom, #187dd2 10%, #000026);
    background: -o-linear-gradient(bottom, #187dd2 10%, #000026);
    background: linear-gradient(to bottom, #000026 10%, #187dd2);
  }
  .kikan::before {
    padding-top: 426px;
    background-image: url("../img/bg01_pc.png");
    background-size: 100% 100%;
    background-position: 0 100%;
  }
  .kikan::after {
    background-image: none;
  }
  /*.kikanPc::before{
        position: absolute;
        top:-10px;
        right: 5px;
        content: '';
        display: block;
        width: 182px;
        padding-top: 18.19%;
        background-image: url('../img/kikan1.png');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 0 0;
    }*/
  .kikanPc {
    position: absolute;
    top: -75%;
    left: 60%;
  }
  .kikan .ttl {
    padding: 5% 0;
  }
  .kikan .kikanTxt {
    margin: 0 auto 5% auto;
  }
  .kikan .placeTxt p {
    font-size: 0.32rem;
    padding: 30px 0 50px 0;
  }

  .catch {
    margin: -180px auto 0 auto;
    padding-bottom: 60px;
    text-align: center;
  }
  .catch::before {
    background-image: url("../img/bg03.png");
    background-size: auto;
    background-position: 20% calc(100% - 100px);
  }
  .catch p {
    width: 740px;
    text-align: center;
    font-size: 0.2rem;
    line-height: 2em;
  }
  .catch p span {
    font-size: 0.24rem;
  }
  .catchTxt {
    margin: 70px auto;
  }
  .btn_game {
    margin: 110px auto 0 auto;
    width: 392px;
  }

  /* ニュース */
  #news {
    padding: 100px 0 80px 0;
  }
  #news h2 {
    width: 780px;
    height: 74px;
  }
  #news h2 img {
    height: 74px;
    width: auto;
  }
  #news h2::after {
    bottom: 3px;
    height: 5px;
    width: 780px;
  }
  #news .newsBox ul {
    width: 780px;
  }

  #btn_more {
    width: 780px;
  }
  #btn_more:hover {
    opacity: 0.7;
    cursor: pointer;
  }

  .scrapnote {
    margin: 60px auto 40px auto;
    width: 720px;
    padding: 30px;
    font-size: 0.13rem;
  }
  .ttl_note {
    font-size: 0.16rem;
  }
  #btn_note {
    font-size: 0.12rem;
  }
  #btn_note:hover {
    cursor: pointer;
    opacity: 0.7;
  }

  /* intro */
  #intro {
    padding-bottom: 180px;
  }
  #intro .contents-wrap {
    padding: 100px 0 10px 0;
  }
  /* photo */
  .photo {
    margin: 0 auto 40px auto;
    width: calc(100% - 80px);
  }
  .slider {
    width: 890px;
  }
  .slide-arrow {
    width: 48px;
    height: 48px;
  }
  .prev-arrow {
    left: -24px;
  }
  .next-arrow {
    right: -24px;
  }
  #arrows {
    left: -40px;
    width: calc(100% + 80px);
    height: 48px;
  }
  /* CM */
  #cm {
    margin: 80px auto 0 auto;
    width: 760px;
  }
  #cm h2 {
    width: 580px;
    left: auto;
    transform: translateX(0);
  }
  #cm .movieWrap {
    margin: -70px auto 0 auto;
    width: 100%;
  }
  /* ポイント */
  #point {
    margin: 140px auto 0 auto;
    padding-top: 60px;
    padding-bottom: 10px;
    width: 960px;
  }
  #point::before {
    top: -69px;
    height: 70px;
    background-size: auto 70px;
  }
  #point ul {
    width: calc(100% - 20px);
  }
  #point ul li {
    width: 24%;
    padding: 20px 0;
    margin-bottom: 0;
    font-size: 0.18rem;
  }
  #point ul li p {
    padding-top: 20px;
  }
  #point ul li span {
    font-size: 0.16rem;
  }

  /* イベント概要 */
  #event {
    padding-bottom: 180px;
  }
  /* 物語 */
  #schedule h3 {
    text-align: center;
    width: 500px;
  }
  #schedule h4 {
    padding-top: 60px;
  }
  #schedule h5 p {
    font-size: 0.28rem;
    padding-bottom: 30px;
  }
  #story {
    margin: 160px auto;
  }
  #story h4::before,
  #story h4::after {
    margin-top: -20px;
    height: 49px;
    background-size: auto 49px;
  }
  #story h4::before {
    margin-right: 5em;
  }
  #story h4::after {
    margin-left: 5em;
  }
  #story p {
    width: 680px;
    margin: auto;
  }
  /* ディレクターコメント */
  .commentD {
    margin: 50px auto 0 auto;
  }
  .commentD img {
    width: 400px;
  }
  .commentD span {
    margin: 20px auto 25px auto;
    font-size: 0.18rem;
  }
  .commentD .Dbtn {
    width: 300px;
  }

  /* テーマソング */
  #songs {
    margin: 160px auto 80px auto;
  }
  #songs .songsWrap {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
  }
  #songs div.aphoto {
    margin: 0;
    width: 410px;
    padding: 0;
    border: solid 4px #508cac;
  }
  #songs div.saucydog {
    position: relative;
    margin: 0;
    width: 410px;
    padding-left: 20px;
  }
  #songs h5 {
    font-size: 0.26rem;
    text-align: left;
  }
  #songs h5 img {
    width: 120px;
    padding-bottom: 20px;
  }
  #songs a img,
  #songs div.btn_commentS img {
    margin: 20px auto 0 auto;
    width: 260px;
  }
  #songs div.btn_commentS {
    padding: 0;
  }
  #songs .saucydogBtn {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  #songs .saucydogBtn div {
    position: relative;
    width: 300px;
  }

  /* 開催日程 */
  #schedule {
    text-align: center;
  }
  #schedule p.strong,
  #place p.strong {
    margin: 10px auto 30px auto;
    font-size: 0.15rem;
  }
  #schedule h5 {
    margin: 0 auto;
    font-size: 0.17rem;
  }
  .scheduleT {
    padding: 30px 0;
  }
  /* 会場 */
  #place {
    margin: 120px auto 0 auto;
  }
  #place p {
    font-size: 0.14rem;
    width: 470px;
    margin: auto;
  }
  #place p.access {
    font-size: 0.14rem;
    padding: 30px 0;
  }
  .map {
    margin: 0 auto 20px auto;
    width: 180px;
  }
  .gmap {
    width: 70%;
    height: 350px;
  }

  /* 遊び方 */
  #howto {
    padding-bottom: 180px;
  }
  #setting,
  #play {
    padding-bottom: 80px;
  }
  .playImg {
    text-align: center;
  }
  #howto h4::before,
  #howto h4::after {
    height: 52px;
    width: 52px;
    background-size: auto 52px;
    margin-top: -20px;
  }
  #nazo h4,
  #nazo01 h4 {
    font-size: 0.24rem;
  }
  #nazo h4::before,
  #nazo01 h4::before {
    margin-right: 1em;
  }
  #nazo h4::after,
  #nazo h4::after01 {
    margin-left: 1.4em;
  }
  /* プレイ形式 */
  #play ul li {
    width: 240px;
  }
  #play ul li img {
    height: 96px;
  }
  #play ul li .playTxt h5 {
    font-size: 0.2rem;
  }
  #play ul li .playTxt h5 span {
    font-size: 0.16rem;
  }

  /* ゲームの流れ */
  #game .swiper-containerG ul.swiper-wrapper {
    margin-left: 0;
  }
  #game ul li {
    width: 22% !important;
  }
  #game ul li a.btn_buy {
    width: 90%;
  }
  .beginner {
    width: 800px;
    padding: 140px 0 120px 0;
  }
  .beginner h5 {
    font-size: 0.24rem;
    padding-bottom: 50px;
  }
  .beginner p {
    width: 600px;
    margin: auto;
  }
  /* 口コミ */
  .btn_review {
    margin: 80px auto;
    width: 380px;
  }
  #modalreview ul {
    width: 760px;
    font-size: 0.12rem;
  }
  .review {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
  }
  .boxPc {
    width: 50% !important;
  }
  .reData.r01 {
    width: 100%;
  }
  .review.r02 {
    font-size: 0.14rem;
  }
  .person {
    width: 100px;
  }
  .personTxt {
    width: calc(100% - 140px);
  }
  .personTxtBox div p {
    width: auto !important;
  }

  /* 謎解き */
  .nazoImg {
    padding-bottom: 20px;
    text-align: center;
  }
  #nazo dl.hint,
  #nazo01 dl.hint {
    margin: 0 auto 50px auto;
    width: 750px;
  }
  #nazo dl.hint dt,
  #nazo01 dl.hint dt {
    margin: 30px auto 0 auto;
    padding: 0;
    font-size: 0.18rem;
    height: 60px;
    line-height: 60px;
  }
  #nazo dl.hint dt:hover,
  #nazo01 dl.hint dt:hover {
    cursor: pointer;
  }
  .nazo_arrow::after,
  .nazo_arrow01::after {
    left: 710px;
  }
  #nazo dl.hint dd,
  #nazo01 dl.hint dd {
    padding: 20px;
    font-size: 0.14rem;
  }
  #nazo01 .nazoImg {
    width: 300px;
  }
  #nazo01 p {
    text-align: center;
  }
  .inputArea {
    width: 710px;
    margin: 10px auto 20px auto;
  }
  .inputArea .inputTxt {
    padding: 0 15px;
    width: 680px;
    height: 60px;
    line-height: 60px;
  }
  .inputArea .btn_send {
    width: 280px;
    height: 60px;
    margin: 30px auto;
    padding: 0;
    line-height: 60px;
    font-size: 0.18rem;
  }
  .inputArea .btn_send:hover {
    opacity: 0.7;
    cursor: pointer;
  }
  .resultImg {
    text-align: center;
  }
  .resultTxt {
    margin: 50px auto;
    font-size: 0.16rem;
  }
  .snsNazoShare li {
    width: 58px;
    margin: 0 20px;
  }

  /* チケット情報 */
  #ticket {
    padding-bottom: 180px;
  }
  #ticket .contents-wrap::after {
    top: 70px;
    left: 350px;
    width: 110px;
    height: 112px;
  }
  /* 発売日 */
  #release {
    padding-top: 40px;
  }
  #release ul {
    margin: 90px auto;
  }
  #release ul li p {
    font-size: 0.16rem;
    padding-left: 24px;
  }
  #release ul li p.releaseType {
    font-size: 0.18rem;
    padding-left: 20px;
  }
  #release ul li div.tokuten {
    margin: 40px auto;
  }
  .btn_tokuten {
    margin: 30px auto 60px auto;
    width: 160px;
  }
  /* 料金 */
  #price p.attention {
    padding-top: 30px;
  }
  #price span.caution {
    font-size: 0.12rem;
  }
  #price h5 {
    margin: 0 auto;
    padding: 15px 0;
    font-size: 0.16rem;
    width: 320px;
    border-top: solid 2px #3a5984;
    border-bottom: solid 1px #3a5984;
  }
  #price .pretic h5 {
    transform: translateX(100px);
    border-right: solid 2px #3a5984;
  }
  #price ul.ticketP {
    width: 400px;
  }
  #price ul.ticketP li {
    margin: 30px auto 0 auto;
    padding: 5px 0;
    width: calc(50% - 15px);
    font-size: 0.15rem;
  }
  #price ul li {
    font-size: 0.16rem;
  }
  #price .priceBox table {
    margin: 20px auto;
    width: 620px;
  }
  #price .priceBox table tr th {
    font-size: 0.16rem;
  }
  #price .priceBox table tr td span {
    font-size: 0.24rem;
  }
  #price .btn_system {
    margin: 30px auto;
    width: 320px;
  }
  #price .btn_system:hover {
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.3s ease-out;
  }
  #price .btn_faqtic {
    margin: 30px auto;
    width: 320px;
  }
  #price .btn_faqtic:hover {
    opacity: 0.7;
    transition: all 0.3s ease-out;
  }
  #price .ticGoods {
    margin: 60px auto;
    padding: 50px 0;
    width: 620px;
  }
  #price .ticGoods h6 {
    font-size: 0.28rem;
  }
  #price .ticGoods h6 span {
    font-size: 0.16rem;
  }
  #price .ticGoods p {
    text-align: center;
  }
  #price .ticGoods p.attention {
    text-align: left;
  }
  #price .ticGoods img {
    margin: 30px auto;
    width: 380px;
  }
  .btn_ticgoods {
    width: 160px;
  }
  .ttl_price {
    margin: 50px auto 20px auto;
    font-size: 0.18rem;
  }
  .gotoTtl {
    font-size: 0.16rem;
  }

  .ticketBuy {
    text-align: center !important;
    margin: 10px auto 30px auto;
  }

  /* チケットカレンダー */
  .ticAPI {
    width: 880px;
    padding: 0;
    margin: 0 auto 50px auto;
  }
  .ticAPI iframe {
    width: 880px;
    margin: 0;
    height: 500px;
    padding: 0;
  }
  #ticket_api {
    width: 880px;
  }
  .ticketlist {
    width: 500px;
    margin: 10px auto 30px auto;
  }
  .ticketlist li a {
    padding: 5px 0;
    font-size: 0.14rem;
  }

  /* グッズ情報 */
  #goods {
    padding-bottom: 180px;
  }
  #goods ul li {
    margin: 0 0 70px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  #goods ul li .goodsImage,
  #goods ul li .goodsSpec {
    margin: 0;
  }
  #goods ul li .goodsImage {
    width: 380px;
  }
  #goods ul li .goodsSpec {
    width: 460px;
  }
  #goods ul li .goodsSpec h3 {
    margin: 0 auto 15px auto;
    padding: 0 0 10px 0;
    font-size: 0.22rem;
  }
  #goods ul li .goodsSpec .goodstext {
    padding: 35px 0 0 0;
  }

  /* 参加制限 */
  #limit .contents-wrap.dispD {
    height: auto;
    overflow: visible;
    opacity: 1;
    margin-bottom: 180px;
  }
  #limit .limitAbout {
    padding-bottom: 35px;
    width: 800px;
    margin: auto;
  }
  #limit p {
    width: 800px;
    margin: auto;
  }
  #limit dl {
    margin: 35px auto;
    width: 800px;
  }
  #limit dl dt,
  #limit dl dd {
    padding: 30px;
  }
  #limit dl dd {
    font-size: 0.18rem;
    width: 360px;
  }
  #limit dl dt {
    width: 320px;
    font-size: 0.16rem;
  }
  #limit dl dd p.caution {
    padding: 25px 0;
    font-size: 0.12rem;
    width: 360px;
  }

  /* 注意事項 */
  #precaution .contents-wrap.dispD {
    height: auto;
    overflow: visible;
    opacity: 1;
    margin-bottom: 180px !important;
  }
  #precaution dt {
    font-size: 0.22rem;
    padding-bottom: 13px;
  }
  #precaution dd {
    padding: 30px 0 70px 0;
  }

  /* よくある質問 */
  #faq .contents-wrap.dispD {
    height: auto;
    overflow: visible;
    opacity: 1;
    margin-bottom: 180px;
  }
  #faq h3 {
    font-size: 0.22rem;
    padding-bottom: 13px;
  }
  #faq dl {
    margin: 30px auto 70px auto;
  }
  #faq dl dd {
    margin: 0 auto 30px auto;
  }
}
