@charset "UTF-8";
/* CSS INFORMATION =====================================================
File name : subpage.css
Description : 下層ページ
===================================================================== */
/* ========================================================
    intro
======================================================== */
.intro {
  position: relative;
  width: 100%;
  padding: 16rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .intro {
    padding: 12rem 0 0 0;
  }
}
.intro_column {
  position: relative;
  width: 100%;
}
.intro_wrap {
  position: relative;
  width: 100%;
}
.intro_lead {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 8rem 0;
  border: 0.4rem solid #58800a;
  border-radius: 2rem;
  background-color: #fffff2;
}
@media screen and (min-width: 768px) {
  .intro_lead {
    width: 80%;
    padding: 6rem 0;
  }
}
.intro_lead > p {
  width: 100%;
  margin-top: 1.2em;
  font-size: 3rem;
  font-weight: 800;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .intro_lead > p {
    font-size: 2.4rem;
  }
}
.intro_lead > p:first-child {
  margin-top: 0;
}
.intro_lead > p strong {
  display: inline-block;
  font-size: 130%;
  line-height: 1.6;
}

/* ========================================================
    stage
======================================================== */
.stage {
  position: relative;
  width: 100%;
  padding: 16rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .stage {
    padding: 12rem 0 0 0;
  }
}
.stage_column {
  position: relative;
  width: 100%;
}
.stage_wrap {
  position: relative;
  width: 100%;
}
.stage_btn {
  position: relative;
  width: 55rem;
  margin: 0 auto;
}
.stage_btn > a {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .stage_btn > a:hover {
    filter: drop-shadow(0 0 0.6em rgba(39, 39, 39, 0.4));
    opacity: 1;
  }
}

/* ========================================================
    schedule
======================================================== */
.schedule {
  position: relative;
  width: 100%;
  padding: 16rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .schedule {
    padding: 12rem 0 0 0;
  }
}
.schedule_column {
  position: relative;
  width: 100%;
}
.schedule_ttl {
  position: relative;
  width: 100%;
  padding: 3.2rem 0;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
  background-color: #58800a;
}
@media screen and (min-width: 768px) {
  .schedule_ttl {
    padding: 2.4rem 0;
  }
}
.schedule_ttl > span {
  display: block;
  color: #ffffff;
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-0.05em);
}
@media screen and (min-width: 768px) {
  .schedule_ttl > span {
    font-size: 3rem;
  }
}
.schedule_wrap {
  position: relative;
  width: 100%;
}
.schedule_subttl {
  position: relative;
  width: 100%;
  padding: 0 5rem 3.2rem 5rem;
  background-color: #fffff2;
}
@media screen and (min-width: 768px) {
  .schedule_subttl {
    padding: 0 5rem 2.4rem 5rem;
  }
}
.schedule_subttl:first-child {
  padding-top: 6rem;
}
@media screen and (min-width: 768px) {
  .schedule_subttl:first-child {
    padding-top: 4.5rem;
  }
}
.schedule_subttl > span {
  display: block;
  color: #76009d;
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .schedule_subttl > span {
    font-size: 2.6rem;
  }
}
.schedule_list {
  position: relative;
  width: 100%;
  padding: 0 5rem 6rem 5rem;
  border-radius: 0;
  background-color: #fffff2;
}
@media screen and (min-width: 768px) {
  .schedule_list {
    padding: 0 5rem 4.5rem 5rem;
  }
}
.schedule_list:last-child {
  border-radius: 0 0 2rem 2rem;
}
.schedule_list > li {
  width: 100%;
  margin-top: 3.2rem;
  padding-top: 3.2rem;
  border-top: 2px solid #d7d7bd;
}
@media screen and (min-width: 768px) {
  .schedule_list > li {
    margin-top: 2.4rem;
    padding-top: 2.4rem;
  }
}
.schedule_list > li:first-child {
  margin-top: 0;
}
.schedule_list > li:last-child {
  padding-bottom: 3.2rem;
  border-bottom: 2px solid #d7d7bd;
}
@media screen and (min-width: 768px) {
  .schedule_list > li:last-child {
    padding-bottom: 2.4rem;
  }
}
.schedule_item {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
}
.schedule_item > dt {
  position: relative;
  width: 27.2727272727%;
}
@media screen and (min-width: 768px) {
  .schedule_item > dt {
    width: 13.3333333333%;
  }
}
.schedule_item > dt > span {
  display: block;
  color: #58800a;
  font-family: "LINE Seed JP", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .schedule_item > dt > span {
    font-size: 2rem;
  }
}
.schedule_item > dd {
  position: relative;
  width: 72.7272727273%;
}
@media screen and (min-width: 768px) {
  .schedule_item > dd {
    width: 86.6666666667%;
  }
}
.schedule_item > dd > p {
  width: 100%;
}
.schedule_item > dd > p a {
  text-decoration: underline;
}
.schedule_item > dd > p small {
  font-size: 85%;
}

/* ========================================================
    shop
======================================================== */
.shop {
  position: relative;
  width: 100%;
  margin-top: 16rem;
  padding: 16rem 0;
}
@media screen and (min-width: 768px) {
  .shop {
    margin-top: 12rem;
    padding: 12rem 0;
  }
}
.shop::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #802318;
  z-index: -4;
}
.shop_column {
  position: relative;
  width: 100%;
}
.shop_ttl {
  position: relative;
  width: 48.6rem;
  margin: 0 auto;
}
.shop_wrap {
  position: relative;
  width: 100%;
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .shop_wrap {
    margin-top: 6rem;
  }
}
.shop_wrap:first-child {
  margin-top: 0;
}
.shop_subttl {
  position: relative;
  width: 100%;
  margin: 10rem auto 0 auto;
  padding: 1.6rem 0;
  text-align: center;
  border-radius: 4rem;
  background-color: #d73939;
}
@media screen and (min-width: 768px) {
  .shop_subttl {
    width: 80%;
    margin: 7.5rem auto 0 auto;
    padding: 1.2rem 0;
  }
}
.shop_subttl:first-child {
  margin-top: 0;
}
.shop_subttl > span {
  display: block;
  color: #ffffff;
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1.6;
  transform: translateY(-0.05em);
}
@media screen and (min-width: 768px) {
  .shop_subttl > span {
    font-size: 2.6rem;
  }
}
.shop_text {
  position: relative;
  width: 100%;
  margin-top: 4.8rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .shop_text {
    margin-top: 3.6rem;
  }
}
.shop_text > p {
  width: 100%;
  color: #ffffff;
  font-size: 3rem;
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .shop_text > p {
    font-size: 2rem;
  }
}
.shop_text > p:first-child {
  margin-top: 0;
}
.shop_text > p a {
  text-decoration: underline;
}
.shop_text > p small {
  font-size: 85%;
}
.shop_list {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  margin: 6rem 0 -4.8rem 0;
}
@media screen and (min-width: 768px) {
  .shop_list {
    margin: 4.5rem 0 -3.6rem 0;
  }
}
.shop_list > li {
  width: 48.6153846154%;
  margin: 0 0 4.8rem 2.7692307692%;
}
@media screen and (min-width: 768px) {
  .shop_list > li {
    width: 23.8%;
    margin: 0 0 3.6rem 1.6% !important;
  }
}
.shop_list > li:nth-child(2n+1) {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .shop_list > li:nth-child(4n+1) {
    margin-left: 0 !important;
  }
}
.shop_list > li > a {
  display: block;
  width: 100%;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .shop_list > li > a:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .shop_list > li > a:hover .shop_item > figure::before {
    content: "";
  }
}
.shop_item {
  position: relative;
  width: 100%;
}
.shop_item > figure {
  position: relative;
  width: 100%;
}
.shop_item > figure::before {
  content: none;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0.4rem solid #fde24f;
  transition: 0.3s ease;
}
.shop_item > dl {
  position: relative;
  width: 100%;
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  .shop_item > dl {
    margin-top: 1.2rem;
  }
}
.shop_item > dl > dt {
  width: 100%;
  text-align: center;
}
.shop_item > dl > dt > span {
  display: block;
  color: #ffffff;
  font-weight: 800;
}
.shop_item > dl > dt > span small {
  font-size: 85%;
}
.shop_item > dl > dd {
  width: 100%;
  text-align: center;
}
.shop_item > dl > dd > span {
  display: block;
  color: #fde24f;
  font-weight: 800;
}
.shop_item > dl > dd > span small {
  font-size: 85%;
}
.shop_detail {
  position: relative;
  width: 100%;
  padding: 8rem 4.6rem;
  border: 0.4rem solid #58800a;
  border-radius: 2rem;
  background-color: #fffff2;
}
@media screen and (min-width: 768px) {
  .shop_detail {
    padding: 6rem 9.6rem;
  }
}
.shop_detail_img {
  position: relative;
  width: 109.0909090909%;
  margin: 0 -4.5454545455%;
  padding-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .shop_detail_img {
    width: 57.5%;
    margin: 0 auto;
    padding-bottom: 3rem;
  }
}
.shop_detail_img:has(.swiper-pagination-lock) {
  padding-bottom: 0;
}
.shop_detail_img .swiper-wrapper {
  position: relative;
  width: 100%;
}
.shop_detail_img .swiper-slide {
  position: relative;
  width: 100%;
}
.shop_detail_img .swiper-pagination {
  position: absolute;
  left: 0;
  top: inherit;
  bottom: 0;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.shop_detail_img .swiper-pagination-lock {
  display: none;
}
.shop_detail_img .swiper-pagination-bullet {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 0.8rem;
  line-height: 1;
  background-color: #b2b2b2;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .shop_detail_img .swiper-pagination-bullet {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0 0.6rem;
  }
}
.shop_detail_img .swiper-pagination-bullet-active {
  background-color: #d73939;
}
.shop_detail_ttl {
  position: relative;
  width: 100%;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .shop_detail_ttl {
    margin-top: 3rem;
  }
}
.shop_detail_ttl > dt {
  width: 100%;
  text-align: center;
}
.shop_detail_ttl > dt > span {
  display: block;
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .shop_detail_ttl > dt > span {
    font-size: 3rem;
  }
}
.shop_detail_ttl > dt > span small {
  display: inline-block;
  font-size: 2.4rem;
  transform: translateY(-0.2em);
}
@media screen and (min-width: 768px) {
  .shop_detail_ttl > dt > span small {
    font-size: 2rem;
  }
}
.shop_detail_ttl > dd {
  width: 100%;
  text-align: center;
}
.shop_detail_ttl > dd > span {
  display: block;
  color: #76009d;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .shop_detail_ttl > dd > span {
    font-size: 2.4rem;
  }
}
.shop_detail_ttl > dd > span small {
  font-size: 85%;
}
.shop_detail_text {
  position: relative;
  width: 100%;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .shop_detail_text {
    margin-top: 3rem;
  }
}
.shop_detail_text > p {
  width: 100%;
  margin-top: 1em;
}
.shop_detail_text > p:first-child {
  margin-top: 0;
}
.shop_detail_text > p a {
  text-decoration: underline;
}
.shop_detail_text > p small {
  font-size: 85%;
}/*# sourceMappingURL=subpage.css.map */