@charset "UTF-8";

ul {
  margin: 0;
  padding: 0;
}
li {
  list-style-type: none;
}

.sp {
  display: block;
}
.pc {
  display: none;
}
.img-fit {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5%;
}

/* mv */
.mv {
  padding-bottom: 30px;
  position: relative;
}
.mv-img {
  width: 100%;
  display: flex;
  justify-content: center;
}
.mv-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* モーダル */
.p-modal__wrap {
  border-radius: 20px 20px 0 0;
}
.p-modal__wrap .c-card-heading {
  background-color: #fe705e;
  color: #fff;
  text-align: center;
  padding: var(--space-6);
}
.p-modal__wrap .c-card-heading._hotspring {
  background-color: #ad5aed;
  color: #fff;
}

.modal-contents__wrap {
  margin-bottom: 6.5vw;
  padding: var(--space-6) var(--space-4\.5);
}
.p-modal__inner {
  padding: 0;
  border-radius: 0 0 20px 20px;
}
.c-dl ._gap-y1 {
  display: flex;
  align-items: center;
  text-align: center;
  padding: 0;
  background-image: linear-gradient(to right, var(--color-gray-50));
}
.c-dl ._gap-y1:nth-child(1) {
  border-top: solid 2px #d7d7d7;
}
.c-dl ._gap-y1:nth-child(1) ._full {
  border-bottom: solid 2px #d7d7d7;
}
.c-dl ._gap-y1:nth-child(2) ._full {
  border-bottom: solid 2px #d7d7d7;
}
.c-dl ._gap-y1:nth-child(3) {
  border-bottom: solid 2px #d7d7d7;
}
.u-text-lg {
  background-color: #ffe4e1;
  font-weight: bold;
  flex-grow: 2;
  padding: var(--space-8);
  max-width: 110px;
  font-size: var(--text-md) !important;
  white-space: nowrap;
}
.u-text-lg._hotspring {
  background-color: #f2e0ff;
}
.c-dl > div {
  background-image: none;
  --gap-x: 0;
}
.c-dl > div._gap-y1 {
  grid-gap: 0;
  gap: 0;
}
._full {
  font-size: var(--text-lg-2);
  font-weight: bold;
  padding: var(--space-8);
  border-bottom: solid 2px #d7d7d7;
  flex-grow: 8;
  font-size: var(--text-md) !important;
  white-space: nowrap;
}
.c-dl ._full:last-child {
  border: none;
}
.c-modal-thumb-button__icon._left {
  left: 16px;
}
.c-image._rect {
  border-radius: 20px;
}

/* end モーダル */

/* about */
.about {
  padding-bottom: 40vw;
  background: url(/assets/images/virport/about_bg_deco02.webp);
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: bottom -50px right;
}
/** about-slider */
.about-slider {
  display: flex;
  justify-content: flex-start;
  height: 34vw;
}
.about-sliderList {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: 10px;
  width: auto;
  height: 100%;
  flex: 0 0 auto;
  padding: 0 5px;
}
.about-sliderList li {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.3));
  max-width: 265px;
  max-height: 180px;
}
.about-sliderList li img {
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.about-sliderList._active:nth-child(1) {
  animation: roop1 120s -60s infinite linear;
}
.about-sliderList._active:nth-child(2) {
  animation: roop2 120s infinite linear;
}

@keyframes roop1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes roop2 {
  0% {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-200%);
  }
}

/** about-lead */
.about-lead {
  margin-top: -4%;
  padding: 11% 0 69.52%;
  background: #68c7ed;
  background-image: url(/assets/images/virport/about_lead_img.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  color: #fff;
}
/* spの際の上のぼかし */
.about-lead-txt::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 45%;
  bottom: -51%;
  left: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(104, 199, 237, 0) 0%, #68c7ed 100%);
}
.about-logo {
  margin: 0 auto;
}
.about-lead-ttl {
  font-size: var(--text-4xl-2);
  font-size: clamp(2.2rem, 1.2rem + 1.5vw, 3.6rem);
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: -0.02em;
  line-height: 1.5;
  text-align: center;
}
.about-lead-txt {
  padding: 0 5.5%;
  font-size: var(--text-lg);
  font-size: clamp(1.6rem, 1.3rem + 0.1vw, 1.8rem);
  font-feature-settings: "palt";
  letter-spacing: -0.04em;
  position: relative;
}
/** about-detail */
.about-detail {
  display: flex;
  flex-direction: column;
  gap: 25px;
  background: url(/assets/images/virport/about_bg_deco01.webp);
  background-size: 139px;
  background-repeat: no-repeat;
  background-position: top 5px right;
}
.about-detail-item {
  width: fit-content;
  display: flex;
  flex-direction: column;
  margin-top: 5.5%;
  position: relative;
}
.about-detail-item._02 {
  align-items: end;
  margin-left: auto;
}
.about-detail-item-img {
  width: 46.6%;
  height: 44.8vw;
  position: relative;
  z-index: 1;
}
._01 .about-detail-item-imgR {
  position: absolute;
  top: 2%;
  left: 50%;
}
._02 .about-detail-item-img {
  width: 40%;
}
._02 .about-detail-item-imgL {
  position: absolute;
  top: -4%;
  left: 16%;
}
.about-detail-item-txt {
  width: 89.3%;
  margin-top: -30px;
  padding: 45px 25px 15px 20px;
  border-radius: 0 10px 10px 0;
  background: #fff0ee;
  font-size: var(--text-md);
  font-feature-settings: "palt";
  letter-spacing: -0.02em;
}
._02 .about-detail-item-txt {
  border-radius: 10px 0 0 10px;
}
.about-detail-item-txt ._notice {
  color: #666;
  font-size: var(--text-2xs);
}
/** about-notice */
/* .about-notice {
  width: 90%;
  height: 150px;
  margin: 50px auto 0px;
  padding: 15px;
  border: 1px solid #a0a4a8;
  border-radius: 4px;
  background: #fff;
  overflow: scroll;
}
.about-notice-ttl {
  padding-bottom: 5px;
  font-size: var(--text-lg);
  font-weight: bold;
  text-align: center;
}
.about-notice-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.about-notice-item {
  display: flex;
  flex-direction: column;
  font-size: var(--text-md);
}
.about-notice-date {
  font-weight: bold;
  letter-spacing: -0.02em;
} */

/* section-contents 共通のスタイル */
.top-deco {
  position: absolute;
  z-index: 10;
}
.section-contents {
  width: 100%;
  padding-top: 15px;
  padding-bottom: 40vw;
}
.section-contents .ttl {
  margin-top: 30px;
  font-size: var(--text-5xl);
  line-height: 1;
  font-feature-settings: "palt";
  text-align: center;
}
.section-contents .sub-ttl {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin: 40px auto 20px;
  font-size: var(--text-4xl);
  font-feature-settings: "palt";
  line-height: 1.1;
  text-align: center;
}

.detail {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.detail-item {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 91%;
  padding: 20px 0;
  border-radius: 0 10px 10px 0;
  background: #fff;
  position: relative;
}
.detail-item:nth-child(2n) {
  align-items: end;
  margin-left: auto;
  border-radius: 10px 0 0 10px;
}
.detail._reverse .detail-item {
  align-items: end;
  margin-left: auto;
  border-radius: 10px 0 0 10px;
}
.detail._reverse .detail-item:nth-child(2n) {
  align-items: start;
  margin-left: 0;
  border-radius: 0 10px 10px 0;
}
.detail._center .detail-item {
  align-items: center;
  width: 83%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px 10px 10px 10px;
}
.detail-item-ttl,
.detail-item-txt {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  font-weight: bold;
  font-feature-settings: "palt";
  letter-spacing: -0.02em;
}
.detail-item-ttl {
  font-size: var(--text-lg);
  margin: -5px 0 -15px;
}
.detail-item-txt {
  font-size: var(--text-md);
  font-weight: normal;
}
.detail-item-deco {
  filter: drop-shadow(0 12px 10px rgba(0, 0, 0, 0.08));
  position: absolute;
}
.detail-btn {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 0 !important;
}
.detail .detail-item._sc:nth-child(1) {
  align-items: end;
  margin-left: auto;
  border-radius: 10px 0 0 10px;
}
.section-contents > .detail-btn {
  margin-top: 40px !important;
}
.section-contents .c-button-main {
  color: #fff;
}
.section-contents .c-button-main__icon {
  fill: #fff;
}
.section-contents .accordion {
  width: 90%;
  max-width: 1200px;
  margin-top: 25px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
}
.section-contents .accordion._first {
  margin-top: 60px;
}
.section-contents .accordion-btn {
  position: relative;
}
.section-contents .accordion-ttl {
  width: 100%;
  padding-left: 15px;
}
.section-contents .accordion-icon {
  position: absolute;
  right: 20px;
}
.section-contents .accordion-contents {
  padding-left: 20px;
  padding-right: 20px;
  font-feature-settings: "palt";
}

.room .accordion-contents div:first-child {
  width: 100%;
  height: 48vw;
}
.room .accordion-contents div img {
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.section-contents .accordion-contents > :first-child {
  margin-top: 0 !important;
}
.section-contents .accordion-contents > :nth-child(n + 2) {
  margin-top: 20px !important;
}
.section-contents .accordion-contents-img {
  overflow: hidden;
  border-radius: 10px;
}
.wave {
  width: 100%;
  margin-bottom: -2px;
}
._left .detail-item-img._01 {
  width: 104%;
}
._right .detail-item-img._01 {
  width: 104%;
}
.room .detail-item:nth-child(1) .detail-item-img._03 {
  width: 52.8%;
  height: 44.8vw;
  margin-left: 22px;
}
.room .detail-item:nth-child(1) .detail-item-imgR._03 {
  width: 41%;
  position: absolute;
  top: 70vw;
  left: 64%;
  margin-left: 0;
}
.room .detail-item._sc:nth-child(1) .detail-item-img._02 {
  width: 41%;
  height: 44.8vw;
  margin-right: 22px;
}
.room .detail-item:nth-child(1) .detail-item-imgL._02 {
  width: 52.8% !important;
  position: absolute;
  top: 67vw;
  left: -4%;
  margin-right: 0;
}

/* room */
.room {
  position: relative;
  margin-top: -100px;
}
.room .top-deco._01 {
  width: 150px;
  top: -16px;
  left: 20px;
}
.room .top-deco._02 {
  width: 120px;
  top: -10px;
  right: 12px;
}
.room_lead {
  width: fit-content;
  text-align: center;
  margin: 0 auto;
}
.room .section-contents {
  background-color: #ffe4e1;
  background-image: url(/assets/images/virport/section_contents_bg_pattern01.webp);
  background-size: 100%;
  background-repeat: repeat;
  background-position: top 30px center;
}
.room .section-contents .ttl,
.room .section-contents .sub-ttl {
  color: #8d1010;
}
.room .section-contents .sub-ttl::before,
.room .section-contents .sub-ttl::after {
  display: block;
  content: "";
  width: 30px;
  height: 32px;
  background: url(/assets/images/virport/room_sub_ttl_deco.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
.room .detail-item .detail-item-img._01 {
  width: 104%;
  height: 57.3vw;
}
/* 画像の上にあるモーダルボタン */
.room .detail-item .detail-item-img._01 .c-modal-thumb-button {
  width: 100%;
  height: 100%;
}
/* ベビールームのアイコン部分 */
.room .detail._02 .detail-item {
  position: relative;
}
.room .detail-item-img-icon {
  width: 26.4%;
  height: 18.4vw;
  position: absolute;
  top: 41vw;
  left: 3%;
}
.room .detail-item._left .detail-item-img._01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 5% 5% 0;
}
.room .detail-item._right .detail-item-img._01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5% 0 0 5%;
}
.room .detail-item:nth-child(1) .detail-item-deco {
  width: 77px;
  top: -4%;
  right: 77%;
}
.room .detail-item:nth-child(2) .detail-item-deco {
  width: 130px;
  top: -5%;
  left: 68%;
}
.room .detail-item:nth-child(4) .detail-item-deco {
  width: 130px;
  top: -3%;
  left: 67%;
}
.room .detail-item:nth-child(5) .detail-item-deco {
  width: 130px;
  top: 35%;
  left: -20%;
}
.room .detail-item:nth-child(3) .detail-item-deco {
  width: 100px;
  top: -1%;
  right: 81%;
}
.room .c-button-main {
  background: #dc2900;
  min-width: min(250px, 100%);
}
.room .detail-item .detail-item-deco._01 {
  width: 215px;
  top: -36%;
  left: -40%;
}
.room .detail-item .detail-item-deco._02 {
  width: 53px;
  top: 62%;
  left: -3%;
}
.room .detail-item._welcome .detail-item-deco._01 {
  display: none;
}
.room .detail-item._sc .detail-item-deco._02 {
  width: 110px;
  top: -1%;
  left: -16%;
}
.room .detail-item._sc .detail-item-deco._01 {
  width: 96px;
  top: 39%;
  left: 81%;
}

/* meal */
.meal {
  position: relative;
  margin-top: -100px;
}
.meal .section-contents .sub-ttl:nth-child(4) {
  margin: 65px auto 20px;
}
.meal .top-deco._01 {
  width: 149px;
  top: -40px;
  left: -40px;
}
.meal .top-deco._02 {
  width: 125px;
  top: 5px;
  right: 24px;
}
.meal .section-contents {
  background-color: #fcd98d;
  background-image: url(/assets/images/virport/section_contents_bg_pattern02.webp);
  background-size: 100%;
  background-repeat: repeat;
  background-position: top 23px center;
}
.meal .section-contents .ttl,
.meal .section-contents .sub-ttl {
  color: #4a3300;
}
.meal .section-contents .sub-ttl::before,
.meal .section-contents .sub-ttl::after {
  display: block;
  content: "";
  width: 30px;
  height: 32px;
  background: url(/assets/images/virport/meal_sub_ttl_deco.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
.meal .detail-item:nth-child(1) .detail-item-img._01 {
  width: 104%;
  height: 57.3vw;
}
.meal .detail-item:nth-child(1) .detail-item-img._01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 5% 5% 0;
}
.meal .detail-item:nth-child(1)._right .detail-item-img._01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5% 0 0 5%;
}
.meal .detail-item:nth-child(1) .detail-item-img._02 {
  width: 98%;
}
.meal .detail-item:nth-child(2) .detail-item-img._01 {
  width: 104%;
}
.meal .detail-item:nth-child(1) .detail-item-deco {
  width: 116px;
  top: 22%;
  right: -17%;
}
.meal .detail-item:nth-child(2) .detail-item-deco {
  width: 78px;
  top: 43%;
  left: -14%;
}
.meal .detail:last-of-type .detail-item-deco {
  width: 90px;
  top: 49%;
  right: -8%;
}
.meal .c-button-main {
  background: #d35f00;
}
.businesshours-list-warp {
  width: 100%;
  padding: 0 20px;
}
.meal .detail-item._venue:nth-child(1) .businesshours-list {
  border-top: solid 2px #d7d7d7;
  border-bottom: solid 2px #d7d7d7;
  display: flex;
  align-items: center;
}
.meal .detail-item._venue:nth-child(1) .sample-additional-text {
  margin: 0;
  width: 100%;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 20px;
}
.meal .detail-item._venue:nth-child(1) .businesshours-list > li:first-child {
  font-size: var(--text-lg-2);
  font-weight: bold;
  background-color: #fce9c0;
  padding: var(--space-8) var(--space-4);
  text-align: center;
}
.meal .detail-item._venue:nth-child(1) .businesshours-list > li:last-child {
  font-size: var(--text-md) !important;
  font-weight: bold;
  flex-grow: 1;
  text-align: left;
  padding-left: 1em;
}
.meal .detail-item._venue:nth-child(1) .detail-item-txt > p {
  padding-top: var(--space-4);
}
.meal .detail-item._venue {
  align-items: end;
  margin-left: auto;
  border-radius: 10px 0 0 10px;
}
.meal .detail-item:nth-child(1) .detail-item-deco._01 {
  width: 113px;
  top: 34%;
  right: 79%;
}
.meal .detail-item:nth-child(1) .detail-item-deco._02 {
  width: 118px;
  top: -2%;
  right: -9%;
}
.meal .detail-item:nth-child(1) .detail-item-deco._03 {
  width: 72px;
  top: 106vw;
  right: -12%;
}
.meal .detail-item._venue:nth-child(1) .detail-item-deco._01 {
  width: 99px;
  top: 182px;
  left: -51px;
}
.meal .detail-item._venue:nth-child(1) .detail-item-deco._02 {
  width: 68px;
  top: 108vw;
  right: -8px;
}
.meal .detail-item._venue:nth-child(1) .detail-item-deco._03 {
  width: 83px;
  top: -2px;
  right: 3px;
}
.meal .detail-item:nth-child(1) .detail-item-img._03 {
  width: 52.8%;
  height: 44.8vw;
  margin-left: 22px;
}
.meal .detail-item:nth-child(1) .detail-item-imgR._03 {
  width: 41%;
  position: absolute;
  top: 72vw;
  left: 57%;
}
.meal .detail-item:nth-child(1) .detail-item-img._02 {
  width: 41%;
  height: 44.8vw;
  margin-right: 22px;
}
.meal .detail-item:nth-child(1) .detail-item-imgL._02 {
  width: 52.8%;
  position: absolute;
  top: 67vw;
  left: -4%;
  margin-right: 0;
}

/* hotspring */
.hotspring {
  position: relative;
  margin-top: -100px;
}
.hotspring .top-deco._01 {
  width: 186px;
  top: -16px;
  left: 20px;
}
.hotspring .top-deco._02 {
  width: 70px;
  top: -10px;
  right: 24px;
}
.hotspring .section-contents {
  background-color: #e7c7ff;
  background-image: url(/assets/images/virport/section_contents_bg_pattern03.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top 23px center;
}
.hotspring .section-contents .ttl {
  color: #572180;
}
.hotspring .detail-item:nth-child(1)._right .detail-item-img._01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5% 0 0 5%;
}
.hotspring .detail-item:nth-child(1) .detail-item-img._01 {
  width: 104%;
  height: 57.3vw;
}
.hotspring .detail-item:nth-child(1) .detail-item-img._01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 5% 5% 0;
}
.hotspring
  .detail-item:nth-child(1)
  .detail-item-img._01
  .c-modal-thumb-button {
  width: 100%;
  height: 100%;
}
.hotspring .detail-item:nth-child(1) .detail-item-img._02 {
  width: 98%;
  margin-top: -10px;
  margin-left: 20px;
}
.hotspring .detail-item:nth-child(1) .detail-item-deco._01 {
  width: 40px;
  top: 55vw;
  right: 87%;
}
.hotspring .detail-item:nth-child(1) .detail-item-deco._02 {
  width: 85px;
  top: -5%;
  right: -9%;
}
.hotspring .c-button-main {
  background: #d9be10;
}

/* information */
.information {
  position: relative;
  margin-top: -100px;
}
.information .top-deco._01 {
  width: 301px;
  top: -30px;
  left: 15px;
}
.information .top-deco._02 {
  width: 219px;
  top: 5px;
  right: 4%;
}
.information .section-contents {
  background-color: #f9f390;
  background-image: url(/assets/images/virport/information_bg_deco01.webp),
    url(/assets/images/virport/section_contents_bg_pattern04.webp);
  background-size: 227px, 100%;
  background-repeat: no-repeat;
  background-position: left bottom 0px, center top 25px;
  padding-bottom: 34.5%;
}
.information .section-contents .ttl,
.information .section-contents .sub-ttl {
  color: #595610;
}
.information .section-contents .sub-ttl::before,
.information .section-contents .sub-ttl::after {
  display: block;
  content: "";
  width: 30px;
  height: 32px;
  background: url(/assets/images/virport/information_sub_ttl_deco.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
.information .detail._center .detail-item {
  padding-top: 0;
}
.information .detail .detail-item:nth-child(1) .detail-item-img._01 {
  width: 107.5%;
  height: 53.3vw;
}
.information .detail .detail-item:nth-child(1) .detail-item-deco._01 {
  width: 95px;
  top: -2%;
  right: -11%;
}
.information .detail .detail-item:nth-child(1) .detail-item-deco._02 {
  width: 84px;
  top: 40%;
  left: -13%;
}
.meal .detail:nth-of-type(3) .detail-item-deco._01 {
  right: -9%;
}

.information .c-button-main {
  background: #cc9b00;
}

/** information-slider */
.information-slider {
  display: flex;
  justify-content: flex-start;
  height: 34vw;
  margin-top: 75px;
}
.information-sliderList {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: 10px;
  width: auto;
  height: 100%;
  flex: 0 0 auto;
  padding: 0 5px;
}
.information-sliderList li {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.3));
  max-width: 270px;
  max-height: 180px;
}
.information-sliderList li img {
  height: 100%;
  object-fit: cover;
  border-radius: 5%;
}
.information-sliderList._active:nth-child(1) {
  animation: roop1 120s -60s infinite linear;
}
.information-sliderList._active:nth-child(2) {
  animation: roop2 120s infinite linear;
}

/* 関連情報 */
.relatedInfo {
  border-bottom: 1px solid #d7d7d7;
  position: relative;
  background-color: #fff;
}
.relatedInfo-ttl {
  position: absolute;
  top: -27vw;
  left: 0;
}
.relatedInfo-list {
  padding: 20px 20px 0;
}

.p-footer:before {
  display: none;
}

/* モーダル・アコーディオン */
.modal-table {
  width: 100%;
  border-top: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  border-collapse: collapse;
  margin-top: 4vw;
}
/* .modal-table > tbody {
} */
.modal-table .row {
  padding: var(--space-7) 0;
}
.modal-table > tbody > tr > th {
  width: 26%;
  text-align: center;
  background-color: #ffe4e1;
}
.modal-table > tbody > tr > td {
  width: 73%;
  text-align: center;
}

tbody > tr > td {
  border-bottom: 1px solid #d7d7d7;
}

tbody > tr:last-child > td {
  border-bottom: none;
  padding: 32px 17px;
}

tbody > tr > th {
  border-bottom: 1px solid #fff;
}

tbody > tr:last-child > th {
  border-bottom: none;
}

.p-modal__content.virportModal_style .p-modal__wrap {
  border-radius: 20px;
  height: 100%;
  overflow: scroll;
}
@media screen and (min-width: 600px) {
  .room .detail-item:nth-child(1) .detail-item-imgR._03 {
    top: 67vw;
  }
  .room .detail-item:nth-child(1) .detail-item-imgL._02,
  .meal .detail-item:nth-child(1) .detail-item-imgL._02 {
    top: 64vw;
  }
  .meal .detail-item:nth-child(1) .detail-item-imgR._03 {
    top: 68vw;
  }
  .room .detail-item-img-icon {
    top: 40vw;
  }
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }

  .about {
    background: url(/assets/images/virport/about_bg_deco_pc.webp);
    background-size: 99%;
    background-repeat: no-repeat;
    background-position: top min(48vw, 700px) center;
    padding-bottom: 330px;
  }

  .about-slider {
    height: 12.2vw;
    position: relative;
    z-index: 10;
  }
  .about-sliderList {
    column-gap: 16px;
    padding: 0 8px;
  }

  .about-lead {
    margin-top: -2.8%;
    padding: 0;
    background: url(/assets/images/virport/about_bg_pc.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
  }
  .about-lead-wrapper {
    display: flex;
    column-gap: 2cqb;
    flex-direction: row-reverse;
    padding-right: 20px;
  }
  .about-lead-wrapper div:first-of-type {
    width: 48%;
    /* margin-left: -100px; */
  }
  .about-lead-img {
    height: 462px;
    margin-left: -60px;
    position: relative;
  }

  .about-lead-img::before,
  .about-lead-img::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40px;
    pointer-events: none;
  }
  /* 左側のぼかし */
  .about-lead-img::before {
    left: -1vw;
    background: #66c7ee;
    filter: blur(10px);
  }
  /* 右側のぼかし */
  .about-lead-img::after {
    right: -2%;
    background: #66c7ee;
    filter: blur(8px);
  }

  .about-lead-img img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
  .about-logo {
    padding-top: 15%;
    margin: 0;
  }
  .about-lead-ttl {
    text-align: left;
    letter-spacing: -2px;
    margin-top: 1.9vw;
  }
  .about-lead-txt {
    padding: 0;
    margin-top: 2vw;
    max-width: 450px;
  }
  /* spの際の上のぼかし */
  .about-lead-txt::after {
    display: none;
  }

  .about-detail {
    max-width: 1200px;
    margin: 0 auto;
    background: none;
  }
  .about-detail-item {
    width: 100%;
    margin-top: 3.5%;
    padding: 0 20px;
  }
  ._01 .about-detail-item-img,
  ._02 .about-detail-item-img {
    width: 25%;
    height: 336px;
  }
  ._01 .about-detail-item-imgR {
    top: 4%;
    left: 30%;
  }
  ._02 .about-detail-item-imgL {
    top: -4%;
    left: 45%;
  }
  ._01 .about-detail-item-txt {
    width: 86.7%;
    margin-top: -65px;
    padding: 100px 170px 40px 120px;
    border-radius: 0 20px 20px 0;
    margin-left: -140px;
  }
  .about-detail-item._02 {
    width: min(1200px, 100%);
  }
  ._02 .about-detail-item-txt {
    width: 94%;
    margin-top: -130px;
    padding: 160px 170px 35px 120px;
    border-radius: 20px 0 0 20px;
    margin-right: -140px;
  }

  .about-notice {
    width: 100%;
    max-width: min(1040px, 95%);
    height: 220px;
    margin: 80px auto 0;
    padding: 30px;
    border: 2px solid #a0a4a8;
    border-radius: 8px;
  }
  .about-notice-ttl {
    padding-bottom: 20px;
    font-size: var(--20px);
  }
  .detail {
    max-width: 1080px;
    padding: 0 20px;
    gap: 160px;
  }

  .detail .detail-item:nth-child(1) {
    margin-left: auto;
  }
  .detail .detail-item:nth-child(2) {
    margin-right: auto;
    margin-left: 0;
    border-radius: 20px 0 0 20px;
  }
  .detail .detail-item:nth-child(3) {
    margin-left: auto;
  }

  .detail-item {
    display: block;
    width: 83.7%;
    border-radius: 0 20px 20px 0;
    height: min(29.8vw, 430px);
    min-height: 430px;
  }

  .detail-item-img,
  .detail-item-ttl,
  .detail-item-txt {
    position: absolute;
  }

  .section-contents > .detail-btn {
    margin-top: 80px !important;
  }
  .section-contents {
    width: 100%;
    padding-top: 65px;
    padding-bottom: 330px;
  }

  .detail-item._left {
    margin-left: auto;
    margin-right: 0;
  }
  ._left .detail-item-img._01 {
    width: 79.2% !important;
    height: 430px !important;
    top: -14%;
    left: -42.5%;
    right: initial;
  }
  .detail-item._right {
    margin-left: 0;
    margin-right: auto;
  }
  ._right .detail-item-img._01 {
    width: 79.2% !important;
    height: 430px !important;
    top: -14%;
    left: initial;
    right: -45.5%;
  }
  .detail-item-img._02 {
    width: 32.2%;
  }

  /* モーダル */
  .u-text-lg {
    padding: var(--space-12);
    padding: 48px 96px 48px 48px;
  }
  ._full {
    padding: var(--space-12);
    flex-grow: 7;
  }
  .u-text-lg {
    flex-grow: 3;
  }
  .modal-contents__wrap {
    padding: var(--space-15) var(--space-25);
  }
  .p-modal__wrap .c-card-heading {
    padding: var(--space-12);
  }
  /* end モーダル */

  /* デコレーション共通 */
  .top-deco-wrapper {
    width: min(95%, 1040px);
    margin: 0 auto;
    position: relative;
  }
  .top-deco._01 {
    left: 0;
  }
  .top-deco._02 {
    right: 0;
  }
  /* end  デコレーション共通*/

  /* room */
  .room {
    margin-top: -200px;
  }
  .room .top-deco._01 {
    width: 256px;
    top: -35px;
  }
  .room .top-deco._02 {
    width: 264px;
    top: 40px;
  }
  .room .detail {
    margin: 138px auto 0;
    gap: 160px;
  }
  .room .detail._02 {
    margin: 250px auto 0;
  }
  .room .detail._02 .detail-item {
    position: relative;
  }
  .room .detail-item-img-icon {
    width: 17.3%;
    height: 116px;
    position: absolute;
    top: 47%;
    left: -40%;
  }
  .room .detail-item-img .detail-item-img-icon img {
    border-radius: 0;
  }
  .room .detail-item:nth-child(1) .detail-item-img._02 {
    width: 32.2%;
    top: -19%;
    right: -10%;
  }
  .room .detail-item:nth-child(1) .detail-item-ttl {
    top: 38%;
    left: 38%;
  }
  .room .detail-item:nth-child(1) .detail-item-txt {
    top: 45%;
    left: 38%;
    width: fit-content;
    padding: 0 50px 0 20px;
  }
  .room .detail-item:nth-child(3) .detail-item-img._02 {
    width: 32.2%;
    top: -19%;
    right: -10%;
  }
  .room .detail-item:nth-child(3) .detail-item-ttl {
    top: 38%;
    left: 38%;
  }
  .room .detail-item:nth-child(3) .detail-item-txt {
    top: 45%;
    left: 38%;
    width: fit-content;
    padding: 0 50px 0 20px;
  }
  .room .detail-item:nth-child(4) .detail-item-img._02 {
    width: 32.2%;
    top: -19%;
    right: 78%;
  }
  .room .detail-item:nth-child(4) .detail-item-ttl {
    top: 38%;
    left: 2.3%;
  }
  .room .detail-item:nth-child(4) .detail-item-txt {
    top: 45%;
    left: 2.3%;
    width: 500px;
  }
  .room .c-button-main {
    background: #dc2900;
  }
  /* babyroom */
  .room .detail-item:nth-child(1) .detail-item-img._03 {
    width: 31.3%;
    height: 302px;
    top: -35%;
    left: 38%;
  }
  .room .detail-item:nth-child(1) .detail-item-imgR._03 {
    width: 28.8%;
    top: -30%;
    left: 75%;
  }
  .room .detail._02 .detail-item:nth-child(1) .detail-btn {
    position: absolute;
    top: 70%;
    left: 18%;
  }
  .detail-item.detail-item._welcome {
    height: min(33.33vw, 482px);
    min-height: 482px;
  }
  /* end babyroom */

  .room .section-contents .sub-ttl::before,
  .room .section-contents .sub-ttl::after {
    width: 60px;
    height: 64px;
  }
  .room .section-contents .sub-ttl {
    margin: 80px auto 20px;
  }

  .room .detail-item:nth-child(2) .detail-item-img._02 {
    width: 32.2%;
    top: -19%;
    right: 78%;
  }
  .room .detail-item:nth-child(2) .detail-item-ttl {
    top: 38%;
    left: 2.3%;
  }
  .room .detail-item:nth-child(2) .detail-item-txt {
    top: 45%;
    left: 2.3%;
    width: 500px;
  }

  .room .detail-item:nth-child(1) .detail-item-deco {
    width: 124px;
    top: -27%;
    right: 125%;
  }
  .room .detail-item:nth-child(2) .detail-item-deco {
    width: 219px;
    top: -37%;
    left: 118%;
  }
  .room .detail-item:nth-child(3) .detail-item-deco {
    width: 200px;
    top: -32%;
    right: 121%;
  }
  .room .detail-item:nth-child(4) .detail-item-deco {
    width: 206px;
    top: -30%;
    left: 120%;
  }
  .room .detail-item._welcome .detail-item-deco._01 {
    width: 215px;
    top: -36%;
    left: -40%;
    display: block;
  }
  .room .detail-item.detail-item._welcome .detail-item-deco._02 {
    width: 110px;
    top: 8%;
    left: 37%;
  }

  .room .section-contents .accordion:nth-child(5) {
    margin-bottom: 200px;
  }
  /* sweetcabin */
  .room .detail-item._sc:nth-child(1) .detail-item-txt {
    top: 63%;
    left: 2.3%;
    width: 500px;
  }
  .room .detail-item._sc:nth-child(1) .detail-item-img._02 {
    width: 31.1% !important;
    height: 302px !important;
    top: -27%;
    left: -2%;
  }
  .room .detail-item._sc:nth-child(1) .detail-item-imgR._02 {
    top: -22%;
    left: 32%;
  }
  .room .detail-item._sc .detail-item-deco._01 {
    width: 192px;
    top: 21%;
    left: -16%;
  }
  .room .detail-item._sc .detail-item-deco._02 {
    width: 221px;
    top: -26%;
    left: 54%;
  }
  .room .detail-item:nth-child(2) .detail-item-img._01 {
    right: -50.5%;
  }
  .room .accordion-contents div:first-child {
    width: 100%;
    height: 360px;
  }
  /* end sweetcabin */

  /* meal */
  .meal {
    margin-top: -200px;
  }
  .meal .top-deco._01 {
    width: 244px;
    top: 85px;
  }
  .meal .top-deco._02 {
    width: 251px;
    top: 50px;
  }
  .meal .section-contents .sub-ttl::before,
  .meal .section-contents .sub-ttl::after {
    width: 60px;
    height: 64px;
  }
  .meal .section-contents .sub-ttl {
    margin: 80px auto 20px;
  }
  .meal .section-contents .sub-ttl:nth-child(4) {
    margin: 120px auto 20px;
  }
  .meal .detail {
    margin: 240px auto 0;
    gap: 180px;
  }
  .meal .detail._venue {
    margin: 140px auto 0;
  }

  .meal .detail:nth-of-type(3) {
    margin: 180px auto 0;
  }

  .meal .detail-item:nth-child(1) .detail-item-img._01 {
    top: -25.5%;
  }
  .meal .detail-item._venue:nth-child(1) .detail-item-img._01 {
    top: -55.5px;
  }
  .meal .detail-item:nth-child(1) .detail-item-img._02 {
    width: 31.1%;
    height: 302px;
    top: -115px;
    left: -3%;
  }
  .meal .detail-item:nth-child(1) .detail-item-imgR._02 {
    top: -15%;
    left: 32%;
  }
  .meal .detail-item:nth-child(1) .detail-item-img._03 {
    width: 31.3%;
    height: 302px;
    top: -42%;
    left: 38%;
  }
  .meal .detail-item:nth-child(1) .detail-item-imgR._03 {
    width: 28.8%;
    position: absolute;
    top: -38%;
    left: 72%;
  }

  .meal .detail-item:nth-child(1) .detail-item-ttl {
    top: 36%;
    left: 41.8%;
  }
  .meal .detail-item:nth-child(1) .detail-item-txt {
    top: 44%;
    left: 41.8%;
    width: fit-content;
    padding: 0 50px 0 20px;
  }

  .meal .detail:nth-of-type(3) .detail-item:nth-child(1) .detail-item-ttl {
    top: 26%;
    left: 41.8%;
  }
  .meal .detail:nth-of-type(3) .detail-item:nth-child(1) .detail-item-txt {
    top: 34%;
  }

  .meal .detail-item._venue {
    height: min(60.8vw, 632px);
  }
  .meal .venue-txt-contents {
    padding-top: var(--space-56);
    padding-left: var(--space-10);
    padding-bottom: var(--space-4);
    width: 500px;
  }
  .meal .detail-item._venue:nth-child(1) .detail-item-ttl {
    top: 38%;
    left: 2.3%;
  }
  .meal .detail-item._venue:nth-child(1) .detail-item-txt {
    top: 43%;
    left: 2.3%;
    max-width: 500px;
    width: 50vw;
  }
  .meal .detail-item._venue:nth-child(1) .businesshours-list > li:first-child {
    width: 178px;
    padding: 5.7%;
  }
  .meal .detail-item._venue:nth-child(1) .businesshours-list > li:last-child {
    font-size: var(--text-md) !important;
    font-weight: bold;
  }
  .meal .detail-item._venue:nth-child(1) .businesshours-list {
    position: absolute;
    margin-top: var(--space-6);
    margin-bottom: var(--space-5);
    margin-left: 20px;
    top: 58%;
    left: 2.3%;
    width: 90%;
  }
  .meal .detail-item._venue:nth-child(1) .sample-additional-text {
    position: absolute;
    top: 84%;
    left: 2.3%;
    padding: 0 50px 0 20px;
    text-indent: 0;
    margin: 0;
  }
  .businesshours-list_span {
    display: inline-block;
  }

  .meal .detail-item:nth-child(1) .detail-item-deco._01 {
    width: 192px;
    top: 48%;
    right: 124%;
  }
  .meal .detail-item:nth-child(1) .detail-item-deco._02 {
    width: 238px;
    top: -48%;
    right: 59%;
  }
  .meal .detail-item:nth-child(1) .detail-item-deco._03 {
    width: 144px;
    top: 19%;
    right: -13%;
  }
  .meal .detail-item._venue:nth-child(1) .detail-item-deco._01 {
    width: 215px;
    top: 6vw;
    left: -180px;
  }
  .meal .detail-item._venue:nth-child(1) .detail-item-deco._02 {
    width: 140px;
    top: 9vw;
    right: 37%;
  }
  .meal .detail-item._venue:nth-child(1) .detail-item-deco._03 {
    width: 192px;
    top: -120px;
    right: -250px;
  }

  .meal .detail:nth-of-type(3) .detail-item-deco._01 {
    top: -24%;
    right: 0;
  }

  .meal .detail-item:nth-child(2) .detail-item-img._02 {
    top: -32.5%;
    left: -11.8%;
  }
  .meal .detail-item:nth-child(2) .detail-item-ttl {
    top: 25%;
    left: 2.3%;
  }
  .meal .detail-item:nth-child(2) .detail-item-txt {
    top: 35%;
    left: 2.3%;
    width: 60%;
  }
  .meal .detail-item:nth-child(2) .detail-item-deco {
    width: 160px;
    top: 83%;
    left: -7%;
  }

  .meal .section-contents .detail:nth-child(5) {
    margin: 170px auto;
  }
  .meal .section-contents .detail:nth-child(5) .detail-item-img._02 {
    width: 32.2%;
    top: -32.3%;
    right: -7.2%;
  }
  .meal .section-contents .detail:nth-child(5) .detail-item-txt {
    width: 62%;
    top: 30.5%;
    right: -7.2%;
    padding: 0 20px;
  }
  .meal .section-contents .detail:nth-child(5) .detail-btn {
    position: absolute;
    top: 48%;
    left: 18%;
  }

  .meal .section-contents .detail:nth-child(5) .detail-item-deco {
    width: 170px;
    top: 4%;
    right: -15%;
    transform: rotateY(180deg) rotate(-90deg);
  }

  .meal .detail-item:nth-child(1) .detail-btn {
    position: absolute;
    top: 69%;
    left: 19.8%;
  }
  .meal .detail-item:nth-child(2) .detail-btn {
    position: absolute;
    top: 55%;
    left: -18.5%;
  }

  /* hotspring */
  .hotspring {
    margin-top: -200px;
  }
  .hotspring .top-deco._01 {
    width: 373px;
    top: -70px;
    left: 60px;
  }
  .hotspring .top-deco._02 {
    width: 125px;
    top: 85px;
  }
  .hotspring .detail {
    margin: 15vw auto 0;
    gap: 180px;
  }
  .hotspring .detail-item:nth-child(1) .detail-item-img._02 {
    width: 32.2%;
    top: -19%;
    right: -10%;
  }
  .hotspring .detail-item:nth-child(1) .detail-item-ttl {
    top: 38%;
    left: 38%;
  }
  .hotspring .detail-item:nth-child(1) .detail-item-txt {
    top: 45%;
    left: 38%;
    width: fit-content;
    padding: 0 50px 0 20px;
  }
  .hotspring .detail-item-txt {
    width: fit-content;
    top: 65.3%;
    left: 38%;
  }
  .hotspring .detail-btn {
    margin-bottom: 170px;
  }
  .hotspring .detail-item:nth-child(1) .detail-item-deco._01 {
    width: 82px;
    top: 71%;
    right: 130%;
  }
  .hotspring .detail-item:nth-child(1) .detail-item-deco._02 {
    width: 171px;
    top: -4%;
    right: -2%;
  }

  /* facility */
  .facility .top-deco._01 {
    width: 390px;
    top: 65px;
  }
  .facility .top-deco._02 {
    width: 245px;
    top: 90px;
  }
  .facility .section-contents .sub-ttl::before,
  .facility .section-contents .sub-ttl::after {
    width: 60px;
    height: 64px;
  }
  .facility .section-contents .sub-ttl {
    margin: 80px auto 20px;
  }
  .facility .section-contents .sub-ttl:nth-child(5),
  .facility .section-contents .sub-ttl:nth-child(8),
  .facility .section-contents .sub-ttl:nth-child(11) {
    margin: 120px auto 20px;
  }
  .facility .detail {
    margin: 125px auto 0;
    gap: 180px;
  }
  .facility .detail._01 .detail-item:nth-child(1) {
    margin-left: 0;
    margin-right: auto;
  }
  .facility .detail._01 .detail-item:nth-child(1) .detail-item-img._02 {
    top: -18.5%;
    left: -10.3%;
  }
  .facility .detail._01 .detail-item-txt {
    width: 58%;
    top: 45.5%;
    left: 2.4%;
  }
  .facility .detail._01 .detail-item:nth-child(1) .detail-item-deco {
    width: 180px;
    top: 79%;
    left: -10%;
  }

  .facility .detail._02 .detail-item:nth-child(1) .detail-item-img._02 {
    top: -28%;
    left: 73%;
  }
  .facility .detail._02 .detail-item:nth-child(1) .detail-item-txt {
    width: fit-content;
    top: 45.5%;
    left: 38%;
  }
  .facility .detail._02 .detail-item:nth-child(1) .detail-item-deco {
    width: 260px;
    top: 12%;
    right: -20%;
  }

  .facility .detail._03 .detail-item {
    margin-right: auto;
    margin-left: 0;
  }
  .facility .detail._03 .detail-item:nth-child(1) .detail-item-img._02 {
    top: -18.5%;
    left: -14.5%;
  }
  .facility .detail._03 .detail-item:nth-child(1) .detail-item-txt {
    width: 57%;
    top: 36.5%;
    left: 2.3%;
  }
  .facility .detail._03 .detail-item:nth-child(1) .detail-item-deco {
    width: 200px;
    top: 82%;
    left: -8%;
  }

  .facility .detail._04 .detail-item:nth-child(1) .detail-item-img._02 {
    top: -22%;
    right: -7.5%;
  }
  .facility .detail._04 .detail-item:nth-child(1) .detail-item-ttl {
    width: fit-content;
    top: 35.5%;
    left: 37.5%;
  }
  .facility .detail._04 .detail-item:nth-child(1) .detail-item-txt {
    width: fit-content;
    top: 42.5%;
    left: 37.5%;
  }
  .facility .detail._04 .detail-item:nth-child(1) .detail-item-deco {
    width: 235px;
    top: 80%;
    right: -12.5%;
  }

  .facility .section-contents .detail-btn:last-of-type {
    margin-bottom: 170px;
  }

  /* information */
  .information {
    position: relative;
    margin-top: -200px;
  }
  .information .top-deco._01 {
    width: 605px;
    top: 40px;
  }
  .information .top-deco._02 {
    width: 438px;
    top: 31px;
    right: -2%;
  }
  .information .section-contents .sub-ttl {
    margin: 80px auto 20px;
  }
  .information .section-contents .sub-ttl:last-of-type {
    margin: 120px auto 20px;
  }
  .information .section-contents .sub-ttl::before,
  .information .section-contents .sub-ttl::after {
    width: 60px;
    height: 64px;
  }
  .information .section-contents {
    padding-bottom: 265px;
  }
  .information .detail {
    margin: 400px auto 0;
    max-width: 1200px;
  }
  .detail._center .detail-item {
    width: 100%;
    border-radius: 20px 20px 20px 20px;
    height: 190px;
    min-height: 0;
  }

  .information .detail .detail-item:nth-child(1) .detail-item-img._01 {
    width: 57.8%;
    height: 400px;
    top: -186%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
  }
  .information .detail-item-img._02 {
    width: 24.2%;
    height: 200px;
    top: -190%;
    left: 0;
  }
  .information .detail-item-img._03 {
    width: 17%;
    height: 140px;
    top: -115%;
    right: 2%;
    z-index: 5;
  }
  .information .detail-item-txt {
    bottom: 18.5%;
    left: 2%;
  }

  .information .detail .detail-item:nth-child(1) .detail-item-deco._01 {
    width: 200px;
    top: -200%;
    right: 15%;
    z-index: 3;
  }
  .information .detail .detail-item:nth-child(1) .detail-item-deco._02 {
    width: 254px;
    top: -70%;
    left: 13%;
    z-index: 3;
  }
  .information
    .detail
    .detail-item._checkin:nth-child(1)
    .detail-item-deco._01 {
    width: 216px;
    top: -60%;
    right: 14%;
    z-index: 3;
  }
  .information
    .detail
    .detail-item._checkin:nth-child(1)
    .detail-item-deco._02 {
    width: 248px;
    top: -191%;
    left: 9%;
    z-index: 3;
  }

  .information-slider {
    height: 17.5vw;
    margin-top: 100px;
  }
  .information-sliderList {
    column-gap: 22px;
    padding: 0 11px;
  }

  /* relatedInfo */
  .relatedInfo-bg {
    width: 100%;
    height: 3vw;
    background-color: #fff;
    border-top: min(0.31vw, 5px) #c61217 solid;
    position: absolute;
    top: max(-3vw, -43.5px);
    left: 0;
  }
  .relatedInfo-ttl {
    max-width: 1440px;
    top: max(-14vw, -200px);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
  .relatedInfo-list {
    max-width: 1200px;
    margin: 0 auto;
    padding: 70px 20px 0;
  }

  /* 共通アコーディオン */
  .p-accordion__btn {
    padding-left: 24px;
  }
  .section-contents .accordion-ttl {
    text-align: left;
  }
}

@media only screen and (min-width: 1050px) {
  .c-button-main._limited {
    min-width: min(500px, 100%);
  }
}

@media only screen and (min-width: 1440px) {
  .about-logo {
    padding-top: 60px;
  }
}

/* .c-dl > .detailWrap {
  padding: 30px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.detail-key {
  width: 24%;
  text-align: center;

}
.detail-value {
  width: 76%;
  text-align: center;
  padding: 0 16px;
} */
