.m-base-txt {
  margin-bottom: 20px;
}

.m-base-txt-sm {
  margin-bottom: 20px;
}

.p-content-section {
  width: 100%;
  margin-bottom: 100px;
}
.p-content-section.-padding {
  padding: 0 10%;
}

.p-event-detail .l-content {
  max-width: 1200px;
  margin: 0 auto;
  width: 80%;
}

.p-devent-detail-inner {
  padding-bottom: 80px;
}

.p-img {
  margin-bottom: 30px;
}
.p-img.-sm {
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
}

.p-event-detail-ttl {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 30px;
}

.p-event-detail-ttl-sm {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 30px;
}

.p-event-detail-ttl-lg {
  font-size: 3.4rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 30px;
}

.p-flex-content {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -webkit-column-gap: 7%;
     -moz-column-gap: 7%;
          column-gap: 7%;
}
.p-flex-content .p-event-detail-ttl.-width {
  width: 40%;
}
.p-flex-content:has(.p-img) .p-img {
  width: 55%;
}

.p-flex-content-inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-event-detail-gallery {
  margin-bottom: 100px;
}
.p-event-detail-gallery.-col2 {
  display: -ms-grid;
  display: grid;
  grid-auto-rows: auto;
  -ms-grid-columns: calc((100% - 40px) / 2) 40px calc((100% - 40px) / 2);
  grid-template-columns: repeat(2, calc((100% - 40px) / 2));
  gap: 40px 40px;
}
.p-event-detail-gallery.-col3 {
  display: -ms-grid;
  display: grid;
  grid-auto-rows: auto;
  -ms-grid-columns: calc((100% - 80px) / 3) 40px calc((100% - 80px) / 3) 40px calc((100% - 80px) / 3);
  grid-template-columns: repeat(3, calc((100% - 80px) / 3));
  gap: 40px 40px;
}

.p-event-detail-gallery-item {
  background: #E1D8C6;
  padding: 30px 45px 40px;
}
.p-event-detail-gallery-item .thumb {
  max-width: 300px;
  margin: 0 auto 30px;
}

.p-box.-white {
  padding: 30px 45px;
  background: #fff;
}
.p-box.-beige {
  padding: 50px;
  background: #E1D8C6;
}
.p-box.-cross .p-event-detail-ttl {
  position: relative;
  padding: 60px;
}
.p-box.-cross .p-event-detail-ttl::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 190px;
  height: 70px;
  background: url("../../images/event/icn_cross.svg") center/100% 100% no-repeat;
}
.p-box.-cross .p-event-detail-ttl::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: block;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 190px;
  height: 70px;
  background: url("../../images/event/icn_cross.svg") center/100% 100% no-repeat;
}
.p-box.-border .p-event-detail-ttl {
  padding-bottom: 15px;
  border-bottom: 2px solid #2B1313;
}
.p-box.-dotdashed {
  margin-bottom: 0;
}
.p-box.-dotdashed .p-event-detail-ttl {
  position: relative;
  font-size: 2.2rem;
  padding-left: 50px;
}
.p-box.-dotdashed .p-event-detail-ttl:before {
  position: absolute;
  top: 19px;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  display: block;
  width: 45px;
  height: 10px;
  background: url("../../images/event/icn_dot-dashed.svg") left 5px center/100% 100% no-repeat;
}
.p-box.-browndashed {
  outline: 1px dashed #2B1313;
  outline-offset: -12.5px;
}
.p-box .m-base-txt {
  line-height: 2;
}

.p-list-item {
  position: relative;
  padding-left: 1.5em;
}
.p-list-item::before {
  position: absolute;
  top: 10px;
  left: 0.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #2B1313;
}

@media screen and (max-width: 767px) {
  .m-base-txt {
    margin-bottom: 5.3333333333vw;
  }
  .m-base-txt-sm {
    margin-bottom: 5.3333333333vw;
  }
  .p-event-detail .l-content {
    width: 84vw;
  }
  .p-content-section {
    margin-bottom: 16vw;
  }
  .p-content-section.-padding {
    padding: 0;
  }
  .p-content-section .m-base-txt {
    line-height: 1.9;
  }
  .p-content-section .m-base-txt-sm {
    line-height: 1.9;
  }
  .p-img {
    margin-bottom: 5.3333333333vw;
  }
  .p-event-detail-ttl {
    font-size: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-event-detail-ttl-sm {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-event-detail-ttl-lg {
    font-size: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-flex-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-flex-content .p-event-detail-ttl.-width {
    width: 100%;
  }
  .p-flex-content:has(.p-img) .p-img {
    width: 100%;
  }
  .p-event-detail-gallery {
    margin-bottom: 16vw;
  }
  .p-event-detail-gallery.-col2 {
    display: block;
  }
  .p-event-detail-gallery.-col3 {
    display: block;
  }
  .p-event-detail-gallery-item {
    padding: 5.3333333333vw 6.6666666667vw 5.3333333333vw 6.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-event-detail-gallery-item .thumb {
    max-width: 45.3333333333vw;
    margin: 0 auto 5.3333333333vw;
  }
  .p-event-detail-gallery-item .m-base-txt-sm {
    margin-bottom: 0;
  }
  .p-box.-browndashed {
    padding: 7.4666666667vw;
    padding-bottom: 3.2vw;
    outline-offset: -2.6666666667vw;
  }
  .p-box.-beige {
    padding: 5.3333333333vw;
    padding-bottom: 1.3333333333vw;
  }
  .p-box.-cross .p-event-detail-ttl {
    padding: 10.6666666667vw;
  }
  .p-box.-cross .p-event-detail-ttl::before {
    width: 50.6666666667vw;
    height: 18.6666666667vw;
  }
  .p-box.-cross .p-event-detail-ttl::after {
    width: 50.6666666667vw;
    height: 18.6666666667vw;
  }
  .p-box.-border .p-event-detail-ttl {
    padding-bottom: 4vw;
    border-width: 0.5333333333vw;
    padding-right: 4vw;
    padding-left: 4vw;
  }
  .p-box.-dotdashed .p-event-detail-ttl {
    font-size: 5.8666666667vw;
    padding-left: 16vw;
    margin-bottom: 2.6666666667vw;
  }
  .p-box.-dotdashed .p-event-detail-ttl::before {
    top: 4vw;
    width: 13.3333333333vw;
    height: 4vw;
  }
  .p-list-item::before {
    width: 1.6vw;
    height: 1.6vw;
    top: 4vw;
    border-radius: 9999px;
  }
}
.p-place {
  width: 100%;
}

.p-place-inner {
  padding-bottom: 100px;
}

.p-place-inner-ttl {
  text-align: center;
  font-size: 3.4rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 45px;
  padding-top: 30px;
  border-top: 2px dashed #2B1313;
}

.p-place-detail-wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -webkit-column-gap: 6%;
     -moz-column-gap: 6%;
          column-gap: 6%;
  margin-bottom: 60px;
}
.p-place-detail-wrap .p-shop-img {
  max-width: 430px;
  width: 35%;
}
.p-place-detail-wrap .shop-name {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-bottom: 20px;
}
.p-place-detail-wrap .detail-information-wrap {
  margin-bottom: 25px;
}
.p-place-detail-wrap .detail-information {
  margin-bottom: 10px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.p-place-detail-wrap .detail-information .menu {
  padding-right: 3px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-place-detail-wrap .detail-information .menu-label {
  padding-left: 3px;
}
.p-place-detail-wrap .detail-information-link-wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-place-detail-wrap .detail-information-link {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
  color: #2B1313;
  border-bottom: 1px solid #2B1313;
  font-family: "Noto Sans JP";
  display: inline-block;
  margin-bottom: 1em;
}
.p-place-detail-wrap .detail-information-link:hover {
  border-bottom-color: transparent;
}
.p-place-detail-wrap .detail-information-link::after {
  position: absolute;
  content: "";
  display: block;
}
.p-place-detail-wrap .detail-information-link.-map {
  padding-right: 1.7em;
}
.p-place-detail-wrap .detail-information-link.-map::after {
  width: 1em;
  height: 1.3em;
  top: 0;
  right: 0;
  background: url("../../images/event/icn_mappin.svg") center/100% 100% no-repeat;
}
.p-place-detail-wrap .detail-information-link.-shop {
  padding-right: 2.5em;
}
.p-place-detail-wrap .detail-information-link.-shop::after {
  width: 1.6em;
  height: 1em;
  top: 0.2em;
  right: 0;
  background: url("../../images/event/icn_external.svg") center/100% 100% no-repeat;
}

@media screen and (max-width: 767px) {
  .p-place-inner {
    padding-bottom: 0;
  }
  .p-place-inner-ttl {
    font-size: 6.4vw;
    padding-top: 8vw;
    margin-bottom: 8vw;
  }
  .p-place-detail-wrap {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10.6666666667vw;
  }
  .p-place-detail-wrap .p-shop-img {
    width: 100%;
    max-width: unset;
    margin-bottom: 4vw;
  }
  .p-place-detail-wrap .p-shop-detail {
    width: 100%;
  }
  .p-place-detail-wrap .shop-name {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-place-detail-wrap .detail-information-wrap {
    margin-bottom: 6.6666666667vw;
  }
  .p-place-detail-wrap .detail-information {
    margin-bottom: 2.6666666667vw;
  }
  .p-place-detail-wrap .detail-information-link {
    font-size: 3.7333333333vw;
  }
}
.p-content-section-lg-wrap {
  width: 100%;
  margin-bottom: 100px;
}

.p-content-section-lg-inner {
  position: relative;
  isolation: isolate;
  max-width: 90%;
  margin-left: auto;
  margin-right: 0;
  padding: 80px 0 120px 2.5%;
}

@media screen and (min-width: 1920px) {
  .p-content-section-lg-inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1200px;
  }
}
.p-bg-baige-box {
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 85%;
  content: "";
  display: block;
  background: #E1D8C6;
}

.p-content-section-lg {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
}
.p-content-section-lg:not(:last-of-type) {
  margin-bottom: 130px;
}
.p-content-section-lg .p-ttl {
  font-size: 3.4rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 35px;
}
.p-content-section-lg .p-ttl-sm {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 25px;
}
.p-content-section-lg .p-description-wrap {
  position: relative;
  max-width: 520px;
}
.p-content-section-lg .p-description-wrap .m-base-txt {
  line-height: 1.8;
}
.p-content-section-lg .p-content-section-img.-lg {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-content-section-lg .p-content-section-img.-lg img {
  width: 100%;
}

.p-content-section-lg.-reverse {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-content-section-lg.-reverse .p-content-section-img {
  max-width: 555px;
}

.p-bg-annivesary-stamp {
  position: absolute;
  left: 0;
  width: 30%;
  z-index: -1;
  opacity: 0.1;
  top: 33%;
}

@media screen and (max-width: 1300px) {
  .p-content-section-lg-inner {
    padding-left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .p-content-section-lg-inner {
    max-width: 95%;
    padding: 80px 0 80px 3%;
  }
  .p-content-section-lg .p-description-wrap {
    max-width: 310px;
  }
  .p-content-section-lg.-reverse .p-content-section-img {
    max-width: 405px;
  }
  .p-content-section-lg.-reverse .p-description-wrap {
    max-width: 410px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .p-content-section-lg-inner {
    padding: 8vw 0vw 13.3333333333vw 8vw;
    max-width: unset;
    width: 100%;
  }
  .p-content-section-lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-content-section-lg:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  .p-content-section-lg .p-ttl {
    font-size: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-content-section-lg .p-ttl-sm {
    font-size: 5.3333333333vw;
  }
  .p-content-section-lg .p-content-section-img.-lg {
    width: 69.3333333333vw;
    margin-left: auto;
    margin-right: 0;
    margin-bottom: 6.6666666667vw;
  }
  .p-content-section-lg .p-description-wrap {
    padding-right: 8vw;
    max-width: unset;
    width: 100%;
  }
  .p-content-section-lg.-reverse {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-content-section-lg.-reverse .p-content-section-img {
    max-width: 69.3333333333vw;
    margin-left: -8vw;
    margin-right: auto;
    margin-bottom: 5.3333333333vw;
  }
  .p-content-section-lg.-reverse .p-description-wrap {
    max-width: unset;
    width: 100%;
  }
  .p-bg-baige-box {
    width: 80%;
    height: 90%;
  }
  .p-bg-annivesary-stamp {
    width: 90%;
    top: 11%;
  }
  .p-content-section-lg-wrap {
    margin-bottom: 16vw;
  }
}