.rental-section {
  padding: 50px 0px;
  overflow: hidden;
}

.rental-plan-container {
  width: 90%;
  max-width: 800px;
  margin: 2em auto 3em auto;
  display: grid;
  gap: 40px;
}

.rental-plan-block {
  text-align: center;
}

.rental-plan-header {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 1.5em;
}

.rental-plan-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.5em;
  color: #42ACD1;
  margin-bottom: 0;
  font-weight: 600;
}

.rental-plan-capacity {
  font-size: 1em;
  color: #42ACD1;
  margin: 0;
  font-weight: 600;
  background-color: rgba(66, 172, 209, 0.1);
  padding: 5px 15px;
  border-radius: 4px;
}

.rental-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
  color: #004862;
  border-radius: 5px;
  overflow: hidden;

  background-color: #fff;
}

.rental-table th,
.rental-table td {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(66, 172, 209, 0.2);
}

.rental-table th {
  text-align: left;
}
.rental-table td {
  text-align: center;
}

.rental-table tbody tr:last-child th,
.rental-table tbody tr:last-child td {
  border-bottom: none;
}

.rental-table thead th.main-header {
  background-color: #42ACD1;
  color: #F3F3F1;
  font-weight: 600;
  text-align: center;
  font-size: 1.1em;
  border-bottom: none;
  border-right: 1px solid rgba(243, 243, 241, 0.3);
}

.rental-table thead th.sub-header {
  background-color: #B39354;
  color: #F3F3F1;
  font-weight: 600;
  text-align: center;
  font-size: 1em;
  border-bottom: none;
}

.rental-table tbody th {
  width: 30%;
  font-weight: 600;
}

.rental-table tbody tr:nth-child(even) {
  background-color: rgba(66, 172, 209, 0.04);
}

.rental-table .after-party-cell {
  background-color: rgba(179, 147, 84, 0.08);
  color: #8c7343;

  text-align: center;
  vertical-align: middle;
  font-size: 1em;
  border-left: 1px solid rgba(66, 172, 209, 0.2);
  border-bottom: none;
}

.rental-table .after-party-cell small {
  display: block;
  font-weight: normal;
  font-size: 0.8em;
  margin-top: 5px;
}

.rental-table .full-width-note {
  text-align: center;
  font-size: 1em;
  line-height: 1.7;
  background-color: #fdfdfd;
}

.plan-conditions {
  list-style: none;
  padding: 15px 20px;
  margin: 1.5em 0;
  border: 1px dashed #B39354;
  border-radius: 3px;
  background-color: rgba(179, 147, 84, 0.05);
  color: #8c7343;
}
.plan-conditions li {
  font-size: 0.85em;
  font-weight: 600;
  line-height: 1.8;
  padding-left: 1.5em;
  position: relative;
}
.plan-conditions li::before {
  content: "※";
  position: absolute;
  left: 0;
  color: #B39354;
}
.common-conditions {
  width: 90%;
  max-width: 650px;
  margin: 3em auto;
  text-align: left;
}

.floor-map-section {
  text-align: left;
  margin-bottom: 3em;
    padding: 0 20px;
}

.floor-map-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.8em;
  color: #42ACD1;
  margin-bottom: 1em;
}

.floor-map-container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid #ddd;
  padding: 10px;
  background: #fff;
}

.floor-map-container img {
  width: 90%;
  height: auto;
  display: block;
}

.floor-map-caption {
  margin-top: 1em;
  font-size: 0.9em;
  color: #004862;
}