@charset "UTF-8";
.page section {
  margin-bottom: 200px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page section {
    margin-bottom: 50px;
  }
  #main {
    padding: 20px 0 0px;
  }
}
/*top-nav*/
/* ============================================ */
.page .top-nav {
  margin-bottom: 50px;
  margin-top: 80px;
  padding: 0 3vw 0 8vw;
  gap: 1vw;
  justify-content: flex-end;
}
.page .top-nav .link-home {
  width: 8%;
}
.page .top-nav .link-waku {
  margin: 40px auto 0;
  outline: none;
  width: 17%;
  height: 4.5vw;
  font-size: 1.2vw;
  text-align: center;
  border: 2px solid #ffffff;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  justify-content: center;

  align-items: center;
  line-height: 70px;
  padding: 0;
}
.page .top-nav .link-waku:hover {
  background: #eee;
  color: #3d3d3d;
}

.page .top-nav li a {
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .page .top-nav {
    margin-bottom: 5vw;
  }
  .page .top-nav .btn-waku-white {
    font-size: 2.4vw !important;
  }
}
@media screen and (max-width: 767px) {
  .page .top-nav {
    flex-wrap: wrap;
    padding: 0 1vw;
    margin-top: 80px;
    justify-content: flex-start;
  }
  .page .top-nav .link-waku {
    margin: 15px 0 0;
    font-size: 2.5vw;
    height: 12vw;
    width: 32vw;
  }
}
/*トップロゴリンク*/
/* ============================================ */
a.link-home {
  width: 8vw;
  position: absolute;
  top: 2vw;
  left: 1vw;
}
@media screen and (max-width: 767px) {
  a.link-home {
    width: 15vw;
    position: absolute;
    top: 4vw;
    left: 5vw;
  }
}
/*メイン*/
/* ============================================ */
.page h1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 6vw;
  letter-spacing: 3px;
  color: #fff;
  font-weight: bold;
  position: relative;
  text-align: center;
  margin: 0 auto 1em;
}
@media screen and (min-width: 1200px) {
  .page h1 {
    font-size: 60px;
  }
}
@media screen and (max-width: 800px) {
  .page h1 {
    font-size: 7vw;
  }
}
/*specs*/
/* ============================================ */
#specs a.button {
  margin-top: 80px;
}
.specs-box {
  width: 100%;
  padding: 3%;
  margin: 40px auto;
  border: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(6px);
}
.specs-sec {
  margin-bottom: 50px;
}
.specs-sec h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 3vw;
  color: #fff;
  font-weight: bold;
  position: relative;
  text-align: left;
  margin: 0 auto 20px;
}
.gaiyo-area {
  display: flex;
  gap: 2%;
  justify-content: center;
}
.gaiyo-area .gaiyo {
  width: 24%;
  border: 1px solid #fff;
  background-color: #ffffffdb;
  color: #000;
  padding: 10px;
}
.gaiyo-area .gaiyo h4 {
  font-size: 1.2em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #000;
}
.gaiyo-area .gaiyo p {
  margin: 1em auto 0;
}
.specs-box table {
  border: 1px solid #fff;
  background-color: #ffffffdb;
  width: 100%;
}
.specs-box table th,
.specs-box table td {
  padding: 1em;
  letter-spacing: 1px;
  color: #000;
}
.specs-box table th {
  text-align: center;
  border-right: 1px solid #333333;
  font-weight: 500;
}
.specs-box table tr:nth-child(2) th,
.specs-box table tr:nth-child(2) td {
  border-top: 1px solid #333333;
}
.specs-box table td {
  text-align: left;
  word-break: break-all;
}
.seisaku-dantai a {
  display: flex;
  justify-content: center;
}
.seisaku-dantai img {
  width: 120px;
}
.specs-box table.youha-time th {
  padding: 10px;
  display: block;
  width: 100%;
  border-right: 0px solid #333333;
}
.specs-box table.youha-time td {
  padding: 0 10px 10px;
  display: block;
  width: 100%;
  position: relative;
}
.specs-box table.youha-time td .right {
  position: absolute;
  right: 14px;
  top: -36px;
  font-size: 0.9em;
}
.specs-box table.youha-time td .bold {
  background-color: #c4c4c4;
  text-align: center;
  margin-bottom: 0.5em;
}
.specs-box table.youha-time td .mt {
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .specs-box table td br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .seisaku-dantai img {
    width: 20%;
  }
  .specs-box {
    padding: 9% 3% 0;
  }
  .specs-sec {
    margin-bottom: 30px;
  }
  .specs-sec h3 {
    font-size: 6vw;
  }
  .gaiyo-area {
    flex-wrap: wrap;
  }
  .gaiyo-area .gaiyo {
    width: 48%;
    padding: 10px;
    margin-bottom: 2%;
  }
  .gaiyo-area .gaiyo h4 {
    font-size: 1em;
  }
  .gaiyo-area .gaiyo p {
    margin: 0.5em auto;
    font-size: 0.9em;
  }
  .specs-box table th {
    padding: 10px;
    display: block;
    width: 100%;
  }
  .specs-box table td {
    padding: 0 10px 10px;
    display: block;
    width: 100%;
  }
  .specs-box table tr:nth-child(2) th {
    border-right: 0px solid #333333;
  }
  .specs-box table tr:nth-child(2) td {
    border-top: 0px solid #333333;
  }
}
/* 制作団体 */
/* ============================================ */

.seisaku-dantai p {
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
}
.seisaku-dantai p span {
  font-size: 0.7em;
}
@media screen and (max-width: 767px) {
  .seisaku-dantai p {
    font-size: 1.2em;
    margin-bottom: 2em;
  }
}
/* creator-card */
/* ============================================ */
#creator a.button {
  margin-top: 80px;
}
.creator-card {
  padding: 10px;
  text-align: left;
  transition: all 0.2s;
  position: relative;
}
.creator-card a {
  display: block;
}
.creator-card h3 {
  font-size: 1.1em;
  margin-top: 0.2em;
  margin-bottom: 0;
}
.creator-card p {
  text-align: left;
  font-size: 0.8em;
  line-height: 1.4;
  margin-top: 20px;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .grid-3col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw 3vw;
  }
  .creator-card h3 {
    font-size: 1em;
    margin-top: 10px;
    margin-bottom: 2px;
  }
  .creator-card p {
    margin-top: 14px;
    margin-bottom: -8px;
  }
}
/* ドロップダウン */
/* ============================================ */
.dropdown-container {
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

input[type="checkbox"] {
  display: none;
}

.dropdown-label {
  width: 80%;
  max-width: 400px;
  margin: 0 auto 30px;
  padding: 15px 0px;
  position: relative;
  cursor: pointer;
  display: block;
  font-size: 18px;
  border: 2px solid #ffffff;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  background: transparent;
  cursor: pointer;
  text-align: center;
}
.dropdown-label::after {
  content: "";
  border: solid white;
  border-width: 0 2px 2px 0;
  position: absolute;
  display: inline-block;
  top: 25px;
  right: 30px;
  padding: 5px;
  transform: rotate(45deg); /* ↓ */
  transition: transform 0.3s ease;
}
input[type="checkbox"]:checked + .dropdown-label::after {
  transform: rotate(-135deg); /* ↑ */
}
.dropdown-content {
  background-color: #ffffff12;
  width: 96%;
  max-width: 1000px;
  padding: 50px 0;
  max-height: 0;
  margin: 0 auto;
  overflow: hidden;
  transition: max-height 0.5s ease, opacity 0.5s ease;
  opacity: 0;
}

input[type="checkbox"]:checked ~ .dropdown-content {
  max-height: 6000px; /* 中身が最大で収まる値 */
  opacity: 1;
}

.dropdown-content div {
  padding: 12px;
  cursor: pointer;
  transition: 0.3s ease;
}
/* text　調整 */
/* ============================================ */
.title-h2.text-s {
  font-size: 2vw;
}
@media screen and (max-width: 767px) {
  .title-h2.text-s {
    font-size: 5vw;
  }
  .youha #lead {
    padding: 0 12px;
  }
  #lead .title-h2,
  .lead .title-h2 {
    text-align: left;
  }
}
/* マニアなツアー　調整 */
/* ============================================ */

.mania #lead .title-h2 {
  font-size: 2vw;
}
.arrow_box {
	position: relative;
	background: #e3e3e3;
  padding: 1em;
  max-width: 500px;
  border-radius: 10px;
  margin: 0 auto;
}
.arrow_box:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-top-color: #e3e3e3;
	border-width: 15px;
	margin-left: -15px;
}
#specs a.button.mania-btn {
  margin-top: 30px;
}
.arrow_box p{
  color: #000;
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mania #lead .title-h2 {
    font-size: 5vw;
  }
  .arrow_box p{
    font-size: 16px;
  }
}
/* 謎解きクリエイター　調整 */
/* ============================================ */
.page.nazotoki #main {
  position: relative;
  padding: 20px 0 0px;
}
.page.nazotoki figure {
  max-width: 900px;
  width: 100%;
  margin: 0 auto 0px;
}
.page.nazotoki figure.first-view img {
  margin-bottom: 60px;
}

.page.nazotoki section {
  margin-bottom: 100px;
}
.page.nazotoki .dropdown-content section:last-child {
  margin-bottom: 0px;
}
.page.nazotoki figure.mt {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .page.nazotoki section {
    margin-bottom: 30px;
  }
  .page.nazotoki figure.mt {
    margin-top: 0px;
  }
  .dropdown-label {
    padding: 15px 0px;
  }
  .dropdown-content .lead .title-h2,
  .dropdown-content .seisaku-dantai .title-h2 {
    font-size: 5.5vw;
  }
  .dropdown-content .specs-box {
    margin: 20px auto;
  }
  .dropdown-content div.inner-1000,
  .dropdown-content div.specs-sec,
  .dropdown-content div.grid-3col,
  .dropdown-content div.gaiyo-area {
    padding: 0px;
  }
  .dropdown-content .buppan .title-h2 {
    margin-bottom: 5px;
  }

  .dropdown-content .seisaku-dantai {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

/* インタビューボタン コンテンツが入ったら消す　↓ */
/* ============================================ */

.pointer-events-none {
  pointer-events: none;
}
.pointer-events-none.btn-waku-white {
  border: 2px solid #4c4c4c;
}
.pointer-events-none.btn-waku-white span {
  color: #4c4c4c !important;
}
