/* Common */
/* Media */
/* Content */
/* Blocks */
.p-accommodation-main { background: rgba(32, 60, 137, 0.04); box-shadow: 0 0.52083vw 1.95313vw rgba(28, 28, 28, 0.08); overflow: hidden; }

.p-accommodation-main__content { position: relative; display: flex; flex-direction: column; justify-content: space-between; }

.p-accommodation-main__title { margin-top: 4.16667vw; margin-bottom: 1.5625vw; font-size: 4.42708vw; letter-spacing: -0.02em; font-weight: 600; line-height: 1; max-width: 100%; }

.p-accommodation-main__title--accent { color: #203C89; }

.p-accommodation-main__desc { font-size: 2.60417vw; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; margin-bottom: 4.16667vw; }

.p-accommodation-about { margin-top: 7.03125vw; }

.p-accommodation-about__content { display: flex; gap: 1.5625vw; }

.p-accommodation-about__desc { font-size: 2.08333vw; font-weight: 500; line-height: 1.4; margin-top: 1.5625vw; opacity: .5; }

.p-accommodation-about__desc--large { margin-top: 0; font-size: 2.34375vw; letter-spacing: -0.01em; line-height: 1.2; opacity: 1; }

.p-accommodation-about__desc-wrap { flex: 1 0 49%; padding: 2.08333vw; border: 1px solid rgba(28, 28, 28, 0.16); border-radius: 1.04167vw; }

.p-accommodation-about__list { padding: 0; margin: 1.5625vw 0 0; list-style-type: none; display: flex; flex-direction: column; gap: 1.04167vw; }

.p-accommodation-about__list-item { position: relative; font-size: 2.08333vw; font-weight: 500; letter-spacing: -0.02em; line-height: 1.4; padding-left: 2.60417vw; }

.p-accommodation-about__list-item:before { content: ''; position: absolute; top: 0.91146vw; left: 0; width: 1.04167vw; height: 1.04167vw; background: #203C89; border-radius: 50%; }

.p-accommodation-about__img { position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }

.p-accommodation-about__img-wrap { flex: 1 0 49%; border-radius: 1.04167vw; overflow: hidden; position: relative; }

.p-accommodation-about__button { width: 100%; margin-top: 3.64583vw; height: 5.98958vw; font-size: 1.82292vw; }

.p-accommodation-housing { padding-top: 7.03125vw; }

.p-accommodation-housing__content { display: flex; flex-direction: column-reverse; gap: 1.5625vw; }

.p-accommodation-housing__left, .p-accommodation-housing__right { flex: 1; display: flex; flex-direction: column; overflow: hidden; }

.p-accommodation-housing__left { flex: 1 0 49%; padding: 2.08333vw; border: 1px solid rgba(28, 28, 28, 0.16); border-radius: 1.04167vw; }

.p-accommodation-housing__desc { font-size: 2.08333vw; font-weight: 500; line-height: 1.4; margin-top: 1.5625vw; opacity: .5; }

.p-accommodation-housing__desc--large { margin-top: 0; font-size: 2.34375vw; letter-spacing: -0.01em; line-height: 1.2; opacity: 1; }

.p-accommodation-housing__list { padding: 0; margin: 2.08333vw 0 0; list-style-type: none; display: flex; flex-direction: column; gap: 1.04167vw; }

.p-accommodation-housing__list-item { position: relative; font-size: 2.08333vw; font-weight: 500; letter-spacing: -0.02em; line-height: 1.4; padding-left: 2.60417vw; }

.p-accommodation-housing__list-item:before { content: ''; position: absolute; top: 0.91146vw; left: 0; width: 1.04167vw; height: 1.04167vw; background: #203C89; border-radius: 50%; }

.p-accommodation-housing__list-wrap { flex: 1; padding: 2.08333vw; border: 1px solid #D6D6D6; border-radius: 1.04167vw; }

.p-accommodation-housing__button { width: 100%; margin-top: 4.16667vw; height: 5.98958vw; font-size: 1.82292vw; }

.p-accommodation-housing__slider { height: 39.0625vw; }

.p-accommodation-housing__slider:before { content: ''; position: absolute; bottom: -2.60417vw; left: 0; right: 0; width: 100%; height: 18.48958vw; background: linear-gradient(180deg, rgba(28, 28, 28, 0) 28%, #1c1c1c 100%); z-index: 5; }

.p-accommodation-housing__slider-wrap { position: relative; flex: 1; border-radius: 1.04167vw; overflow: hidden; }

.p-accommodation-housing__slider-wrap .p-accommodation-housing__slider-pagination { bottom: 3.25521vw; height: 1.30208vw; display: flex; align-items: center; justify-content: center; gap: 1.04167vw; }

.p-accommodation-housing__slider-wrap .p-accommodation-housing__slider-pagination .swiper-pagination-bullet { width: 1.04167vw; min-width: 1.04167vw; height: 1.04167vw; background: transparent; border: 1px solid #fff; margin: 0; opacity: 1; transition: all .15s ease-in-out; border-radius: 50%; backdrop-filter: blur(1.04167vw); }

.p-accommodation-housing__slider-wrap .p-accommodation-housing__slider-pagination .swiper-pagination-bullet-active { background: #fff; box-shadow: 0 0 0 1px #fff; }

.p-accommodation-housing__slider-item { position: relative; }

.p-accommodation-housing__slider-item-img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }

.p-accommodation-housing__slider-arrows { display: none; position: absolute; bottom: 2.08333vw; left: 0; right: 0; width: 100%; align-items: center; justify-content: space-between; padding: 0 2.08333vw; z-index: 12; }

.p-accommodation-housing__slider-arrows-prev, .p-accommodation-housing__slider-arrows-next { display: flex; align-items: center; justify-content: center; width: 10.41667vw; height: 3.64583vw; border-radius: 0.78125vw; border: 1px solid #fff; backdrop-filter: blur(1.04167vw); }

.p-accommodation-housing__slider-arrows-prev-icon, .p-accommodation-housing__slider-arrows-next-icon { position: relative; width: 5.46875vw; height: 1.04167vw; }

.p-accommodation-housing__slider-arrows-prev-icon { left: -1px; }

.p-accommodation-housing__slider-arrows-next-icon { right: -1px; }

.p-accommodation-meals { padding-top: 7.03125vw; }

.p-accommodation-meals__title { margin-bottom: 1.5625vw; }

.p-accommodation-meals__desc { font-size: 2.34375vw; line-height: 1.2; font-weight: 500; letter-spacing: -0.01em; opacity: .5; margin-bottom: 3.125vw; }

.p-accommodation-meals__content { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.5625vw; grid-template-areas: "item1 item1 item1 item2 item2 item2" "item3 item3 item4 item4 item5 item5"; }

.p-accommodation-meals__item { display: flex; flex-direction: column; justify-content: space-between; padding: 2.08333vw; border-radius: 1.04167vw; background: rgba(32, 60, 137, 0.04); }

.p-accommodation-meals__item-title { font-weight: 600; font-size: 2.86458vw; line-height: 1.1; letter-spacing: -0.02em; max-width: 25.39063vw; }

.p-accommodation-meals__item-title-wrap { display: flex; flex-direction: column-reverse; justify-content: flex-start; gap: 4.16667vw; margin-bottom: 1.5625vw; }

.p-accommodation-meals__item-icon { width: 4.16667vw; min-width: 4.16667vw; height: 4.16667vw; }

.p-accommodation-meals__item-desc { font-weight: 500; font-size: 2.08333vw; line-height: 1.2; letter-spacing: 0; }

.p-accommodation-medical { margin-top: 7.03125vw; }

.p-accommodation-medical__content { display: flex; gap: 1.5625vw; }

.p-accommodation-medical__desc { font-size: 2.08333vw; font-weight: 500; line-height: 1.4; margin-top: 1.5625vw; }

.p-accommodation-medical__desc--large { margin-top: 0; font-size: 2.86458vw; margin-bottom: 3.125vw; letter-spacing: -0.01em; line-height: 1.2; opacity: 1; }

.p-accommodation-medical__desc-wrap { flex: 1 0 49%; max-width: 100%; padding: 2.08333vw; border: 1px solid rgba(28, 28, 28, 0.16); border-radius: 1.04167vw; }

.p-accommodation-medical__img { position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }

.p-accommodation-medical__img-wrap { flex: 1 0 49%; border-radius: 1.04167vw; overflow: hidden; position: relative; }

.p-accommodation-medical__button { width: 100%; margin-top: 3.64583vw; height: 5.98958vw; font-size: 1.82292vw; }

.p-accommodation-safety { padding-top: 7.03125vw; }

.p-accommodation-safety__title { margin-bottom: 1.5625vw; }

.p-accommodation-safety__desc { font-size: 2.34375vw; line-height: 1.2; font-weight: 500; letter-spacing: -0.01em; opacity: .5; margin-bottom: 3.125vw; }

.p-accommodation-safety__content { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5625vw; grid-template-areas: "item1 item4" "item2 item5" "item3 item6"; }

.p-accommodation-safety__item { display: flex; flex-direction: column; justify-content: space-between; padding: 2.08333vw; border-radius: 1.04167vw; background: rgba(32, 60, 137, 0.04); }

.p-accommodation-safety__item:nth-child(1) { grid-area: item1; }

.p-accommodation-safety__item:nth-child(2) { grid-area: item2; }

.p-accommodation-safety__item:nth-child(3) { grid-area: item3; }

.p-accommodation-safety__item:nth-child(4) { grid-area: item4; }

.p-accommodation-safety__item:nth-child(5) { grid-area: item5; }

.p-accommodation-safety__item-title { font-weight: 600; font-size: 2.60417vw; line-height: 1.2; letter-spacing: -0.01em; color: #203C89; }

.p-accommodation-safety__item-title-wrap { display: flex; justify-content: space-between; gap: 1.5625vw; margin-bottom: 4.16667vw; }

.p-accommodation-safety__item-icon { width: 4.16667vw; min-width: 4.16667vw; height: 4.16667vw; }

.p-accommodation-safety__item-desc { font-weight: 500; font-size: 2.08333vw; line-height: 1.4; letter-spacing: 0; }

.p-accommodation-safety__button { display: none; }

.p-accommodation-facilities { margin-top: 7.03125vw; }

.p-accommodation-facilities__title { margin-bottom: 1.5625vw; }

.p-accommodation-facilities__desc { font-size: 2.34375vw; line-height: 1.2; font-weight: 500; letter-spacing: -0.01em; opacity: .5; margin-bottom: 3.125vw; }

.p-accommodation-facilities__content { flex: 1; display: flex; flex-direction: column; gap: 1.5625vw; }

.p-accommodation-facilities__content:nth-child(1) { flex-direction: column-reverse; }

.p-accommodation-facilities__content-wrap { display: flex; flex-direction: row; gap: 1.5625vw; }

.p-accommodation-facilities__desc { font-size: 2.08333vw; font-weight: 500; line-height: 1.4; margin-top: 1.5625vw; opacity: .5; }

.p-accommodation-facilities__desc--large { margin-top: 0; font-size: 2.86458vw; font-weight: 600; margin-bottom: 0; letter-spacing: -0.01em; line-height: 1.2; opacity: 1; }

.p-accommodation-facilities__desc-wrap { flex: auto; display: flex; flex-direction: column; justify-content: space-between; padding: 2.08333vw; border: 1px solid rgba(28, 28, 28, 0.16); border-radius: 1.04167vw; }

.p-accommodation-facilities__list { padding: 0; margin: 4.6875vw 0 0; list-style-type: none; display: flex; flex-direction: column; gap: 1.5625vw; }

.p-accommodation-facilities__list-item { position: relative; font-size: 2.08333vw; font-weight: 500; letter-spacing: -0.02em; line-height: 1.4; padding-left: 2.60417vw; }

.p-accommodation-facilities__list-item:before { content: ''; position: absolute; top: 0.91146vw; left: 0; width: 1.04167vw; height: 1.04167vw; background: #203C89; border-radius: 50%; }

.p-accommodation-facilities__img { position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }

.p-accommodation-facilities__img-wrap { flex: 1; min-height: 26.04167vw; border-radius: 1.04167vw; overflow: hidden; position: relative; }

.p-accommodation-facilities__button { width: 100%; margin-top: 3.64583vw; height: 5.98958vw; font-size: 1.82292vw; }
