@charset "utf-8";
.bdr_btm {
  border-bottom: 1px solid #000000;
}
.cont_head {
  padding-top: 50px;
  padding-bottom: clamp(40px, 9.11vw, 70px);
}
.cont_head .sttl {
  margin-bottom: clamp(20px, 5.21vw, 40px);
}
.cont_head-navList {
}
.cont_head-navItem {
  width: 30.63%;
  max-width: 394px;
}
.cont_head-navItem a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(1.6vw, 10px);
  width: 100%;
  max-height: 250px;
  aspect-ratio: 1/1;
  padding: 8px 0;
  background-color: #eb6120;
}
.cont_head-navItem a:hover {
  border-radius: 30px;
}
.cont_head-navItem a .imgbk {
  max-width: 204px;
}
.cont_head-navItem a p {
  font-size: min(2.21vw, 20px);
  letter-spacing: 0;
}

#parking .imgbk_num,
#floormap .imgbk_num {
  font-size: clamp(20px, 4.65vw, 26px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 9.3vw, 46px);
  aspect-ratio: 1/1;
  border: solid 3px #fff;
  border-radius: 50%;
  background: #000;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(-25%, 30%);
}

/* ======================
floormap
========================= */
#floormap {
  padding-top: clamp(30px, 7.03vw, 54px);
}
#floormap .bdr_btm {
  padding-bottom: clamp(30px, 6.51vw, 50px);
}

#floormap .floor_cont {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: clamp(30px, 6.51vw, 50px) 0;
}
#floormap .floor_cont-map {
  /* 1220 → 489px */
  width: 43%;
  max-width: 490px;
  aspect-ratio: 490 / 592;
  position: sticky;
  top: 0;
}
#floormap .floor_cont-map .img_cnt {
  object-position: left center;
}
#floormap .floor_cont-detail {
  /* 1220 → 630px */
  width: 54%;
  max-width: 630px;
  padding: 35px clamp(20px, 4.1vw, 50px);
  position: relative;
}
#floormap .floor_cont-detail::before {
  content: "";
  background-image: linear-gradient(to right, #bababa, #bababa 3px, transparent 3px, transparent 6px), linear-gradient(to right, #bababa, #bababa 3px, transparent 3px, transparent 6px), linear-gradient(to bottom, #bababa, #bababa 3px, transparent 3px, transparent 6px), linear-gradient(to bottom, #bababa, #bababa 3px, transparent 3px, transparent 6px);
  background-size: 6px 1px, 6px 1px, 1px 6px, 1px 6px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}

#floormap .floor_num {
  font-size: min(11.63vw, 50px);
  line-height: 1.1;
  letter-spacing: 0.03em;
  display: block;
  margin-bottom: 20px;
}
#floormap .floor_list {
  gap: 33px 0;
}
#floormap .floor_list .floor_item {
  width: 48%;
  max-width: 250px;
}
#floormap .floor_list .floor_item .imgbk {
  position: relative;
  margin-bottom: clamp(10px, 2.33vw, 18px);
}
#floormap .floor_list .floor_item .imgbk .imgbk_inner {
  border-radius: 20px;
  overflow: hidden;
}
#floormap .floor_list .floor_item .imgbk img {
  transition: 0.2s;
}
#floormap .floor_list .floor_item:hover .imgbk img {
  opacity: 0.7;
}
#floormap .floor_list .floor_item .txtbk .floor_item-name {
  line-height: 1.667;
  letter-spacing: 0;
  margin-bottom: 5px;
}
#floormap .floor_list .floor_item .txtbk p {
  font-size: 15px;
  line-height: 1.467;
  letter-spacing: 0;
  min-height: 3em;
}
/* ======================
parking
========================= */
#parking {
  padding: clamp(30px, 7.03vw, 54px) 0 clamp(50px, 10.42vw, 80px);
}

#parking .sttl {
  margin-bottom: clamp(20px, 6.51vw, 50px);
}
#parking .main_imgbk {
  margin-bottom: clamp(30px, 6.51vw, 50px);
  min-height: 253px;
  overflow-x: scroll;
}
#parking .main_imgbk img {
  min-width: 434px;
}
#parking .parking_List {
  justify-content: flex-start;
  gap: clamp(50px, 10.42vw, 80px) calc((100% - 1050px) / 2);
}
#parking .parking_List .parking_item {
  width: calc((100% - 40px) / 3);
  max-width: 350px;
}
#parking .parking_List .parking_item .imgbk {
  position: relative;
  margin-bottom: clamp(10px, 2.33vw, 18px);
}
#parking .parking_List .parking_item .imgbk .imgbk_inner {
  border-radius: 30px;
  overflow: hidden;
}
#parking .parking_List .parking_item .txtbk {
  padding-bottom: 55px;
  position: relative;
}
#parking .parking_List .parking_item .txtbk .parking_item-name {
  font-size: clamp(18px, 4.65vw, 20px);
  margin-bottom: 10px;
}
#parking .parking_List .parking_item .txtbk .js-modal-open {
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 35px;
  padding: 0 13px;
  border: 1px solid #000;
  border-radius: 10px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  cursor: pointer;
  transition: 0.2s;
}
#parking .parking_List .parking_item .txtbk .js-modal-open::before {
  content: "";
  flex-shrink: 0;
  width: 23px;
  height: 20px;
  background: url(../imgs/information/ic_notes.png) no-repeat center / contain;
  transition: 0.2s;
}
#parking .parking_List .parking_item .txtbk .js-modal-open:hover {
  color: #fff;
  background-color: #000;
}
#parking .parking_List .parking_item .txtbk .js-modal-open:hover::before {
  background: url(../imgs/information/ic_notes_hv.png) no-repeat center / contain;
}
/* modal */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 9999;
  background: #bababa;
}

.modal .modal-bg {
  position: absolute;
  height: 100vh;
  width: 100vw;
}

.modal .modal-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

.modal .white_box {
  width: 88vw;
  max-width: 800px;
  height: 80vh;
  max-height: 600px;
  padding: 55px 30px clamp(30px, 6.98vw, 60px);
  background-color: #fff;
  border-radius: 30px;
  overflow-y: scroll;
}
.modal .white_box .page {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  position: relative;
}
.modal .pbtn.close {
  width: 53px;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  background: #fff;
  padding: 10px;
  border-radius: 50%;
  top: 10px;
  right: 20px;
  z-index: 5;
  cursor: pointer;
}
.modal .white_box .m_ttlbk {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0.8em;
}
.modal .white_box .m_ttlbk::before {
  content: "";
  flex-shrink: 0;
  width: 60px;
  height: 50px;
  background: url(../imgs/information/parking_dog_notes.png) no-repeat center / contain;
}
.modal .white_box .m_ttl {
  font-size: clamp(20px, 4.65vw, 30px);
}
.modal .white_box .dog_notes_List {
  margin-bottom: 20px;
}
.modal .white_box .dog_notes_List li {
  line-height: 1.94;
  letter-spacing: 0;
}
.modal .white_box .dog_notes_List li::before {
  content: "・";
}
.modal .white_box .dog_notes_ylbox {
  display: flex;
  gap: 10px;
  padding: 20px;
  background: #ffe100;
  border-radius: 20px;
}
.modal .white_box .dog_notes_ylbox::before {
  content: "";
  flex-shrink: 0;
  width: 6.98vw;
  max-width: 40px;
  min-width: 30px;
  height: 6.28vw;
  max-height: 36px;
  min-height: 27px;
  margin-top: 0.4em;
  background: url(../imgs/information/ic_notes.png) no-repeat center / contain;
}
.modal .white_box .dog_notes_ylbox p {
  line-height: 1.67;
}
/* ======================
opening
========================= */
#opening {
  padding: clamp(23px, 7.03vw, 54px) 0;
}
#opening .opening_note {
  font-size: 15px;
  line-height: 1.47;
  letter-spacing: 0;
  padding-top: 10px;
  margin-bottom: 30px;
}
#opening .opening_note a {
  display: inline;
  text-decoration: underline;
}
.opening_Wrap {
  margin-bottom: 50px;
}
#opening .opening_cat {
  padding-bottom: 20px;
}
#opening .opening_cat span {
  font-size: clamp(15px, 4.19vw, 18px);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 30px;
  border-radius: 10px;
  background-color: #fff;
}
#opening .opening_List {
  font-size: clamp(16px, 4.19vw, 19px);
  line-height: 1.39;
}
#opening .opening_List > div {
  display: flex;
  align-items: center;
  gap: 5px 20px;
  min-height: 100px;
  padding: 15px 0;
}
#opening .opening_List.list_2 > div {
  gap: 15px 30px;
}
#opening .opening_List.list_1 > div dt {
  flex-shrink: 0;
  width: 5.12em;
}
#opening .opening_List.list_2 dt {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  width: 243px;
}
#opening .opening_List.list_2 dd {
  max-width: 660px;
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  #parking .imgbk_num,
  #floormap .imgbk_num {
    font-size: clamp(20px, 2.6vw, 26px);
    width: clamp(40px, 5.21vw, 46px);
  }
}
@media screen and (max-width: 1154px) {
  #parking .parking_List {
    gap: clamp(50px, 10.42vw, 80px) 20px;
  }
}
@media screen and (max-width: 768px) {
  .cont_head-navItem a p {
    font-size: min(3.95vw, 17px);
    line-height: 1.17;
    letter-spacing: 0;
  }
  .cont_head-navItem a p span {
    display: block;
  }
  /* ======================
	floormap
	========================= */
  #floormap .bdr_btm {
    padding-bottom: 0;
  }

  #floormap .floor_cont {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding-bottom: 40px;
  }

  #floormap .floor_cont-map {
    position: static;
    width: 92%;
  }
  #floormap .floor_cont-map .img_cnt {
    object-position: center;
  }
  #floormap .floor_cont-detail {
    width: 100%;
    padding: 0;
    position: static;
  }
  #floormap .floor_cont-detail::before {
    content: none;
  }
  #floormap .floor_num {
    margin-bottom: 0;
    position: absolute;
    top: 30px;
    left: 0;
  }
  #floormap .floor_list {
    gap: 30px 0;
  }
  #floormap .floor_list .floor_item {
    max-width: 360px;
  }
  #floormap .floor_list .floor_item .txtbk p {
    min-height: auto;
  }

  /* floor_3 */
  #floormap .floor_cont.floor_3 {
    padding-top: 96px;
  }

  /* ======================
	parking
	========================= */
  #parking .parking_List {
    justify-content: space-between;
    gap: clamp(50px, 10.42vw, 80px) 0;
  }
  #parking .parking_List .parking_item {
    width: 48%;
  }
  #parking .parking_List .parking_item .imgbk .imgbk_inner {
    max-width: 360px;
    aspect-ratio: 72 / 49;
  }
  #parking .parking_List .parking_item .txtbk .parking_item-name {
    margin-bottom: 5px;
  }

  /* modal */
  .modal .white_box .dog_notes_List li,
  .modal .white_box .dog_notes_ylbox p {
    line-height: 1.47;
  }
  /* ======================
	parking
	========================= */
  #opening .opening_List > div {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (max-width: 500px) {
  .cont_head-navItem a {
    justify-content: space-between;
    gap: 0;
  }
  /* ======================
	floormap
	========================= */
  #floormap .floor_list {
    flex-direction: column;
    align-items: center;
  }
  #floormap .floor_list .floor_item {
    width: 100%;
  }
  #floormap .floor_list .floor_item .txtbk .floor_item-name {
    font-size: clamp(18px, 4.65vw, 20px);
  }
  #floormap .floor_list .floor_item .txtbk p {
    font-size: clamp(15px, 3.95vw, 17px);
  }
  /* ======================
	parking
	========================= */
  #parking .parking_List {
    flex-direction: column;
    align-items: center;
  }

  #parking .parking_List .parking_item {
    width: 100%;
    max-width: 360px;
  }
  #parking .parking_List .parking_item .txtbk {
    padding-bottom: 0;
  }

  #parking .parking_List .parking_item .txtbk .js-modal-open {
    position: static;
    margin-top: 5px;
  }
}
@media screen and (max-width: 430px) {
}
