@charset "UTF-8";
/* ::::::::::  施設  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
#facility h2.secTitle02 {
  font-size: 2.1rem;
  text-align: left;
  margin-block: 48px 64px;
  padding: 27px 50px;
  border-radius: 32px 32px 0 0;
}
@media (max-width: 1024px) {
  #facility h2.secTitle02 {
    font-size: 1.5rem;
    margin-block: 40px 28px;
    padding: 12px 20px;
    border-radius: 17px 17px 0 0;
  }
}

.facility .tabArea.pageTop ul {
  margin-bottom: 48px;
}
@media (max-width: 1024px) {
  .facility .tabArea.pageTop ul {
    margin-bottom: 40px;
  }
}
.facilityBlock:last-of-type {
  border-bottom: none;
}
.facilityList {
  gap: 80px 49px;
  margin-bottom: 150px;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .facilityList {
    gap: 80px 32px;
  }
}
@media (max-width: 1024px) {
  .facilityList {
    margin-bottom: 70px;
  }
}
@media (max-width: 767px) {
  .facilityList li + li {
    margin-top: 48px;
  }
}
.facilityList li .secTitle02 {
  line-height: 1.3;
}
@media (max-width: 1024px) {
  .facilityList li .secTitle02 {
    font-size: 1.6rem;
  }
}
@media (max-width: 1024px) {
  .facilityList li p {
    font-size: 1.2rem;
  }
}
.facilityList li .photo {
  position: relative;
  border-radius: 0;
}
@media (max-width: 1024px) {
  .facilityList li .photo {
    margin-bottom: 12px;
  }
}
.facilityList li .photo img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 340/230;
}
.facilityList li .photo .note {
  position: absolute;
  bottom: 4px;
  right: 4px;
  font-size: 1.4rem;
}
@media (max-width: 1024px) {
  .facilityList li .photo .note {
    font-size: 1.2rem;
  }
}
.facilityList li p {
  line-height: 1.7;
}
.facilityList li p a {
  display: block;
  font-size: 1.4rem;
  margin: 8px 0 0;
}
@media (max-width: 1024px) {
  .facilityList li p a {
    font-size: 1.2rem;
  }
}
.facilityList li > a {
  text-decoration: none;
}
.facilityList li > a:hover {
  color: #4d4d4d;
}
.facilityList li > a:hover .icon_link {
  fill: #4d4d4d;
}
.facilityList li > a .link {
  display: block;
  margin: 8px 0 0;
  text-decoration: underline;
  transition: all 0.2s;
}
@media (max-width: 1024px) {
  .facilityList li > a .link {
    font-size: 1.2rem;
  }
}
.facilityList li > a .link:hover {
  color: #467ba1;
  text-decoration: none;
}
.facilityList li > a .link:hover .icon_link {
  fill: #467ba1;
}
.facilityList li > a:has(.link:hover) {
  opacity: 1;
}
.facilityList li.others {
  display: flex;
  flex-direction: column;
}
.facilityList li.others .textBlock {
  margin-block: auto 128px;
}
@media (max-width: 1024px) {
  .facilityList li.others .textBlock {
    margin-bottom: 0;
  }
}
.facilityList li.others .textBlock .secTitle02,
.facilityList li.others .textBlock .secTitle02 p {
  margin: 4px 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #4d4d4d;
}
.facilityList li.others .textBlock .othersList {
  display: flex;
  gap: 10px 15px;
  flex-wrap: wrap;
}
.facilityList li.others .textBlock .othersList > li {
  position: relative;
  padding-left: 1em;
  font-size: 1.9rem;
  text-transform: capitalize;
  color: #4d4d4d;
  line-height: 1.3;
}
@media (max-width: 1024px) {
  .facilityList li.others .textBlock .othersList > li {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .facilityList li.others .textBlock .othersList > li {
    font-size: 1.3rem;
  }
}
.facilityList li.others .textBlock .othersList > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.facilityList li.others .textBlock .othersList > li.pc::before {
  content: none;
}
.facilityList li.others .textBlock .othersList > li + li {
  margin-top: 0;
}
.facility #stay .btn {
  display: none;
}
.facility .smartMarche {
  max-width: 730px;
  margin-block: 64px 128px;
}
@media (max-width: 1024px) {
  .facility .smartMarche {
    max-width: 100%;
    margin-block: 48px 72px;
  }
}
.facility .amenityList {
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 16px;
}
@media (max-width: 767px) {
  .facility .amenityList {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 8px;
  }
  body.lang_ru .facility .amenityList {
    margin-inline: -6vw;
  }
}
.facility .amenityList li {
  border-radius: 14px;
  background-color: #cbdae5;
  padding-inline: 4px;
  font-family: YuGothic, "游ゴシック", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", Meiryo, "メイリオ", Verdana, sans-serif;
}
@media (max-width: 1024px) {
  .facility .amenityList li {
    border-radius: 11px;
  }
}
.facility .amenityList li .icon {
  filter: grayscale(1) brightness(2.5);
}
@media (max-width: 1024px) {
  .facility .amenityList li .name:has(small) {
    margin-inline: -4px;
  }
}
.facility .amenityList li .name small {
  font-size: 1.1rem;
}
@media (max-width: 1024px) {
  .facility .amenityList li .name small {
    font-size: 1rem;
  }
}
body.lang_en .facility .amenityList li .name, body.lang_fr .facility .amenityList li .name, body.lang_es .facility .amenityList li .name, body.lang_it .facility .amenityList li .name, body.lang_ru .facility .amenityList li .name {
  height: 4em;
}
.facility .amenity .noteWrap {
  position: relative;
  line-height: 1.6;
  margin-top: 15px;
}
@media (max-width: 1024px) {
  .facility .amenity .noteWrap {
    margin: 40px 0 0;
    font-size: 1.2rem;
  }
}
.facility .amenity .noteWrap .btn {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
}
@media (max-width: 1024px) {
  .facility .amenity .noteWrap .btn {
    position: static;
    margin: 40px 0 24px;
  }
}
.facility .amenity .noteWrap .note {
  margin: 0 0 1lh;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.facility .amenity .noteWrap .flexBox div p {
  padding-left: 1em;
  text-indent: -1em;
}
.facility .amenity .ameniteyWrap {
  display: none;
}
.facility .amenity .ameniteyWrap .amenityBox .note {
  font-size: 1.3rem;
  border: 1px solid #b2b2b2;
  padding: 5px 10px;
  margin-top: 15px;
}
@media (max-width: 1024px) {
  .facility .amenity .ameniteyWrap .amenityBox .note {
    margin-top: 10px;
    font-size: 1.1rem;
  }
}
.facility .amenityKidsWrap {
  display: flex;
  gap: 115px;
  margin-top: 50px;
}
@media (max-width: 1024px) {
  .facility .amenityKidsWrap {
    flex-direction: column;
    gap: 0;
  }
}
.facility .amenityKidsWrap .amenityKids {
  width: 32.5%;
  min-width: 365px;
}
@media (max-width: 1024px) {
  .facility .amenityKidsWrap .amenityKids {
    width: 100%;
    min-width: initial;
  }
}
.facility .amenityKidsWrap .amenityKids .amenityList {
  grid-template-columns: repeat(auto-fill, minmax(110px, 109px));
}
@media (max-width: 1024px) {
  .facility .amenityKidsWrap .amenityKids .amenityList {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  }
}
@media (max-width: 767px) {
  .facility .amenityKidsWrap .amenityKids .amenityList {
    grid-template-columns: repeat(3, 1fr);
  }
}
.facility .amenityKidsWrap .amenityKids .amenityList li .icon {
  filter: initial;
}
.facility .amenityKidsWrap .noteWrap {
  width: 56%;
}
@media (max-width: 1024px) {
  .facility .amenityKidsWrap .noteWrap {
    width: 100%;
  }
}/*# sourceMappingURL=resort_facility.css.map */