@charset "UTF-8";
/* =============================================================================

Facility CSS

・施設サービス・館内アートCSS「page-facilities」

上記はここに記述する

============================================================================= */
/* PC Contents Width
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .p-w-pc-1440 {
    width: 144rem;
  }
}

/*  FLOOR MAP
----------------------------------------------------------------------------- */
@media (width <= 640px) {
  .facilities-floor-map-container .l-heading-B {
    margin-bottom: 4rem;
  }
}

.facilities-floor-map-block {
  display: flex;
  flex-wrap: wrap;
}
@media (width > 640px) {
  .facilities-floor-map-block {
    gap: 5.6rem;
  }
}
@media (width <= 640px) {
  .facilities-floor-map-block {
    flex-direction: column;
    gap: 4rem;
  }
}
@media (width <= 640px) {
  .facilities-floor-map-block .l-heading-B {
    margin-bottom: 4rem;
  }
}
@media (width > 640px) {
  .facilities-floor-map-block__map {
    width: 85.1rem;
    height: 65.9rem;
  }
}
.facilities-floor-map-block__info {
  flex: 1;
}
@media (width <= 640px) {
  .facilities-floor-map-block__info {
    padding-inline: 3rem;
  }
}
.facilities-floor-map-block__info .l-table-A dt {
  font-size: 1.5rem;
  line-height: 2.1;
}
@media (width <= 640px) {
  .facilities-floor-map-block__info .l-table-A dt {
    line-height: 1.8;
  }
}
.facilities-floor-map-block__info .l-table-A dd {
  font-size: 1.3rem;
  line-height: 1.8;
}
@media (width <= 640px) {
  .facilities-floor-map-block__map, .facilities-floor-map-block__info {
    flex: 1 1 100%;
  }
}

/* サービス・設備
----------------------------------------------------------------------------- */
@media (width <= 640px) {
  .facilities-services {
    .l-column3-carussel {
      position: relative;
    }
    .js-carousel-count-A {
      position: absolute;
      top: 24.0rem;
      left: 0;
      margin-top: 0;
      width: 100%;
    }
    .item-img {
      margin-bottom: 9.6rem;
    }
  }
}

/* お車について
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .facilities-car-about-block__content {
    position: relative;
    padding-left: 44rem;
  }
}
@media (width <= 640px) {
  .facilities-car-about-block__content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
@media (width > 640px) {
  .facilities-car-about-block__content:not(:last-child) {
    margin-bottom: 10.4rem;
  }
}
@media (width <= 640px) {
  .facilities-car-about-block__content:not(:last-child) {
    margin-bottom: 4rem;
    padding-bottom: 4rem;
    border-bottom: 1px solid var(--cc-gray_line-A);
  }
}
@media (width > 640px) {
  .facilities-car-about-block__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 31.2rem;
    height: 23.4rem;
  }
}
.facilities-car-about-block__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (width <= 640px) {
  .facilities-car-about-block__image {
    width: 12rem;
    height: 9rem;
  }
  .facilities-car-about-block__image img {
    height: auto;
  }
}
@media (width > 640px) {
  .facilities-car-about-block__heading {
    margin-bottom: 1.6rem;
  }
}
@media (width <= 640px) {
  .facilities-car-about-block__heading {
    display: flex;
    align-items: center;
    gap: 1.6rem;
  }
}
@media (width <= 640px) {
  .facilities-car-about-block__body {
    margin-top: 1.6rem;
  }
}
.facilities-car-about-block__link {
  color: var(--cc-gray_text-A);
  text-decoration: none;
  word-break: break-all;
}
@media (any-hover: hover) {
  .facilities-car-about-block__link:hover {
    text-decoration: underline;
  }
}
@media (width > 640px) {
  .facilities-car-about-block .l-table-A {
    margin-block: 2.8rem;
  }
}
@media (width <= 640px) {
  .facilities-car-about-block .l-table-A {
    margin-block: 2.4rem;
  }
}
.facilities-car-about-block .l-table-A dt {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1;
}
.facilities-car-about-block .l-table-A dd {
  word-break: break-word;
  font-size: 1.5rem;
  line-height: 2.1;
}

/* Hタグ下余白
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .page_facilities .l-heading-B {
    margin-bottom: 8rem;
  }
}
/* 館内アート
----------------------------------------------------------------------------- */
/* Art-container-A
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .art-container-A {
    position: relative;
  }
}
.art-container-A > .p-w-pc-1360 {
  display: flex;
}
@media (width > 640px) {
  .art-container-A > .p-w-pc-1360 {
    align-items: center;
    justify-content: center;
    margin-block: 16rem;
  }
  .art-container-A > .p-w-pc-1360::after {
    content: "";
    display: block;
    width: 92rem;
    height: 61.3rem;
  }
}
@media (width <= 640px) {
  .art-container-A > .p-w-pc-1360 {
    flex-direction: column;
    margin-block: 10.4rem;
  }
}
@media (width > 640px) {
  .art-container-A__img {
    position: absolute;
    top: 0;
    right: 0;
    width: 92rem;
  }
}
@media (width <= 640px) {
  .art-container-A__img {
    transform: translateX(1.1rem);
    width: 34.9rem;
    -webkit-margin-before: 4.8rem;
            margin-block-start: 4.8rem;
  }
}
.art-container-A__img img {
  display: block;
  width: 100%;
  height: auto;
}
.art-container-A__text {
  font-family: var(--ff-default);
  letter-spacing: 0.12em;
  line-height: 2.1;
}
@media (width > 640px) {
  .art-container-A__text {
    width: 44rem;
    -webkit-margin-before: 5.6rem;
            margin-block-start: 5.6rem;
    font-size: 1.5rem;
  }
}
@media (width <= 640px) {
  .art-container-A__text {
    -webkit-padding-before: 3.2rem;
            padding-block-start: 3.2rem;
    font-size: 1.4rem;
  }
}

/* 横ループ系
----------------------------------------------------------------------------- */
.art-loop-text.js-infiniteloop {
  --loop-duration: 20s;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
  color: var(--cc-gray_line-A);
}
@media (width > 640px) {
  .art-loop-text.js-infiniteloop {
    margin-block: 14.4rem 8rem;
    font-size: 9.6rem;
  }
}
@media (width <= 640px) {
  .art-loop-text.js-infiniteloop {
    margin-block: 8rem 3.2rem;
    font-size: 4.8rem;
  }
}

/* Tsubaki Art Gallery
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .art-gallery {
    width: 147.2rem;
    margin-inline: auto;
  }
}
.art-gallery__group {
  display: grid;
}
@media (width > 640px) {
  .art-gallery__group {
    gap: 10.4rem 6.4rem;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 16rem;
  }
}
@media (width <= 640px) {
  .art-gallery__group {
    gap: 4.8rem;
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 10.4rem;
  }
}
.art-gallery__item {
  /* 作品1枚のスタイル */
}
.art-gallery__item.js-html_modal-button {
  transition-duration: 0.5s;
  transition-property: opacity;
}
@media (any-hover: hover) {
  .art-gallery__item.js-html_modal-button:hover {
    opacity: 0.8;
  }
}
.art-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
}
.art-gallery__meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 1.6rem;
  padding-inline: 1.6rem;
}
@media (width <= 640px) {
  .art-gallery__meta {
    flex-direction: column;
    align-items: flex-start;
    -webkit-padding-end: 0rem;
            padding-inline-end: 0rem;
  }
}
.art-gallery__artist-name {
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.16em;
}
.art-gallery__artist-origin {
  display: flex;
  gap: 1rem;
}
.art-gallery__artist-years, .art-gallery__artist-birthplace {
  font-size: 1.3rem;
  line-height: 1.6;
  letter-spacing: 0.12em;
  color: var(--cc-gray_text-A);
}
.art-gallery__work-title {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.12em;
  font-weight: 500;
}
@media (width <= 640px) {
  .art-gallery__work-title {
    align-self: flex-end;
    margin-top: 1.6rem;
  }
}
.art-gallery__pamphlet {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  background-color: var(--cc-gray_back-A);
}
@media (width > 640px) {
  .art-gallery__pamphlet {
    position: relative;
    gap: 5.6rem;
    width: 64.5rem;
    margin-inline: auto;
    padding: 3.2rem;
  }
  .art-gallery__pamphlet::after {
    content: "";
    display: block;
    width: 15.9rem;
    height: 12rem;
  }
}
@media (width <= 640px) {
  .art-gallery__pamphlet {
    padding: 5.6rem 3.2rem;
  }
}
.art-gallery__pamphlet-text {
  display: inline;
  background-image: linear-gradient(var(--cc-red-A), var(--cc-red-A));
  background-position: 0 100%;
  background-size: 100% 1px;
  background-repeat: repeat-x;
  padding-bottom: 0.5rem;
  word-break: break-word;
  text-align: center;
}
@media (width > 640px) {
  .art-gallery__pamphlet-text {
    display: inline-block;
    margin-bottom: 2.4rem;
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.15em;
  }
}
@media (width <= 640px) {
  .art-gallery__pamphlet-text {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.16em;
  }
}
.art-gallery__pamphlet-image {
  /* パンフレット画像スタイル */
  box-shadow: 2.25px 2.25px 6.75px rgba(0, 0, 0, 0.07);
}
@media (width > 640px) {
  .art-gallery__pamphlet-image {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.2rem;
    display: block;
    width: 15.9rem;
  }
}
@media (width <= 640px) {
  .art-gallery__pamphlet-image {
    margin-block: 4rem;
  }
}
.art-gallery .non-title {
  opacity: 0;
  visibility: hidden;
}
@media (width <= 640px) {
  .art-gallery .non-title {
    display: none;
  }
}
@media (width <= 640px) {
  .art-gallery .text-break-center {
    width: 19rem;
    margin-inline: auto;
    text-align: center;
  }
}

.page_art .art-gallery .art-gallery__pamphlet-link.l-button-C.-reverse.-gray {
  min-height: 4rem !important;
}
@media (width <= 640px) {
  .page_art .art-gallery .art-gallery__pamphlet-link.l-button-C.-reverse.-gray {
    min-height: 4.8rem !important;
  }
}

/* モーダル
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .modal_details {
    display: flex;
    gap: 22rem;
  }
}
@media (width > 640px) {
  .modal_details__img {
    width: 52rem;
  }
}
@media (width <= 640px) {
  .modal_details__img {
    margin-bottom: 4.8rem;
  }
}
.modal_details__img img {
  display: block;
  width: 100%;
  height: auto;
}
@media (width > 640px) {
  .modal_details__body {
    width: 44rem;
  }
}
@media (width <= 640px) {
  .modal_details__body {
    width: 100%;
  }
}
@media (width <= 640px) {
  .modal_details__body .art-container-B__outline-title {
    margin-top: 6.4rem;
  }
}
@media (width > 640px) {
  .modal_details__map {
    margin-top: 8rem;
  }
}
@media (width <= 640px) {
  .modal_details__map {
    margin-top: 6.4rem;
  }
}
.modal_details__map-title {
  position: relative;
  padding-top: 2.4rem;
  border-top: 1px solid var(--cc-gray_line-A);
  letter-spacing: 0.05em;
  line-height: 1;
}
.modal_details__map-title::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
  height: 1px;
  background-color: var(--cc-red-A);
}
@media (width > 640px) {
  .modal_details__map-title::before {
    width: 4.8rem;
  }
}
@media (width <= 640px) {
  .modal_details__map-title::before {
    width: 3.6rem;
  }
}
@media (width > 640px) {
  .modal_details__map-title {
    font-size: 2.4rem;
  }
}
@media (width <= 640px) {
  .modal_details__map-title {
    font-size: 2rem;
  }
}
@media (width > 640px) {
  .modal_details__map-img {
    margin-top: 3.2rem;
  }
}
@media (width <= 640px) {
  .modal_details__map-img {
    margin-top: 2.4rem;
  }
}
.modal_details__map-img img {
  display: block;
  width: 100%;
  height: auto;
}
/*# sourceMappingURL=page-facilities.css.map */