@charset "UTF-8";
:where(.contents_) {
  line-height: 1.8;
}
:where(.contents_) *,
:where(.contents_) *::before,
:where(.contents_) *::after {
  letter-spacing: var(--letter-spacing, 0.08em);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  :where(.contents_) *,
  :where(.contents_) *::before,
  :where(.contents_) *::after {
    letter-spacing: var(--sp-letter-spacing, var(--letter-spacing, 0.08em));
  }
}
:where(.contents_) a {
  text-decoration: none;
  color: inherit;
}
:where(.contents_) ul, :where(.contents_) ol {
  list-style-type: none;
}
:where(.contents_) button {
  appearance: none;
  background: none;
  box-shadow: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  :where(.contents_) button:hover {
    opacity: 0.7;
  }
}
:where(.contents_) img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

:where(.contents_) .container {
  max-width: min(92.5925925926vw, 1000px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  :where(.contents_) .container {
    max-width: 100%;
  }
}

@media screen and not (max-width: 767px) {
  :where(.contents_) .is-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  :where(.contents_) .is-pc {
    display: none !important;
  }
}

:where(.contents_) * {
  letter-spacing: 0.08em;
  line-height: 1.8;
}
:where(.contents_) .kv {
  text-align: center;
}
:where(.contents_) .kv__image {
  height: auto;
}
:where(.contents_) .kv__lead {
  padding: min(4.6296296296vw, 50px) min(3.7037037037vw, 40px) 0;
}
@media screen and (max-width: 767px) {
  :where(.contents_) .kv__lead {
    padding: 6.6666666667vw 4vw 0;
  }
}
:where(.contents_) .kv__lead__sub {
  color: #cb005a;
  font-weight: 500;
  font-size: min(1.6666666667vw, 1.125rem);
  letter-spacing: 0.12em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  :where(.contents_) .kv__lead__sub {
    font-size: 3.3333333333vw;
    margin-bottom: 0.6em;
  }
}
:where(.contents_) .kv__lead__head {
  font-size: min(2.962962963vw, 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  margin-bottom: 0.6em;
}
@media screen and (max-width: 767px) {
  :where(.contents_) .kv__lead__head {
    font-size: 6.4vw;
    margin-bottom: 0.4em;
  }
}
:where(.contents_) .kv__lead__txt {
  font-size: min(1.4814814815vw, 1rem);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  :where(.contents_) .kv__lead__txt {
    font-size: 3.2vw;
  }
}
:where(.contents_) .kv__lead__note {
  margin-top: 3em;
  font-size: min(1.0185185185vw, 0.6875rem);
  max-width: min(59.2592592593vw, 640px);
  margin-inline: auto;
  text-indent: -1em;
  padding-left: 1em;
  color: #666;
}
@media screen and (max-width: 767px) {
  :where(.contents_) .kv__lead__note {
    margin-top: 2em;
    font-size: 2.6666666667vw;
    max-width: 100%;
    text-align: left;
  }
}
:where(.contents_) .kv__lead__note a {
  text-decoration: underline;
  text-underline-offset: 0.3em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2em;
  text-indent: -1em;
  padding-left: 1em;
}
:where(.contents_) .kv__lead__note a::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-right: min(0.0925925926vw, 1px) solid currentColor;
  border-top: min(0.0925925926vw, 1px) solid currentColor;
  rotate: 45deg;
}

.event-freespace {
  max-width: 1000px;
  margin: min(7.037037037vw, 76px) auto auto auto;
}
@media screen and (max-width: 767px) {
  .event-freespace {
    max-width: 100%;
    margin: 13.3333333333vw auto auto auto;
  }
}
.event-freespace h2.block-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: min(4.0740740741vw, 44px);
}
@media screen and (max-width: 767px) {
  .event-freespace h2.block-title {
    margin-bottom: 10.6666666667vw;
  }
}
.event-freespace h2.block-title .sub {
  font-family: "YuMincho Medium", "Yu Mincho Medium", serif;
  font-size: min(2.2222222222vw, 1.5rem);
  line-height: 1.4;
  letter-spacing: 0.1em;
  display: block;
}
@media screen and (max-width: 767px) {
  .event-freespace h2.block-title .sub {
    font-size: 5.3333333333vw;
  }
}
.event-freespace h2.block-title .main {
  font-family: "YuMincho Medium", "Yu Mincho Medium", serif;
  font-size: min(2.7777777778vw, 1.875rem);
  line-height: 1.4;
  letter-spacing: 0.1em;
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  .event-freespace h2.block-title .main {
    font-size: 6.4vw;
  }
}
.event-freespace h2.block-title::after {
  content: "";
  width: min(4.0740740741vw, 44px);
  display: block;
  height: min(0.0925925926vw, 1px);
  background-color: #000000;
  margin-top: min(1.8518518519vw, 20px);
}
@media screen and (max-width: 767px) {
  .event-freespace h2.block-title::after {
    width: 11.7333333333vw;
    height: 0.2666666667vw;
    margin-top: 4vw;
  }
}

.button-wrap {
  text-align: center;
  margin-top: min(3.7037037037vw, 40px);
  margin-bottom: min(3.7037037037vw, 40px);
}
@media screen and (max-width: 767px) {
  .button-wrap {
    margin-top: 8vw;
    margin-bottom: 10.6666666667vw;
  }
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(29.6296296296vw, 320px);
  height: min(5.5555555556vw, 60px);
  border: min(0.0925925926vw, 1px) solid #999;
  font-size: min(1.2962962963vw, 0.875rem);
  gap: 1em;
}
@media screen and (max-width: 767px) {
  .button {
    width: 92vw;
    height: 13.3333333333vw;
    border-width: 0.2666666667vw;
    font-size: 3.4666666667vw;
  }
}
.button::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: min(0.0925925926vw, 1px) solid #999;
  border-right: min(0.0925925926vw, 1px) solid #999;
  rotate: 45deg;
}
@media screen and (max-width: 767px) {
  .button::after {
    border-width: 0.2666666667vw;
  }
}

.banner {
  padding-left: min(3.7037037037vw, 40px);
  padding-right: min(3.7037037037vw, 40px);
  margin-bottom: min(7.4074074074vw, 80px);
}
@media screen and (max-width: 767px) {
  .banner {
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 8vw;
  }
}
.banner a {
  display: block;
  max-width: min(87.037037037vw, 940px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .banner a {
    max-width: 100%;
  }
}

/* rsp.css 打消し */
.navisort_ {
  margin: 10px auto 20px;
}

@media screen and (max-width: 767.99px) {
  .navisort_ {
    margin-top: 0;
  }
}
.mainframe_ > .navitopicpath_ {
  display: none;
}

.mainframe_ > .navitopicpath_:first-child {
  margin: 0;
}

h1 {
  margin-top: 0;
}

.wrapper_ {
  padding-top: 0;
}