@charset "utf-8";
/* CSS Document */
.pc-only {
 display: block;
}
.sp-only {
 display: none;
}
@media screen and (max-width: 767px) {
 .sp-only {
  display: block;
 }
 .pc-only {
  display: none;
 }
}
/* BASE */
.l-content-body, .l-wrapper, .l-content, .l-content-main {
 max-width: 100%;
 margin: 0;
 padding: 0;
}
.article-inner {
 max-width: 1000px;
 margin: 0 auto;
 padding: 100px 20px;
 box-sizing: content-box;
}
@media screen and (max-width: 767px) {
 .l-content-body {
  padding: 0;
  margin-top: 0;
 }
 .article-inner {
  padding: 80px 25px;
 }
}
/* Section Color */
section[data-type="white"] {
 background-color: #fff;
 color: #333;
}
section[data-type="gray"] {
 background-color: #efefef;
 color: #333;
}
/* Main Visual */
section[data-type="mv"] {
 background: url("../img/img-mv_background.jpg");
 background-repeat: no-repeat;
 background-position: left bottom;
 background-size: cover;
 display: flex;
 justify-content: center;
}
section[data-type="mv"] .article-inner {
 max-width: 1500px;
 height: auto;
 display: flex;
 padding: 50px;
 margin: 0;
}
section[data-type="mv"] .article-inner img {
 width: 100%;
 display: flex;
 justify-content: center;
}
section[data-type="mv"] .article-inner .anim-box.zoomin.is-animated {
 opacity: 0;
 animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
 animation-delay: 1s;
}
@keyframes zoomIn {
 0% {
  transform: scale(0.6);
 }
 100% {
  opacity: 1;
  transform: scale(1);
 }
}
@media screen and (max-width: 1080px) and (min-width: 768px) {
 section[data-type="mv"] {
  padding: 0;
 }
 section[data-type="mv"] .article-inner {
  padding: 10px;
 }
}
@media screen and (max-width: 767px) {
 section[data-type="mv"] {
  padding: 0;
 }
 section[data-type="mv"] .article-inner {
  max-width: 800px;
  height: auto;
  padding: 50px 0 20px;
 }
}
/* H2 */
.m-hdg-h2__name {
 color: #333;
 display: flex;
}
.m-hdg-h2__name h2 {
 font-family: "Hiragino Kaku Gothic Pro,MS PGothic", sans-serif;
 font-style: italic;
 font-weight: 600;
 font-size: 3.4rem;
 padding-bottom: 10px;
}
.m-hdg-h2__name h2 span {
 font-family: Georgia, sans-serif;
 font-style: italic;
 text-align: center;
 font-size: 1.2rem;
 font-weight: 600;
 letter-spacing: 4px;
 margin-left: 10px;
}
.m-hdg-h2__name p {
 width: 100%;
 margin-top: 10px;
 display: contents;
 text-align: center;
}
.m-hdg-h2__name h2::after {
 content: '';
 display: flex;
 width: 20%;
 height: 4px;
 margin-top: 16px;
 background: #e40011;
}
@media screen and (max-width: 430px) {
 .m-hdg-h2__name {
  margin: 20px 0;
 }
 .m-hdg-h2__name h2 {
  font-size: 2.6rem;
  line-height: 1.25;
  letter-spacing: 0;
 }
 .m-hdg-h2__name p {
  font-size: 1rem;
 }
}
/* MENU */
section[data-type="menu"] {
 background: #ebeadf;
}
.head_menu_pc {
 width: 100%;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-evenly;
}
.head_menu_pc li {
 width: 32%;
 height: 90px;
 filter: drop-shadow(2px 2px 3px #a1a1a1);
}
.head_menu_pc li a {
 width: 100%;
 height: 100%;
 display: block;
 position: relative;
 font-size: 1.5rem;
 font-weight: bold;
 color: #333;
 line-height: 1.5;
 background: #fff;
 text-align: center;
 align-content: center;
 overflow: hidden;
 z-index: 1;
}
.head_menu_pc li a:before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: #e40011;
 transform: translateX(-100%);
 transition: all .3s;
 z-index: -1;
}
.head_menu_pc li a:hover::before {
 transform: translateX(0);
}
.head_menu_pc li a:hover {
 color: #FFF;
 text-decoration: none;
 opacity: 1;
}
.head_menu_pc li a::after {
 content: "";
 border-style: solid;
 height: 0;
 width: 0;
 border-color: #333 transparent transparent transparent;
 border-width: 12.5px 7.2px 0 7.2px;
 position: absolute;
 right: 5%;
 top: 50%;
 transform: translateY(-50%);
}
.head_menu_pc li a:hover::after {
 border-color: #FFF transparent transparent transparent;
}
@media screen and (max-width: 767px) {
 .head_menu_pc {
  display: none;
 }
}
.head_menu_sp {
 display: none;
}
@media screen and (max-width: 767px) {
 .head_menu_sp {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
 }
 .head_menu_sp li {
  width: 767px;
  height: auto;
  margin-bottom: 18px;
 }
 .head_menu_sp li a {
  width: 100%;
  height: 70px;
  display: table;
  text-align: center;
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
  color: #FFF;
  background: #e40011;
 }
 .head_menu_sp li a span {
  vertical-align: middle;
  display: table-cell;
 }
 .head_menu_sp li a::after {
  content: "";
  border-style: solid;
  height: 0;
  width: 0;
  border-color: #ffffff transparent transparent transparent;
  border-width: 12.5px 7.2px 0 7.2px;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
 }
}
/* 時刻表 */
.m-tbl[data-type="fixed-th"] tbody th {
 background: #003399;
 color: #FFF;
}
.m-tbl tbody th, .m-tbl tbody td {
 padding: 6px 10px;
}
/* TICKET */
.m-coupon-list {
 width: 100%;
 height: auto;
 display: flex;
 align-items: flex-end;
}
.m-coupon-list > li {
 position: relative;
 display: flex;
 flex-wrap: wrap;
 max-width: 33.3%;
 min-height: 400px;
 border: 2px solid #666;
 background-color: #666;
 border-radius: 20px;
 margin-right: 20px;
 filter: drop-shadow(1px 1px 4px #afafaf);
}
.m-coupon-list > li:last-of-type {
 margin-right: 0;
}
.m-coupon-list > li:hover {
 transform: scale(1.05);
 transition: 0.5s;
}
.m-coupon-list > li a {
 display: block;
 width: 100%;
 height: 100%;
}
.m-coupon-list > li a:hover {
 text-decoration: none;
}
.m-coupon-list .m-coupon-list-inner {
 min-height: 300px;
 background: #FFF;
 padding: 4px 16px 16px;
}
.m-coupon-list li h4 {
 width: 100%;
 height: auto;
 font-size: min(2rem, 1.8vw);
 font-weight: 600;
 color: #fff;
 border-radius: 15px 15px 0 0;
 letter-spacing: 1px;
 text-align: center;
 padding: 10px 0;
 display: flex;
 justify-content: center;
}
.m-coupon-list li h4:nth-of-type(2) {
 width: 100%;
 height: auto;
 border-radius: 0 0 15px 15px;
}
.m-coupon-list-inner > p {
 font-size: 3.8rem;
 font-weight: 600;
 color: #333;
 text-align: center;
}
.m-coupon-list-inner > p span {
 font-size: 2.6rem;
}
.m-coupon-list-inner .limited_price {
 font-size: min(1.6vw, 1.5rem);
 color: #990000;
 margin-top: 0;
}
@media screen and (max-width: 767px) {
 .m-coupon-list {
  flex-wrap: wrap;
 }
 .m-coupon-list > li {
  min-width: 100%;
  min-height: fit-content;
  margin-top: 20px;
 }
 .m-coupon-list li h4 {
  font-size: min(2rem, 6vw);
  letter-spacing: 0;
 }
 .m-coupon-list .m-coupon-list-inner {
  min-height: 200px;
 }
 .m-coupon-list-inner .limited_price {
  font-size: 3.8vw;
 }
}
/* 黒崎・折尾 限定 */
.m-coupon-list > li:first-of-type {
 position: relative;
 width: 100%;
 height: 460px;
 border: 4px solid #990000;
 background-color: #990000;
}
.m-coupon-list li:first-of-type h4:nth-of-type(2) {
 position: absolute;
}
.m-coupon-list li:first-of-type .m-coupon-list-inner > p {
 font-size: 4.6rem;
 color: #990000;
}
.m-coupon-list-inner > p span {
 font-size: 2.6rem;
}
.m-coupon-list li:first-of-type .m-coupon-list-inner > p:nth-of-type(2) {
 font-size: min(1.6vw, 1.5rem);
}
@media screen and (max-width: 767px) {
 .m-coupon-list > li:first-of-type {
  min-width: 100%;
  height: fit-content;
 }
 .m-coupon-list li:first-of-type h4:nth-of-type(2) {
  position: static;
 }
 .m-coupon-list li:first-of-type .m-coupon-list-inner > p:nth-of-type(2) {
  font-size: 3.8vw;
 }
}
.disable2 {
 pointer-events: none;
 position: relative;
 display: flex;
 width: 100%;
 justify-content: center;
 align-items: center;
}
.disable2::before {
 content: '販売は終了いたしました';
 color: #333;
 text-align: center;
 position: absolute;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 font-size: 4rem;
 font-weight: 600;
 z-index: 100;
}
.disable2::after {
 content: '';
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 background: rgba(255, 255, 255, .8);
}
@media screen and (max-width: 767px) {
 .disable2::before {
  font-size: 2rem;
 }
}

/* 20251021追加 */
.m-coupon-list > li:nth-child(3) {
 position: relative;
 width: 100%;
 height: 460px;
 border: 4px solid #990000;
 background-color: #990000;
}

.m-coupon-list li:nth-child(3) .m-coupon-list-inner > p:nth-of-type(2) {
 font-size: min(1.6vw, 1.5rem);
}

.m-coupon-list li:nth-child(3) .m-coupon-list-inner > p {
 font-size: 4.6rem;
 color: #990000;
}

@media screen and (max-width: 767px) {
 .m-coupon-list > li:nth-child(3) {
  min-width: 100%;
  height: fit-content;
 }
 .m-coupon-list li:nth-child(3) h4:nth-of-type(2) {
  position: static;
 }
 .m-coupon-list li:nth-child(3) .m-coupon-list-inner > p:nth-of-type(2) {
  font-size: 3.8vw;
 }
}