@charset "UTF-8";
/* Sass Document */
.top-cta {
  padding-top: 4.59vw;
}

.top-cta__container {
  box-sizing: border-box;
  padding-top: 14.49vw;
  padding-bottom: 15.22vw;
}

.top-cta__head {
  margin-bottom: 9.66vw;
  text-align: center;
}

.top-cta__head:after {
  content: " ";
  display: block;
  width: 91.79vw;
  height: 0.48vw;
  margin-top: 9.66vw;
  margin-inline: auto;
  background: #f3eddc;
}

.top-cta__heading {
  color: #578200;
  --font-size-pc: calc(20 / var(--pcW) * 1vw);
  --font-size-sp: calc(32 / 4.14 * 1vw);
  line-height: 1.4;
  font-weight: 600;
}

.top-cta__body {
  text-align: center;
}

.top-cta__number {
  display: block;
}

.top-cta__number a {
  text-decoration: none;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  --font-size-pc: calc(40 / var(--pcW) * 1vw);
  --font-size-sp: calc(64 / 4.14 * 1vw);
  line-height: 1;
}

.top-cta__hour {
  margin-top: 2.9vw;
  color: #535353;
  --font-size-pc: calc(16 / var(--pcW) * 1vw);
  --font-size-sp: calc(26 / 4.14 * 1vw);
}

.top-heading {
  margin-bottom: 9.66vw;
  text-align: center;
}

.top-heading__text {
  --font-size-pc: calc(60 / var(--pcW) * 1vw);
  --font-size-sp: calc(40 / 4.14 * 1vw);
  font-family: "Roboto", serif;
  color: #c28d48;
  font-weight: bold;
}

.top-heading__text2 {
  --font-size-pc: calc(16 / var(--pcW) * 1vw);
  --font-size-sp: calc(16 / 4.14 * 1vw);
  font-family: var(--font-family-zen-kaku-go);
}

.top-information {
  overflow-x: clip;
  padding-top: 24.15vw;
  padding-bottom: 28.99vw;
  background: #f2f0e9;
}

.top-information__container {
  position: relative;
  z-index: 3;
  background-color: #fff;
  padding: 2rem 1.2rem 3rem;
  border-radius: 2rem;
  margin-top: 4rem;
}
.top-information__container .ill01 {
  width: 17.3rem;
  top: -2rem;
  left: -5rem;
}
@media screen and (min-width: 900px) {
  .top-information__container .ill01 {
    width: 37.1rem;
    left: -8.7rem;
  }
}
.top-information__container .ill04 {
  width: 35.1rem;
  right: -10rem;
  bottom: -20rem;
  z-index: 10;
}
@media screen and (min-width: 900px) {
  .top-information__container {
    margin-top: 8rem;
  }
  .top-information__container + .top-information__container {
    margin-top: 16rem;
  }
}
.top-information__container .btn-wrapper {
  margin: 3rem auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 900px) {
  .top-information__container .btn-wrapper {
    margin-top: 0;
    transform: translateY(50%);
  }
}
@media screen and (min-width: 900px) {
  .top-information__container .btn-wrapper .btn {
    width: 40rem;
  }
}

.top-information__container:before {
  /* content: " ";
  position: absolute;
  background: url(../img/index/information-bg-dec@2x.png) no-repeat center center / contain;
  z-index: -1;
  top: -33.82vw;
  left: -13.04vw;
  width: 60.39vw;
  height: 40.58vw; */
}

.top-information__container:after {
  /* content: " ";
  position: absolute;
  background: url(../img/index/information-bg-dec2@2x.png) no-repeat center center / contain;
  z-index: 2;
  top: -8.21vw;
  left: -2.42vw;
  width: 45.89vw;
  height: 25.12vw; */
}

.top-information__body {
  box-sizing: border-box;
  padding: 3rem 1rem 0;
}
.top-information__body .ttl-wrapper {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 1rem;
}
.top-information__body .ttl-wrapper .icn {
  width: 5rem;
  display: block;
}
.top-information__body .txt {
  font-size: 1.4rem;
  line-height: 2.2857142857;
}

.top-information__ttl {
  font-weight: 600;
  font-size: 2.6rem;
  line-height: 1.5;
}
.top-information__ttl span {
  font-size: 1.4rem;
  display: block;
}

.top-information__image {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto;
  gap: 0.5rem;
}
.top-information__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-information__image .image-large {
  grid-column: 1/span 3;
  grid-row: 1;
  aspect-ratio: 390/270;
  overflow: hidden;
  border-radius: 1rem;
}
.top-information__image .image-middle {
  grid-row: 2;
  aspect-ratio: 126/94;
  overflow: hidden;
  border-radius: 1rem;
}
.top-information__image .middle01 {
  grid-column: 1;
}
.top-information__image .middle02 {
  grid-column: 2;
}
.top-information__image .middle03 {
  grid-column: 3;
}

.top-information__image img {
  width: 100%;
}

.top-information__data {
  margin-top: 3rem;
  border-top: 1px solid #d1d1d1;
  --font-size-pc: calc(16 / var(--pcW) * 1vw);
  --font-size-sp: calc(14 / 4.14 * 1vw);
  line-height: 1.8;
}
.top-information__data a {
  text-decoration: none;
}

.top-information__data div {
  display: flex;
  border-bottom: 1px solid #d1d1d1;
}

.top-information__data div > dt {
  box-sizing: border-box;
  width: 14rem;
  padding: 2rem 1.4rem;
  background: #f2f0e9;
  font-weight: bold;
  vertical-align: top;
  flex-shrink: 0;
  font-size: 1.4rem;
}
@media screen and (min-width: 900px) {
  .top-information__data div > dt {
    width: 20rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.top-information__data div > dd {
  padding: 2rem 0.5rem 2rem 2rem;
  font-size: 1.4rem;
  flex-grow: 1;
  font-weight: 500;
}

.top-information__data dt .icon {
  color: #c28d48;
  margin-right: 1.45vw;
  --font-size-pc: calc(18 / var(--pcW) * 1vw);
  --font-size-sp: calc(14 / 4.14 * 1vw);
  position: relative;
  top: -0.1rem;
}

.top-information__data dd .hour {
  font-weight: 400;
  font-size: 1.2rem;
  display: block;
}
@media screen and (min-width: 900px) {
  .top-information__data dd .hour {
    display: inline;
    position: relative;
    top: -0.2rem;
  }
}

.top-information__data dd dl dt {
  font-weight: 500;
}

.top-information__data dd dl dt ~ dt {
  margin-top: 3.38vw;
}
@media screen and (min-width: 900px) {
  .top-information__data dd dl dt ~ dt {
    margin-top: 1.8rem;
  }
}

.top-information__data dd dl dd {
  --font-size-pc: calc(14 / var(--pcW) * 1vw);
  --font-size-sp: calc(12 / 4.14 * 1vw);
}

.top-information__data dd dl dd:before {
  content: "－";
  margin-right: 1em;
}

.top-kv {
  position: relative;
  padding: 0 !important;
  background: #f2f0e9;
  z-index: 2;
}

@media screen and (min-width: 900px) {
  .top-kv__container {
    position: relative;
  }
  .top-kv__container .ill01 {
    width: 18.7rem;
    left: 0;
    bottom: 1rem;
    z-index: 3;
  }
}

.top-kv__slider {
  position: relative;
  padding: 7.25vw 2.9vw;
}

.top-kv__slider:after {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/index/kv-bg-dec@2x.png) no-repeat center center/contain;
  z-index: 2;
}

.top-kv__slider img {
  width: 100%;
  height: auto;
}

.top-kv__parking {
  position: relative;
  margin-top: 4.83vw;
  padding-top: 4.83vw;
}

.top-kv__parking:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(90deg, #000000, #000000 2px, transparent 2px, transparent 4px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 1px;
}

.top-kv__parking-heading {
  margin-bottom: 2.9vw;
  padding: 1.21vw;
  background: #f2f1e9;
  --font-size-pc: calc(16 / 16 * 1vw);
  --font-size-sp: calc(16 / 4.14 * 1vw);
  text-align: center;
  letter-spacing: 0.05em;
}

.top-kv__parking-status {
  display: flex;
  justify-content: center;
  grid-gap: 2.42vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  --font-size-pc: calc(38 / var(--pcW) * 1vw);
  --font-size-sp: calc(40 / 4.14 * 1vw);
}

.top-kv__parking-status .level1 {
  color: #4caf50;
  --font-size-pc: calc(33 / var(--pcW) * 1vw);
  --font-size-sp: calc(40 / 4.14 * 1vw);
}

.top-kv__parking-status .level2 {
  color: #d18409;
  --font-size-pc: calc(33 / var(--pcW) * 1vw);
  --font-size-sp: calc(40 / 4.14 * 1vw);
}

.top-kv__parking-status .level3 {
  color: #ee4964;
}

.top-kv__bnr {
  position: absolute;
  right: 2.9vw;
  top: 91.79vw;
  width: 31.4vw;
  z-index: 3;
}

.top-pickup {
  position: relative;
  padding-top: 0;
  display: none;
}

.top-pickup:before {
  content: " ";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 100%;
  height: 33.82vw;
  background: url(../img/index/pickup-bg-top@2x.png) no-repeat center bottom/contain;
}

.top-pickup:not(:empty) {
  padding-bottom: 16.91vw;
}

.top-renewal {
  padding-top: 14.98vw;
  padding-bottom: 16.23vw;
  background: #f2f0e9;
}

.top-renewal_main {
  position: relative;
}

.top-renewal__head {
  position: relative;
  z-index: 2;
}

.top-renewal__heading {
  position: relative;
  display: flex;
  margin-bottom: 9.66vw;
  color: #578200;
  --font-size-pc: calc(60 / var(--pcW) * 1vw);
  --font-size-sp: calc(30 / 4.14 * 1vw);
  flex-direction: column;
  font-family: var(--font-family-zen-kaku-go);
  font-weight: bold;
  text-align: center;
  grid-gap: 1.69vw;
}

.top-renewal__heading:before {
  content: " ";
  position: absolute;
  right: 0;
  top: -8.21vw;
  background: url(../img/index/renewal-bg-heading@2x.png) no-repeat center center/contain;
  width: 26.09vw;
  height: 31.64vw;
  z-index: -1;
}

.top-renewal__heading .font-robots {
  --font-size-pc: calc(80 / 18 * 1vw);
  --font-size-sp: calc(40 / 4.14 * 1vw);
}

.top-renewal__heading2 {
  display: flex;
  align-items: center;
  flex-direction: column;
  grid-gap: 4.83vw;
  font-family: var(--font-family-zen-kaku-go);
  font-weight: normal;
  text-align: center;
}

.top-renewal__heading2-text {
  --font-size-pc: calc(22 / var(--pcW) * 1vw);
  --font-size-sp: calc(18 / 4.14 * 1vw);
  line-height: 1.88;
  text-align: left;
}

.top-renewal__heading2-text2 {
  --font-size-pc: calc(32 / var(--pcW) * 1vw);
  --font-size-sp: calc(19 / 4.14 * 1vw);
  font-weight: bold;
  line-height: 1.66;
}

.top-renewal__heading2-text2 span {
  border-bottom: 2px solid #ee4964;
  --font-size-pc: calc(16 / var(--pcW) * 1vw);
  --font-size-sp: calc(12 / 4.14 * 1vw);
}

.top-renewal__heading2-text3 {
  --font-size-pc: calc(28 / var(--pcW) * 1vw);
  --font-size-sp: calc(16 / 4.14 * 1vw);
  font-weight: bold;
}

.top-renewal__heading2-text3_quotation {
  --font-size-pc: calc(19 / var(--pcW) * 1vw);
  --font-size-sp: calc(14 / 4.14 * 1vw);
  font-weight: bold;
  color: #f00;
  line-height: normal;
}

.top-renewal__image {
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: -45.89vw;
}

.top-renewal__image img {
  width: 100%;
  height: auto;
}

.top-renewal__footer {
  position: relative;
  z-index: 2;
}

.top-renewal__event {
  margin-top: -22.71vw;
}

.top-renewal__event-bnr {
  font-size: 0;
  border-radius: 4.83vw;
  box-shadow: 0px 3px 9px rgba(51, 51, 51, 0.12);
}

.top-renewal__event-bnr img {
  width: 100%;
  height: auto;
}

.top-renewal__event-text {
  margin-top: 7.25vw;
  text-align: center;
  --font-size-pc: calc(16 / var(--pcW) * 1vw);
  --font-size-sp: calc(14 / 4.14 * 1vw);
  line-height: 2.25;
}

.top-renewal__decoration {
  position: relative;
  z-index: 1;
}

.top-renewal__decoration:before {
  content: " ";
  display: block;
  width: 1px;
  height: 0;
  margin-top: 0;
  margin-bottom: 0;
  margin-inline: auto;
  background: currentColor;
  position: relative;
  z-index: 1;
}

.top-renewal__decoration-text {
  position: relative;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  margin-inline: auto;
  --font-size-pc: calc(140 / 18 * 1vw);
  --font-size-sp: calc(60 / 4.14 * 1vw);
  font-weight: bold;
  color: var(--white);
  text-align: center;
  letter-spacing: 0;
}

.top-renewal__decoration-text:before {
  content: " ";
  position: absolute;
  right: 0;
  top: -5.8vw;
  background: url(../img/index/renewal-bg-decoration@2x.png) no-repeat center center/contain;
  width: 18.84vw;
  height: 17.39vw;
  z-index: -1;
}

.top-renewal__decoration-text2 {
  font-family: var(--font-family-zen-kaku-go);
  --font-size-pc: calc(28 / var(--pcW) * 1vw);
  --font-size-sp: calc(18 / 4.14 * 1vw);
  text-align: center;
  font-weight: bold;
}

.top-spot__items {
  display: grid;
  /* autoprefixer: off */
  grid-template-rows: auto;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 9.18vw 8.45vw;
  gap: 9.18vw 8.45vw;
}

.top-spot__item-link {
  display: block;
  text-decoration: none;
}

.top-spot__item-image {
  text-align: center;
}

.top-spot__item-image img {
  width: 100%;
  height: auto;
}

.top-spot__item-body {
  margin-top: 4.83vw;
}

.top-spot__item-heading {
  margin-bottom: 5.56vw;
  --font-size-pc: calc(18 / var(--pcW) * 1vw);
  --font-size-sp: calc(26 / 4.14 * 1vw);
  text-align: center;
  color: #578200;
  line-height: 1.5;
}

.top-spot__item-text {
  display: flex;
  grid-gap: 3.38vw;
  --font-size-pc: calc(16 / var(--pcW) * 1vw);
  --font-size-sp: calc(20 / 4.14 * 1vw);
  line-height: 1.35;
  letter-spacing: 0;
}

.top-spot__item-text:before {
  content: " ";
  flex: 0 0 auto;
  display: block;
  width: 8.7vw;
  height: 1lh;
}

.top-spot__item-text + .top-spot__item-text {
  margin-top: 2.42vw;
}

.top-spot__item-text--address:before {
  background: url(../img/index/spot-img-marker@2x.png) no-repeat center center/contain;
}

.top-spot__item-text--car:before {
  background: url(../img/index/spot-img-car@2x.png) no-repeat center center/contain;
}

@media (min-width: 769px) {
  .top-cta {
    padding-top: 0;
    margin-top: -20px;
  }
  .top-cta__container {
    display: flex;
    min-height: 220px;
    border-radius: 40px;
    padding: 30px 64px;
  }
  .top-cta__head {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    width: 260px;
    border-right: 1px solid #f3eddc;
    text-align: left;
  }
  .top-cta__head:after {
    display: none;
  }
  .top-cta__heading {
    line-height: 1.5;
  }
  .top-cta__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-left: 64px;
  }
  .top-cta__number a {
    pointer-events: none;
  }
  .top-cta__hour {
    margin-top: 20px;
  }
  .top-news {
    padding-top: 104px;
    padding-bottom: 80px;
  }
  .top-news__button .sw-button__icon {
    width: 26px;
    max-width: 26px;
  }
  .top-spot {
    padding-top: 74px;
  }
  .top-spot__items {
    max-width: 630px;
    margin-inline: auto;
    display: grid;
    /* autoprefixer: off */
    grid-template-rows: auto;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 48px 24px;
    gap: 48px 24px;
  }
  .top-spot__item-body {
    margin-top: 16px;
  }
  .top-spot__item-heading {
    margin-bottom: 16px;
  }
  .top-spot__item-text {
    grid-gap: 10px;
  }
  .top-spot__item-text:before {
    width: 26px;
    height: 1lh;
  }
  .top-spot__item-text + .top-spot__item-text {
    margin-top: 13px;
  }
}
@media (min-width: 900px) {
  .top-heading {
    margin-bottom: 3.33vw;
  }
  .top-information {
    padding-top: 8.89vw;
    padding-bottom: 5vw;
  }
  .top-information__container {
    display: flex;
    align-items: flex-start;
    width: 140rem;
    margin-inline: auto;
    z-index: 1;
    padding: 10rem;
    gap: 6rem;
    box-sizing: border-box;
    border-radius: 4rem;
  }
  .top-information__container.-terrace {
    padding-bottom: 7.9rem;
    flex-direction: row-reverse;
    z-index: 0;
  }
  .top-information__container.-terrace .top-information__body {
    padding-top: 2rem;
  }
  .top-information__container.-terrace .top-information__image {
    margin-bottom: -20rem;
    margin-left: 0;
    margin-right: -24rem;
  }
  .top-information__container .ttl-wrapper .icn {
    width: 6.7rem;
    height: 6.7rem;
  }
  .top-information__container .btn-wrapper {
    margin-top: 0;
    position: absolute;
    bottom: 0;
  }
  .top-information__ttl {
    letter-spacing: 0.1em;
    font-size: 3.6rem;
  }
  .top-information__ttl span {
    font-size: 2rem;
  }
  .top-information__container:before {
    top: -13.78vw;
    left: -13.22vw;
    width: 35.72vw;
    height: 22.5vw;
  }
  .top-information__container:after {
    top: -2.56vw;
    left: -0.83vw;
    width: 20.61vw;
    height: 11.33vw;
  }
  .top-information__body {
    box-sizing: border-box;
    width: 60rem;
    margin-inline: 0;
    flex-grow: 1;
    flex-shrink: 0;
    padding: 0;
  }
  .top-information__body .txt {
    font-size: 1.8rem;
    font-weight: 600;
  }
  .top-information__image {
    position: relative;
    width: 78rem;
    margin-left: -24rem;
    gap: 1rem;
  }
  .top-information__image .image-large,
.top-information__image .image-middle {
    border-radius: 2rem;
  }
  .top-information__image .image-large {
    aspect-ratio: 780/480;
  }
  .top-information__image .image-middle {
    aspect-ratio: 253/188;
  }
  .top-kv {
    overflow: hidden;
  }
  .top-kv__slider {
    padding: 3.33vw 2.22vw 4.44vw;
  }
  .top-kv__slider:after {
    background: url(../img/index/kv-bg-dec_large@2x.png) no-repeat center center/contain;
  }
  .top-kv__parking {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    width: 14vw;
    margin-top: 0;
    padding-top: 0;
    padding-left: 1.11vw;
    padding-right: 1.67vw;
  }
  .top-kv__parking:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-image: repeating-linear-gradient(180deg, #000000, #000000 2px, transparent 2px, transparent 4px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 100%;
  }
  .top-kv__parking-heading {
    margin-bottom: 0.67vw;
    padding: 0.28vw;
  }
  .top-kv__parking-status {
    grid-gap: 0.56vw;
  }
  .top-kv__bnr {
    right: 4.44vw;
    top: inherit;
    bottom: 4.44vw;
    width: 11.11vw;
  }
  .top-kv__bnr a {
    transition: opacity 0.2s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .top-kv__bnr a:hover {
    opacity: var(--global-hover-opacity);
  }
  .top-pickup:before {
    bottom: calc(100% - 2.22vw);
    height: 18.89vw;
    background: url(../img/index/pickup-bg-top_large@2x.png) no-repeat center bottom/contain;
  }
  .top-pickup:not(:empty) {
    padding-bottom: 6.67vw;
  }
  .top-pickup__container {
    position: relative;
    max-width: 77.78vw;
    margin-inline: auto;
    z-index: 2;
  }
  .top-renewal {
    padding-top: 0;
    padding-bottom: 0;
  }
  .top-renewal_main:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: url(../img/index/renewal-bg1@2x.png) no-repeat top center/106vw auto;
  }
  .top-renewal__head {
    position: absolute;
    left: 0;
    top: 2.22vw;
    width: 100%;
  }
  .top-renewal__heading {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    grid-gap: 1vw;
    margin-bottom: 1.22vw;
  }
  .top-renewal__heading:before {
    display: none;
  }
  .top-renewal__heading2 {
    grid-gap: 1.67vw;
  }
  .top-renewal__image {
    position: static;
    margin-top: 0;
  }
  .top-renewal_main:has(.top-renewal__event) .top-renewal__image {
    padding-bottom: 15vw;
  }
  .top-renewal__footer {
    position: absolute;
    left: 50%;
    top: 55.17vw;
    transform: translateX(-50%);
  }
  .top-renewal__event {
    max-width: 55.56vw;
    margin-top: 0;
    margin-inline: auto;
    text-align: center;
  }
  .top-renewal__event-bnr {
    box-shadow: 0px 6px 12px rgba(51, 51, 51, 0.12);
  }
  .top-renewal__event-text {
    margin-top: 1.67vw;
  }
  .top-renewal__decoration:before {
    margin-top: 0;
    margin-bottom: 0;
    height: 0;
  }
  .top-renewal__decoration-text {
    white-space: nowrap;
  }
  .top-renewal__decoration-text:before {
    top: -3.33vw;
    right: -4.22vw;
    width: 7.17vw;
    height: 6.61vw;
  }
  .top-spot__item-link {
    transition: opacity 0.2s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .top-spot__item-link:hover {
    opacity: var(--global-hover-opacity);
  }
}
.bg-beige {
  background-color: #f2f0e9;
}

.top-about {
  padding-bottom: 16rem;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 900px) {
  .top-about {
    margin-top: -11rem;
  }
}

@media screen and (min-width: 900px) {
  .top-about-content {
    width: 140rem;
    margin-inline: auto;
    display: flex;
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }
}

.top-about-text {
  padding: 5rem 2.2rem 0;
}
@media screen and (min-width: 900px) {
  .top-about-text {
    padding: 0;
  }
}
.top-about-text .catch {
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .top-about-text .catch {
    font-size: 1.8rem;
    text-align: left;
  }
}
.top-about-text .ttl-wrapper {
  margin-top: 2.5rem;
  margin-bottom: 4rem;
}
@media screen and (min-width: 900px) {
  .top-about-text .ttl-wrapper {
    width: 48rem;
  }
}
.top-about-text .ttl-wrapper img {
  width: 100%;
}
.top-about-text p {
  font-size: 1.4rem;
  line-height: 2.2857142857;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .top-about-text p {
    font-size: 1.8rem;
    line-height: 2.2222222222;
    text-align: left;
  }
}
.top-about-text p + p {
  margin-top: 0.6em;
}

.top-about-image {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  padding-inline: 1.2rem;
  position: relative;
}
.top-about-image > div {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 900px) {
  .top-about-image {
    width: 70.5rem;
    gap: 2rem;
  }
  .top-about-image::after {
    content: "";
    position: absolute;
    width: 21.8rem;
    height: 19.7rem;
    background: url(../img/index/ill_park01.svg) no-repeat center/contain;
    top: calc(100% - 5rem);
    left: 1rem;
    z-index: 1;
  }
}
.top-about-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-about-image .image-large {
  grid-row: 1;
  grid-column: 1/span 2;
  aspect-ratio: 370/284;
  border-radius: 1rem;
  overflow: hidden;
  margin-inline: 1rem;
}
@media screen and (min-width: 900px) {
  .top-about-image .image-large {
    aspect-ratio: 399/306;
    width: 39.9rem;
    grid-row: 1;
    grid-column: 1;
    margin: 0 0 0 auto;
  }
}
.top-about-image .image-middle {
  grid-row: 2;
  border-radius: 1rem;
  overflow: hidden;
}
.top-about-image .middle01 {
  grid-column: 2;
  aspect-ratio: 184/210;
  width: 18.4rem;
  margin-left: auto;
  position: relative;
  z-index: 1;
  margin-top: -2rem;
}
@media screen and (min-width: 900px) {
  .top-about-image .middle01 {
    grid-column: 2;
    grid-row: 1/span 2;
    aspect-ratio: 287/355;
    width: 28.7rem;
    margin-top: 10rem;
  }
}
.top-about-image .middle02 {
  margin-top: 4rem;
  grid-column: 1;
  aspect-ratio: 226/171;
  width: 22.6rem;
  margin-left: -4rem;
}
@media screen and (min-width: 900px) {
  .top-about-image .middle02 {
    aspect-ratio: 302/229;
    width: 30.2rem;
    margin: 0 0 auto auto;
  }
}

.open-event {
  width: auto;
  border-radius: 2rem;
  background-color: #fcfbf6;
  position: relative;
  margin: 4rem 2.2rem 0;
  padding-bottom: 2.5rem;
  box-shadow: 0px 0px 15px -7px #777777;
}
.open-event a {
  text-decoration: none;
}
@media (any-hover) {
  .open-event a {
    transition: 0.3s;
  }
  .open-event a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 900px) {
  .open-event {
    width: 80rem;
    margin: 9.5rem auto 0;
    padding-bottom: 3rem;
  }
}
.open-event img {
  width: 100%;
}
.open-event .ttl {
  width: 29.6rem;
  margin-inline: auto;
  transform: translateY(-1.4rem);
}
@media screen and (min-width: 900px) {
  .open-event .ttl {
    width: 69.5rem;
    transform: translateY(-2rem);
  }
}
.open-event .ill {
  position: absolute;
  width: 7.4rem;
  top: 6.7rem;
  left: -1.2rem;
}
@media screen and (min-width: 900px) {
  .open-event .ill {
    width: 13.6rem;
  }
}
.open-event .date {
  width: 22.3rem;
  margin: 0.6rem auto 0;
}
@media screen and (min-width: 900px) {
  .open-event .date {
    margin-top: 2rem;
    width: 31rem;
  }
}
.open-event .btn-wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
}
@media screen and (min-width: 900px) {
  .open-event .btn-wrapper {
    position: absolute;
    top: 7.8rem;
    right: -4rem;
    margin-top: 0;
  }
}
.open-event .btn-wrapper .btn {
  min-width: 29rem;
}
@media screen and (min-width: 900px) {
  .open-event .btn-wrapper .btn {
    min-width: 25.4rem;
    min-height: 5rem;
  }
}

.top-highlights {
  padding-top: 3rem;
  padding-bottom: 7rem;
  position: relative;
}
.top-highlights .ill01 {
  width: 24.9rem;
  left: calc(50% - 64rem);
  top: -5rem;
}
.top-highlights .ill02 {
  width: 12.9rem;
  left: calc(50% + 27rem);
  top: 2.1rem;
}
.top-highlights::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  width: 100%;
  left: 0;
  right: 0;
  height: 12.7rem;
  background: url(../img/index/upper_highlight_sp.png) no-repeat center bottom/100% 100%;
}
@media screen and (min-width: 900px) {
  .top-highlights::before {
    background-image: url(../img/index/upper_highlight.png);
    height: 28rem;
  }
}
@media screen and (min-width: 900px) {
  .top-highlights {
    padding-top: 4rem;
    padding-bottom: 12rem;
  }
}
.top-highlights__list {
  padding-left: 0;
  margin-left: 0;
  list-style: none;
}
@media screen and (min-width: 900px) {
  .top-highlights__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8.8rem;
    margin-top: 8.4rem;
  }
}
.top-highlights__item {
  margin-top: 6.8rem;
  position: relative;
}
.top-highlights__item a {
  text-decoration: none;
  display: block;
}
@media (any-hover) {
  .top-highlights__item a {
    transition: 0.3s;
  }
  .top-highlights__item a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 900px) {
  .top-highlights__item {
    width: 36rem;
    margin-top: 0;
  }
}
.top-highlights__item.-green .num {
  background-image: url(../img/index/balloon_green_sp.svg);
  color: #66d166;
}
@media screen and (min-width: 900px) {
  .top-highlights__item.-green .num {
    background-image: url(../img/index/balloon_green.svg);
  }
}
.top-highlights__item.-green .top-highlights__item-heading {
  background-color: #66d166;
}
.top-highlights__item.-green .top-highlights__item-heading::after {
  background-color: #469646;
}
.top-highlights__item.-pink .num {
  color: #e37dc4;
  background-image: url(../img/index/balloon_pink_sp.svg);
}
@media screen and (min-width: 900px) {
  .top-highlights__item.-pink .num {
    background-image: url(../img/index/balloon_pink.svg);
  }
}
.top-highlights__item.-pink .top-highlights__item-heading {
  background-color: #e37dc4;
}
.top-highlights__item.-pink .top-highlights__item-heading::after {
  background-color: #a05689;
}
.top-highlights__item.-aqua .num {
  color: #49c2ee;
  background-image: url(../img/index/balloon_blue_sp.svg);
}
@media screen and (min-width: 900px) {
  .top-highlights__item.-aqua .num {
    background-image: url(../img/index/balloon_blue.svg);
  }
}
.top-highlights__item.-aqua .num::before {
  border-color: #49c2ee transparent transparent;
}
.top-highlights__item.-aqua .top-highlights__item-heading {
  background-color: #49c2ee;
}
.top-highlights__item.-aqua .top-highlights__item-heading::after {
  background-color: #2e8daf;
}
.top-highlights__item .num {
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  background-size: 100% 100%;
  font-size: 3rem;
  font-weight: 700;
  display: grid;
  place-content: center;
  transform: translate(-50%, -50%);
  top: 0;
  left: 50%;
  font-style: normal;
  width: 10.6rem;
  height: 10.6rem;
  border-radius: 1000px;
}
@media screen and (min-width: 900px) {
  .top-highlights__item .num {
    background-size: contain;
    left: 0;
    width: 10.2rem;
    height: 7.6rem;
  }
}
.top-highlights__item-image {
  border-radius: 2rem;
  overflow: hidden;
  aspect-ratio: 370/404;
}
.top-highlights__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-highlights__item-heading {
  position: absolute;
  font-size: 2rem;
  z-index: 2;
  bottom: 3rem;
  color: #fff;
  border-radius: 0 100px 100px 0;
  min-width: 21rem;
  text-align: center;
  min-height: 5.5rem;
  display: grid;
  place-content: center;
  left: -1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 900px) {
  .top-highlights__item-heading {
    font-size: 2.2rem;
  }
}
.top-highlights__item-heading::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 1rem;
  height: 1rem;
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
          clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.top-highlights__item-text {
  position: absolute;
  font-size: 2rem;
  z-index: 2;
  top: -2.5rem;
  background-color: #fff;
  display: inline-block;
  writing-mode: vertical-rl;
  right: 2.5rem;
  font-weight: 600;
  padding: 1rem 0.5rem;
  margin: 0;
  letter-spacing: 0.1em;
  box-shadow: 0px 0px 15px -8px #777777;
}

.top-txt-slider {
  overflow: clip;
  padding-top: 4rem;
}
@media screen and (min-width: 900px) {
  .top-txt-slider {
    padding-top: 0;
    margin-top: -6rem;
  }
}
.top-txt-slider p {
  font-size: 7.6rem;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: 0;
  color: #fff;
  line-height: 1;
  margin-bottom: -2rem;
}
@media screen and (min-width: 900px) {
  .top-txt-slider p {
    font-size: 35rem;
  }
}

.top-news {
  padding: 5rem 3.7rem 14rem;
}
@media screen and (min-width: 900px) {
  .top-news {
    padding: 11rem 0 20rem;
    position: relative;
  }
  .top-news .ill {
    width: 20.1rem;
    left: calc(50% - 38rem);
    top: -8rem;
  }
}
@media screen and (min-width: 900px) {
  .top-news__content {
    width: 110rem;
    margin-inline: auto;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    -moz-column-gap: 6.37rem;
         column-gap: 6.37rem;
  }
}
.top-news__list {
  list-style: none;
  padding-left: 0;
  margin-top: 1rem;
}
@media screen and (min-width: 900px) {
  .top-news__list {
    grid-column: 2;
    grid-row: 1/span 2;
    margin-top: 0;
  }
}
.top-news__item {
  border-bottom: 1px solid #adadad;
}
.top-news__item:last-of-type {
  border-bottom: none;
}
.top-news__item a {
  display: block;
  text-decoration: none;
}
@media (any-hover) {
  .top-news__item a {
    transition: 0.3s;
  }
  .top-news__item a:hover {
    opacity: 0.7;
  }
}
.top-news__item p {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.top-news__inner {
  padding-block: 3rem;
}
@media screen and (min-width: 900px) {
  .top-news .section__ttl {
    grid-column: 1;
    grid-row: 1;
    margin-top: 3rem;
  }
}
.top-news .ttl-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}
.top-news .ttl-wrapper .date {
  flex-shrink: 0;
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 0.6rem;
}
.top-news__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  /* white-space: nowrap; */
  margin-right: 1em;
}
@media screen and (min-width: 900px) {
  .top-news__ttl {
    font-size: 2rem;
  }
}
.top-news .btn-wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
}
@media screen and (min-width: 900px) {
  .top-news .btn-wrapper {
    grid-column: 1;
    grid-row: 2;
    margin-top: 7.8rem;
  }
}

.top-news__text {
  --font-size-pc: calc(36 / var(--pcW) * 1vw);
  --font-size-sp: calc(32 / 4.14 * 1vw);
  font-weight: 600;
  text-align: center;
}

.top-news__button .sw-button__icon {
  width: 7.73vw;
}

.ill {
  position: absolute;
}
.ill img {
  width: 100%;
}

.top-facility-information {
  background-color: #f2f1e9;
  position: relative;
  padding-top: 16.8rem;
  overflow-x: clip;
}
.top-facility-information .ill03 {
  width: 14.2rem;
  left: calc(50% + 3rem);
  top: 2rem;
}
@media screen and (min-width: 900px) {
  .top-facility-information .ill03 {
    width: 33.1rem;
    left: calc(50% - 64rem);
    top: -5rem;
  }
}
.top-facility-information::before {
  top: -3rem;
  left: -2.9rem;
  content: "";
  position: absolute;
  width: 22rem;
  height: 15.8rem;
  background: url(../img/index/information-bg-dec@2x.png) no-repeat center center/100% 100%;
}
@media screen and (min-width: 900px) {
  .top-facility-information::before {
    width: 65.7rem;
    height: 42.3rem;
    left: auto;
    right: -9rem;
    top: 13rem;
    z-index: 10;
    background-image: url(../img/index/ill_tree.svg);
  }
}

.p-top-facility-upper {
  padding-bottom: 19rem;
  position: relative;
}
@media screen and (min-width: 900px) {
  .p-top-facility-upper {
    padding-bottom: 49.4rem;
  }
}
.p-top-facility-upper .ill05 {
  bottom: -12rem;
  z-index: 10;
  width: 18.6rem;
  left: 2.2rem;
}

.top-facility {
  background-color: #ffe585;
  position: relative;
  padding-top: 3rem;
  padding-bottom: 10.4rem;
  position: relative;
}
@media screen and (min-width: 900px) {
  .top-facility {
    padding-bottom: 39rem;
  }
}
.top-facility::before {
  content: "";
  position: absolute;
  height: 10rem;
  background: url(../img/index/upper_facility_bottom.svg) no-repeat center/100% 100%;
  left: 0;
  right: 0;
  bottom: calc(100% - 1px);
  z-index: 1;
  width: 100%;
}
@media screen and (min-width: 900px) {
  .top-facility::before {
    height: 34rem;
    background-image: url(../img/index/upper_top-facility.svg);
  }
}
.top-facility .ill06 {
  display: none;
  width: 20.3rem;
  left: 16rem;
  top: 47rem;
}
@media screen and (min-width: 900px) {
  .top-facility .ill06 {
    display: block;
  }
}
.top-facility .ill07 {
  display: none;
  width: 8.1rem;
  right: 39.2rem;
  top: 77rem;
}
@media screen and (min-width: 900px) {
  .top-facility .ill07 {
    display: block;
  }
}

.facility__list {
  position: relative;
  z-index: 10;
  margin-inline: 2.2rem;
  padding-left: 0;
  list-style: none;
}
@media screen and (min-width: 900px) {
  .facility__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 128rem;
    margin-inline: auto;
    gap: 12.3rem 4rem;
    margin-top: -28rem;
  }
}
.facility__item {
  position: relative;
  background-color: #fff;
  border-radius: 1rem;
  padding: 2rem 1.5rem 6rem;
  box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .facility__item {
    width: 40rem;
    padding: 5.7rem 3.2rem 8rem;
    border-radius: 3rem;
  }
}
.facility__item + .facility__item {
  margin-top: 8.5rem;
}
@media screen and (min-width: 900px) {
  .facility__item + .facility__item {
    margin-top: 0;
  }
}
.facility__item .btn-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  bottom: 0;
  margin-inline: auto;
  transform: translateY(50%);
}
.facility__item .catch {
  position: absolute;
  font-size: 1.8rem;
  font-family: "Zen Maru Gothic", serif;
  letter-spacing: 0.06em;
  color: #ee8149;
  text-align: center;
  background-color: #fff;
  font-weight: 500;
  left: 0;
  right: 0;
  top: 0;
  min-width: 25rem;
  min-height: 5rem;
  display: grid;
  place-content: center;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 2;
  border-radius: 100px;
  border: 1px solid #ee8149;
  top: -1.5rem;
}
@media screen and (min-width: 900px) {
  .facility__item .catch {
    top: -2.6rem;
    min-width: 24rem;
  }
}
.facility__item .catch::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 1rem 0.9rem 0 0.9rem;
  border-color: #ee8149 transparent transparent;
  translate: -50% 100%;
  transform: skew(1deg);
  transform-origin: top;
}
.facility__item .catch::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: calc(1rem - 1px) calc(0.9rem - 1px) 0 calc(0.9rem - 1px);
  border-color: #ffffff transparent transparent;
  translate: -50% 100%;
  transform: skew(1deg);
  transform-origin: top;
}
.facility__item-image {
  aspect-ratio: 340/220;
  overflow: hidden;
}
@media screen and (min-width: 900px) {
  .facility__item-image {
    aspect-ratio: 337/242;
  }
}
.facility__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.facility__item-body {
  padding-top: 1.5rem;
}
.facility__item-body p {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (min-width: 900px) {
  .facility__item-body {
    padding-top: 2rem;
  }
}
.facility__item-ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: left;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 900px) {
  .facility__item-ttl {
    font-size: 3rem;
    margin-bottom: 2.5rem;
  }
}
.facility__item-table {
  margin-top: 1rem;
}
.facility__item-table > div {
  display: flex;
  border-top: 1px solid #d1d1d1;
}
.facility__item-table > div:last-of-type {
  border-bottom: 1px solid #d1d1d1;
}
.facility__item-table dt {
  font-size: 1.4rem;
  font-weight: 700;
  width: 14rem;
  flex-shrink: 0;
  background-color: #f2f0e9;
  padding: 1.9rem 1.2rem;
  text-align: left;
  box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .facility__item-table dt {
    font-size: 2rem;
    width: 17rem;
    padding: 2.6rem 2.5rem;
  }
}
.facility__item-table dt p {
  position: relative;
  font-size: 1.4rem;
}
@media screen and (min-width: 900px) {
  .facility__item-table dt p {
    font-size: 2rem;
  }
}
.facility__item-table dt.holiday p, .facility__item-table dt.tel p, .facility__item-table dt.hour p {
  padding-left: 2rem;
  position: relative;
}
@media screen and (min-width: 900px) {
  .facility__item-table dt.holiday p, .facility__item-table dt.tel p, .facility__item-table dt.hour p {
    padding-left: 2.6rem;
  }
}
.facility__item-table dt.holiday p::before, .facility__item-table dt.tel p::before, .facility__item-table dt.hour p::before {
  content: "";
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #c28d48;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  left: 0;
  top: 55%;
  transform: translateY(-50%);
}
@media screen and (min-width: 900px) {
  .facility__item-table dt.holiday p::before, .facility__item-table dt.tel p::before, .facility__item-table dt.hour p::before {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.facility__item-table dt.hour p::before {
  -webkit-mask-image: url(../img/common/icon-clock.svg);
          mask-image: url(../img/common/icon-clock.svg);
}
.facility__item-table dt.tel p::before {
  -webkit-mask-image: url(../img/common/icon-tel.svg);
          mask-image: url(../img/common/icon-tel.svg);
}
.facility__item-table dt.holiday p::before {
  -webkit-mask-image: url(../img/common/icon-calendar.svg);
          mask-image: url(../img/common/icon-calendar.svg);
}
.facility__item-table dd {
  padding: 1.9rem 2rem;
  font-weight: 500;
  font-size: 1.4rem;
}
@media screen and (min-width: 900px) {
  .facility__item-table dd {
    padding: 2.8rem 0.5rem 2.8rem 2rem;
    font-size: 1.8rem;
  }
}
.facility__item-table dd p,
.facility__item-table dd a {
  font-size: 1.4rem;
}
@media screen and (min-width: 900px) {
  .facility__item-table dd p,
.facility__item-table dd a {
    font-size: 1.8rem;
  }
}
.facility__item-table dd a {
  text-decoration: none;
}

.facility-map {
  position: relative;
  margin-inline: 1.2rem;
  padding-top: 15.8rem;
  padding-bottom: 5.3rem;
}
.facility-map a {
  text-decoration: none;
}
@media (any-hover) {
  .facility-map a {
    transition: 0.3s;
  }
  .facility-map a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 900px) {
  .facility-map {
    width: 110rem;
    padding-top: 30rem;
    margin-inline: auto;
  }
}
.facility-map .ill {
  position: absolute;
  z-index: 10;
}
.facility-map .ill img {
  width: 100%;
}
@media screen and (min-width: 900px) {
  .facility-map__inner {
    display: flex;
    height: 35rem;
  }
}
.facility-map-content {
  position: relative;
  z-index: 1;
}
.facility-map-content::before {
  position: absolute;
  content: "";
  left: 0;
  top: -8.4rem;
  width: 32.7rem;
  height: 9.3rem;
  background: url(../img/index/txt_facility-map.svg) no-repeat center center/contain;
  z-index: 0;
}
@media screen and (min-width: 900px) {
  .facility-map-content::before {
    left: -9rem;
    top: -14.4rem;
    width: 59.9rem;
    height: 17.2rem;
  }
}
.facility-map-content .ill01 {
  width: 11.3rem;
  right: 2rem;
  top: -1.4rem;
}
@media screen and (min-width: 900px) {
  .facility-map-content .ill01 {
    width: 27rem;
    top: auto;
    bottom: calc(100% - 3rem);
    right: 10rem;
  }
}
.facility-map-content .ill02 {
  width: 17rem;
  left: -4rem;
  bottom: -11rem;
}
.facility-map-image {
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.facility-map-image img {
  width: 100%;
}
@media screen and (min-width: 900px) {
  .facility-map-image {
    width: 55rem;
    border-radius: 3rem 0 0 3rem;
  }
}
.facility-map-body {
  padding-inline: 3.7rem;
  padding-bottom: 6rem;
  background-color: #fff;
  position: relative;
  border-radius: 0 0 1rem 1rem;
  z-index: 3;
}
@media screen and (min-width: 900px) {
  .facility-map-body {
    flex-grow: 1;
    border-radius: 0 3rem 3rem 0;
    display: grid;
    align-items: center;
    padding: 0 0 0 5rem;
  }
}
.facility-map-body .btn-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  bottom: 0;
  transform: translateY(50%);
}
@media screen and (min-width: 900px) {
  .facility-map-body .btn-wrapper {
    margin-right: 3rem;
    bottom: -1rem;
  }
}
.facility-map-body .btn-wrapper .ill02 {
  width: 6.2rem;
  pointer-events: none;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  height: 8.1rem;
}
.facility-map-body .btn-wrapper .btn {
  background-color: #ee8149;
}
@media screen and (min-width: 900px) {
  .facility-map-body .btn-wrapper .btn {
    min-width: inherit;
    min-height: inherit;
    width: 20.3rem;
    height: 20.3rem;
    border-radius: 1000px;
    line-height: 1.75;
    text-align: center;
    display: block;
    padding-top: 5.4rem;
    place-content: inherit;
  }
  .facility-map-body .btn-wrapper .btn::after {
    content: "";
    right: auto;
    left: 50%;
    top: auto;
    bottom: 5.4rem;
    transform: translate(-50%, 0);
  }
}
.facility-map-ttl {
  font-family: "Zen Maru Gothic", serif;
  font-size: 2rem;
  line-height: 2;
  font-weight: 500;
  margin-top: -2rem;
}
.facility-map-ttl * {
  font-size: 2rem;
}
@media screen and (min-width: 900px) {
  .facility-map-ttl {
    font-size: 2.6rem;
    margin-top: 0;
    line-height: 2.1923076923;
  }
}
.facility-map-ttl span {
  background-image: repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 8px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1.5px;
  padding-bottom: 0.5rem;
  font-size: inherit;
}
@media screen and (min-width: 900px) {
  .facility-map-ttl span {
    padding-bottom: 1rem;
    background-image: repeating-linear-gradient(90deg, #000000, #000000 3px, transparent 3px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
  }
}

.top-events {
  position: relative;
  background-color: #efedd6;
  overflow-x: clip;
  padding-bottom: 10rem;
}
@media screen and (min-width: 900px) {
  .top-events {
    padding-top: 1rem;
    padding-bottom: 12rem;
  }
}
.top-events .ill {
  position: absolute;
}
.top-events .ill01 {
  width: 5.8rem;
  left: calc(50% + 3rem);
  top: -6rem;
}
@media screen and (min-width: 900px) {
  .top-events .ill01 {
    top: -6rem;
    width: 15.2rem;
    left: calc(50% - 42rem);
  }
}
.top-events .ill02 {
  width: 5.4rem;
  left: calc(50% + 11rem);
  top: -2.9rem;
}
@media screen and (min-width: 900px) {
  .top-events .ill02 {
    width: 11.4rem;
    left: calc(50% + 28rem);
    top: -3.3rem;
  }
}
.top-events::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 10rem;
  bottom: calc(100% - 1px);
  background: url(../img/index/upper_events_sp.svg) no-repeat center/100% 100%;
}
@media screen and (min-width: 900px) {
  .top-events::before {
    height: 19rem;
    background-image: url(../img/index/upper_events.svg);
  }
}
.top-events .swiper-button-next:after,
.top-events .swiper-button-prev:after {
  display: none;
}
.top-events .top-events__slider-next,
.top-events .top-events__slider-prev {
  position: absolute;
  width: 5rem;
  height: 5rem;
  top: 6.1rem;
}
@media screen and (min-width: 900px) {
  .top-events .top-events__slider-next,
.top-events .top-events__slider-prev {
    width: 6rem;
    height: 6rem;
    top: 19rem;
  }
}
@media screen and (min-width: 900px) and (any-hover) {
  .top-events .top-events__slider-next,
.top-events .top-events__slider-prev {
    transition: 0.3s;
  }
  .top-events .top-events__slider-next:hover,
.top-events .top-events__slider-prev:hover {
    opacity: 0.7;
  }
}
.top-events .top-events__slider-next img,
.top-events .top-events__slider-prev img {
  width: 100%;
}
.top-events .top-events__slider-next {
  right: 2.2rem;
}
@media screen and (min-width: 900px) {
  .top-events .top-events__slider-next {
    right: calc(50% - 84rem);
  }
}
.top-events .top-events__slider-prev {
  left: 2.2rem;
}
@media screen and (min-width: 900px) {
  .top-events .top-events__slider-prev {
    left: calc(50% - 84rem);
  }
}

.top-event__slider-control {
  position: relative;
}

@media screen and (min-width: 900px) {
  .top-event__slider {
    width: 160rem;
    margin-inline: auto;
  }
}

.top-topics-tnews {
  padding: 5rem 3.7rem 9rem;
  overflow-x: clip;
  position: relative;
}
.top-topics-tnews::before {
  content: "";
  position: absolute;
  top: -6.6rem;
  right: -2.5rem;
  width: 20.7rem;
  height: 14.9rem;
  background: url(../img/index/information-bg-dec@2x.png) no-repeat center/100% 100%;
  transform: scale(-1, 1);
}
@media screen and (min-width: 900px) {
  .top-topics-tnews::before {
    width: 65.7rem;
    height: 42.3rem;
    transform: scale(1, 1);
    right: auto;
    top: -19.4rem;
    left: -21rem;
  }
}
@media screen and (min-width: 900px) {
  .top-topics-tnews {
    padding: 16.7rem 0 16rem;
  }
}
.top-topics-tnews .btn-wrapper {
  margin-top: 3rem;
}
@media screen and (min-width: 900px) {
  .top-topics-tnews .btn-wrapper {
    margin-top: 4rem;
    width: 34rem;
  }
}
@media screen and (min-width: 900px) {
  .top-topics-tnews .btn {
    min-width: inherit;
    width: 100%;
  }
}

@media screen and (min-width: 900px) {
  .top-topics-news__container {
    display: flex;
    width: 110rem;
    margin-inline: auto;
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }
}

.article__list {
  list-style: none;
  padding-left: 0;
  margin-top: 2rem;
}
@media screen and (min-width: 900px) {
  .article__list {
    margin-top: 2.5rem;
    width: 56.6rem;
  }
}

.article__item {
  border-bottom: 1px solid #adadad;
}
.article__item:last-of-type {
  border-bottom: none;
}
.article__item a {
  text-decoration: none;
  display: block;
}
@media (any-hover) {
  .article__item a {
    transition: 0.3s;
  }
  .article__item a:hover {
    opacity: 0.7;
  }
}

.article__inner {
  padding-block: 2rem;
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.article__inner .ttl-wrapper {
  margin-bottom: 1rem;
  margin-top: -0.8rem;
}
@media screen and (min-width: 900px) {
  .article__inner .ttl-wrapper {
    margin-bottom: 0.4rem;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}
.article__inner .date {
  font-size: 1.4rem;
  flex-shrink: 0;
}
@media screen and (min-width: 900px) {
  .article__inner .date {
    margin-top: 0.5rem;
  }
}
.article__inner p {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.article__image {
  width: 16.4rem;
  height: 12.5rem;
  flex-shrink: 0;
}
@media screen and (min-width: 900px) {
  .article__image {
    width: 14rem;
    height: 10.5rem;
  }
}
.article__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.article__body {
  flex-grow: 1;
  max-width: 16.1rem;
}
@media screen and (min-width: 900px) {
  .article__body {
    max-width: 40rem;
  }
}

.article__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (min-width: 900px) {
  .article__ttl {
    font-size: 2rem;
    margin-right: 1em;
  }
}

.top-tnews__block {
  margin-top: 7rem;
}
@media screen and (min-width: 900px) {
  .top-tnews__block {
    margin-top: 0;
  }
}

.mv-upper {
  width: 21.2rem;
  height: 15.5rem;
  z-index: 10;
  left: 20rem;
  top: 0;
}
/*# sourceMappingURL=index.css.map */