.mv {
  margin-bottom: 0.8rem;
}

.top-point {
  width: 100%;
  max-width: 1284px;
  margin: 0 auto 2em;
}
.toptext {
  text-align: center;
  font-size: 2.7em;
  color: #c2272d;
  margin: 0 auto 0.25em;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 0.3em;
}
@media (max-width: 768px) {
  .toptext {
      font-size: 1.2em;
      margin: 0.5em 0 0.25em 0;
  }
}

.point-other {
  display: flex;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
@media (max-width: 1090px) {
  .point-other {
    gap: 10px;
  }
}
@media (max-width: 1000px) {
  .point-other {
    flex-direction: column;
  }
}
.point-other__ctr {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media (max-width: 767px) {
  .point-other__ctr {
    flex-direction: column;
  }
}
.point-other__text {
  font-size: 2rem;
  font-weight: 700;
  color: #b11116;
}
@media (max-width: 1090px) {
  .point-other__text {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .point-other__text {
    font-size: 1.6rem;
  }
}
.point-other__bg,
.point-other__ribbon {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  background-color: #b11116;
  padding: 0 19px;
}
@media (max-width: 1090px) {
  .point-other__bg,
  .point-other__ribbon {
    font-size: 1.3rem;
  }
}
.point-other__ribbon {
  position: relative;
  margin: 0 12px;     
}
.point-other__ribbon::before {
  content: '';
  border-top: 20px solid #b11116;
  border-bottom: 21px solid #b11116;
  border-left: 10px solid transparent;
  position: absolute;
  top: 0;
  left: -10px;
}
@media (max-width: 1090px) {
  .point-other__ribbon::before {
    border-top: 17px solid #b11116;
    border-bottom: 18px solid #b11116;
  }
}
.point-other__ribbon::after {
  content: '';
  border-top: 20px solid #b11116;
  border-bottom: 21px solid #b11116;
  border-right: 10px solid transparent;
  position: absolute;
  top: 0;
  right: -10px;
}
@media (max-width: 1090px) {
  .point-other__ribbon::after {
    border-top: 17px solid #b11116;
    border-bottom: 18px solid #b11116;
  }
}
.point-other__num {
  width: 207px;
  display: inline-flex;
}
.point-other p {
  width: 48%;
  margin: 0;
}
.point-list p .inner-flex {
  display: flex;
  padding-top: 4px;
  padding-left: 16px;
  line-height: 1.4;
  align-items: baseline;
}
.point-list p small {
  display: block;
  font-size: 0.8rem;
  text-align: center;
}
.point-list p small {
  margin-top: -6px; /*-4px;*/
}
@media (max-width: 768px) {
  .point-list p small {
    margin-top: -2px;
    font-size: 2.5vw;
    line-height: 1.2;
  }
}
.point-list p .inner-flex small {
  margin-top: 0;
}
.point-list p big {
  display: block;
  font-size: 2.7rem;
  text-align: center;
  margin-bottom: -10px;
  line-height: 1;
}
.point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.point-list p {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 32%;
  height: 4rem;
  font-size: 1.8rem;
  font-weight: 700;
  background: url(../images/top/point_bg01.png) 50% 50% / cover no-repeat;
  align-items: center;
  justify-content: center;
}
.point-list p.marked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.5rem;
  width: 3rem;
  height: 2.8rem;
  background: url(../images/top/icon_point.svg) 50% 50% / contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}

.point-other .fullwidth {
  width: 100%;
}

@media screen and (max-width: 1138px) {
  .point-list p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 980px) {
  .point-list p {
    font-size: 2.4vw;
    margin-bottom: 2vw;
  }
  .point-list p:not(:last-child)::before {
    left: 0.3vw;
    width: 4vw;
  }
  .plan-point li {
    font-size: 1.9vw;
  }
  .point-other {
    padding: 0 1.42rem;
  }
}

@media screen and (max-width: 767px) {
  .point-list {
    padding: 0 10px;
    margin-bottom: 4vw;
  }
  .point-list p {
    width: 48.5%;
    height: 12vw;
    margin-bottom: 2.4vw;
    font-size: 3.5vw;
  }
  .point-list p:not(:last-child)::before {
    top: 12%;
    left: 1vw;
    width: 8vw;
    height: 8vw;
  }
  .point-list p .inner-flex span:first-child small {
    margin: 0;
    font-size: 2.5vw;
  }
  .point-list p .inner-flex small {
    font-size: 2.5vw;
  }

  .point-list p big {
    font-size: 5.2vw;
  }
  .point-list p .inner-flex span:last-child {
    margin-bottom: 0.67vw;
  }
  .point-other {
    display: block;
    padding: 0 10px;
    text-align: center;
  }
  .point-other p {
    width: 100%;
    margin: 0 0 3vw;
    font-size: 0;
  }
  .point-other p img {
    width: auto;
    height: 1rem;
    margin-bottom: 5px;
  }
}

.outline-section {
  max-width: 1260px;
  width: 100%;
}

/** equipment page **/
.equip__breadcrumbs {
  max-width: 80.25rem !important;
  margin: 0 auto !important;
  padding: 0.5rem 0 0.5rem 0.5rem !important;
  background-color: rgba(219, 220, 220, 0.5);
}

.equip__catch {
  padding-bottom: 0 !important;
  background-color: unset !important;
}

.equip__catch-subtitle {
  display: block;
  font-size: 1.8rem;
  line-height: 1em;
  text-align: center;
}

.equip__aircon {
  padding-bottom: 0;
}

.equip__aircon-left {
  position: relative;
  flex-shrink: 0;
  width: 65%;
}

.equip__aircon-image {
  width: 100%;
}

.equip__aircon-image-text {
  position: absolute;
  bottom: 30px;
  left: 10%;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .equip__aircon-image-text {
    display: block;
    position: static;
    text-align: center;
  }
}

.equip__heat {
  margin-top: 45px;
}

.equip__heat-title {
  font-size: 30px;
  text-align: center;
  letter-spacing: 0.1em;
}

.equip__heat-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 10px 0;
}

.equip__heat-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.equip__heat-item img {
  max-width: 70%;
  aspect-ratio: 2 / 1.3;
  margin: 0 auto;
}

.equip__heat-image-text {
  display: block;
  line-height: 1.5em;
  text-align: center;
}

.equip__kitchen-card {
  grid-column: unset !important;
}

.equip__kitchen-card img {
  height: 220px;
  margin-bottom: 15px;
}

.equip__kitchen-image-bg {
  display: flex;
  justify-content: center;
  background-color: #bcbdc0;
}

.equip__kitchen-image-bg img {
  width: 75%;
}

.equip__equip {
  margin-top: 30px !important;
}

.equip__equip-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 20px 5%;
}

.equip__equip-card img {
  width: 100% !important;
  height: 240px;
  margin: 30px 0 !important;
  object-fit: contain;
}

.equip__equip-card--full {
  grid-column: 1 / 3;
  padding: 20px 3%;
}

.equip__equip-card--full img {
  width: 35% !important;
  margin: 0 !important;
  aspect-ratio: 480 / 320 !important;
}

.equip__equip-card--iot img {
  height: 240px !important;
}

.equip__equip-content-text {
  margin-top: 0 !important;
}

.equip__equip-content-text .bold {
  font-weight: 700;
}

.equip__equip-card-title {
  margin: 0 auto !important;
  font-size: 1.1rem;
}

.equip__equip-card-subtitle {
  font-size: 1.2rem;
}

.equip__equip-tag {
  font-size: 0.9rem;
}

.equip__equip-image {
  margin: auto 0 !important;
}

.equip__iot-content {
  display: flex;
  align-items: flex-start !important;
}

.equip__iot-content-text {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 0 !important;
  padding-top: 20px;
}

.equip__iot-card-title {
  border-bottom: none;
  font-size: 1.7rem;
  text-align: right;
}

.equip__iot-card-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 20px;
}

.equip__iot-title {
  width: max-content;
  margin: 0 !important;
  padding: 0 40px;
  border-bottom: none;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  font-size: 2.4rem;
}

.equip__iot-tag {
  margin-bottom: 0;
  padding: 15px;
}

@media screen and (max-width: 768px) {
  .equip__catch-subtitle {
    font-size: 1.1rem;
  }

  .equip__aircon {
    padding-bottom: 20px;
  }

  .equip__aircon-left {
    width: 100%;
  }

  .equip__heat-title {
    font-size: 20px;
  }

  .equip__heat-image-text {
    font-size: 10px;
  }

  .equip__kitchen-card img {
    height: auto;
  }

  .equip__equip-card--full {
    grid-column: 1 / 2;
  }

  .equip__equip-card img {
    width: 80% !important;
    height: auto !important;
    margin: 20px auto !important;
  }

  .equip__equip-card--full img {
    margin: 0 auto !important;
  }

  .equip__equip-tags {
    margin-bottom: 1.5rem;
  }

  .equip__equip-tag {
    margin-bottom: 10px;
  }

  .equip__iot-content {
    align-items: center;
  }

  .equip__iot-content-text {
    padding-top: 0;
  }

  .equip__iot-card-title {
    text-align: center;
  }

  .equip__iot-card-content {
    justify-content: center;
    flex-wrap:  wrap;
    gap: 30px;
  }

  .equip__iot-title {
    border-right: none;
  }
}


/** concept page **/
.concept {
  counter-reset: num;
}

.concept-content {
  max-width: 1260px;
  width: 96%;
  margin: 0 auto;
}

.concept__mv-heading {
  width: 70%;
  padding-top: 50px;
}
@media (max-width: 767px) {
  .concept__mv-heading  {
    width: 100%;
    padding-top: 0;
  }
}	

.concept__mv {
  display: flex;
  gap: 30px;
  justify-content: end;
  padding-left: 50px;
}

@media (max-width: 1260px) {
  .concept__mv {
    padding-left: 0;
  }
}	
@media (max-width: 767px) {
  .concept__mv {
    flex-direction: column;
    padding: 2rem 5.3333333333vw;
  }
}	
.concept__mv-en {
  font-family: "Cinzel", serif;
  font-size: 1.2rem;
}

.concept__mv-title {
  margin: 30px 0;
}

.concept__mv-text {
  font-size: 1rem;
  line-height: 2em;
  letter-spacing: 0.2em;
  text-align: justify;
}
@media (max-width: 767px) {
  .concept__mv-text {
    line-height: unset;
  }
}	

.concept__mv-img {
  height: 470px;
  width: 100%;
  position: relative;
}
@media (max-width: 767px) {
  .concept__mv-img {
    height: 300px;
  }
}	

.concept__mv-img::before {
  content: "";
  height: 70px;
  aspect-ratio: 1;
  display: block;
  background: url("../images/concept/heart-blue.png") no-repeat center / cover;
  position: absolute;
  bottom: -30px;
  left: -15px;
}

.concept__mv-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.concept__title {
  font-size: 1.1rem !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-bottom: 1px solid black;
  margin-bottom: 15px;
  padding: 5px 0;
}
@media (max-width: 767px) {
  .concept__title {
    font-size: 13px;
  }
}	

.concept__row {
  counter-increment: num;
}

.sp-br {
  display: block;
}
@media (max-width: 767px) {
  .sp-br {
    display: none;
  }
}	

.concept__title::before {
  content: counter(num);
  font-size: 0.9rem;
  height: 18px;
  aspect-ratio: 1;
  background-color: #72692E;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.concept__text {
  font-size: 0.7rem;
}

.concept__note {
  font-size: 0.6rem;
  display: block;
  text-align: end;
}

.concept__row-mv {
  padding-right: 60px;
}
@media (max-width: 1260px) {
  .concept__row-mv {
    padding-right: 0;
  }
}	

.concept__board {
  position: relative;
  width: 96%;
  max-width: 1260px;
  margin: 0 auto;
  display: flex;
  justify-content: end;
}
@media (max-width: 767px) {
  .concept__board {
    display: none;
  }
}	

.concept__board img {
  width: 90%;
}

.concept__board-sp {
  display: none;
}
@media (max-width: 767px) {
  .concept__board-sp {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 70%;
    gap: 10px;
    margin: 0 auto;
  }
}

.concept__space {
  background-color: #F7F6F4;
  padding: 100px 5% 50px;
  position: relative;
  z-index: 0;
  margin-bottom: 10px;
}

.concept__space::after {
  content: "";
  height: 100%;
  width: 100%;
  background: url("../images/concept/space-bg.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: .1;
  z-index: -1;
}

.concept__space-content {
  margin-top: 40px;
}

.concept__space-title {
  font-size: 2.2rem;
  text-align: center;
}
@media (max-width: 767px) {
  .concept__space-title {
    font-size: 20px;
  }
}

.concept__space-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
@media (max-width: 767px) {
  .concept__space-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

.concept-flex {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 20px;
}
@media (max-width: 767px) {
  .concept-flex {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

.concept-img {
  height: 250px;
  position: relative;
}

.concept-imgL {
  height: 420px;
  position: relative;
}
@media (max-width: 767px) {
  .concept-imgL {
    height: 250px;
    position: relative;
  }
}

.heart::before {
  content: "";
  height: 70px;
  aspect-ratio: 1;
  display: block;
  background: url("../images/concept/heart-blue.png") no-repeat center / cover;
  position: absolute;
  top: -10px;
  left: -10px;
}

.concept-imgL > img,
.concept-img > img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.concept__image-caption {
  position: absolute;
  right: 8px;
  bottom: 4px;
  font-size: 0.6rem;
}

.concept-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (max-width: 767px) {
  .concept-column {
    gap: 15px;
  }
}

.concept-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 767px) {
  .concept-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

.concept__image-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  overflow: hidden;
}

/** PLANNING */
.plan__catch-title {
  font-size: 1.8rem !important;
}

.plan__layout {
  margin-top: 50px;
}

.plan__layout-image {
  width: 50% !important;
}

.plan__room-title {
  padding: 0 0 10px !important;
  text-align: center !important;
}

.plan__room-title img {
  margin: 0 auto !important;
}

.plan__room-floor-image {
  width: 75% !important;
  padding: 0 3% !important;
}

.plan__equip-item {
  padding: 6px 0;
  background-image: linear-gradient(-45deg, #9eacb5 0%, #9eacb5 25%, #e6e7e8 53%, #9eacb5 78%, #9eacb5 100%) !important;
  color: #000;
}

@media screen and (max-width: 768px) {
  .plan__catch-title {
    font-size: 1.2rem !important;
  }

  .plan__layout {
    margin-top: 30px;
  }

  .plan__room {
    margin-top: 50px !important;
  }

  .plan__room-floor-image {
    width: 100% !important;
  }
}

/** ACCESS */

.access__section-inner {
  position: relative;
  padding: 0 1.42rem;
  margin: 0 auto;
}

.access__section-title {
  display: flex;
  flex-wrap: wrap;
  width: auto;
  margin-bottom: 0.8rem;
  color: #000 !important;
  font-weight: 700;
  letter-spacing: 3px;
  text-align: left;
}

.access__daily-title {
  margin-top: 0.8rem;
  margin-left: 8rem;
}

.access_grid-row {
  padding-bottom: 3rem;
}

.access__grid-title {
  position: relative;
}

.access__grid-title h3 {
  max-width: max-content;
  background-color: #fff;
  padding-right: 15px;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1em;
}

.access__grid-title::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 2px;
  background-color: #a59488;
}

.access__grid-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin: 0 0 2.834rem;
  font-size: 1rem;
  text-align: center;
  font-weight: 600;
}

.access__grid-list li p {
  max-width: 100%;
  margin: 1.2rem 0 0;
}

.access__grid-image {
  width: 100%;
}

.access__grid-image img {
  height: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

.access__map {
  position: relative;
  width: 100%;
  margin-bottom: 4rem;
}

.access__map-image {
  height: 100vh;
  max-height: 900px;
  overflow: hidden;
}

.access__map-content {
  width: 100%;
  background-color: #fff;
}

.access__map-info {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  margin-top: -2px;
  padding: 1rem;
  background-color: #a59488;
}

.access__map .icon {
  width: 6rem;
  height: 3rem;
}

.access__map p {
  max-width: 100%;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

.access__map p big {
  font-size: 2rem;
  margin: 0 0.4rem;
}

.access__map p small {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.05rem;
}

.access__map a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 24rem;
  height: 2.3rem;
  margin: 1.5rem auto;
  font-size: 1.457rem;
  color: #000;
  font-weight: 600;
  background: url(../images/top/point_bg01.png) 50% 50% / cover no-repeat;
}

.access__life {
  margin-bottom: 4rem;
}

.access__life-content {
  display: flex;
  justify-content: space-between;
}

.access__life-image {
  width: 48%;
}

.access__train {
  margin-bottom: 4rem;
}

.access__train-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.access__train-image.left {
  width: 63%;
  margin-top: 3rem;
}

.access__train-image.right {
  width: 33%;
}

@media screen and (max-width: 980px) {
  .access__daily-title {
    margin-left: 0;
  }
  
  .access__map-image {
    height: auto;
  }

  .access__map-content {
    position: relative;
    bottom: unset;
  }
}

@media screen and (max-width: 767px) {
  .access__section-title {
    flex-direction: column;
    font-size: 5vw !important;
  }

  .access__section-title span {
    display: block;
    font-size: 4.25vw;
  }

  .access__grid-title h3 {
    font-size: 3.33vw;
  }

  .access__grid-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-bottom: 1.5rem;
  }

  .access__grid-list li p {
    margin-top: 1vw;
    font-size: 2.5vw;
  }

  .access__map {
    margin-bottom: 2rem;
  }

  .access__map-inner {
    padding: 0;
  }

  .access__map-info {
    flex-direction: column;
    gap: 10px;
  }
  .access__map-info .icon {
    width: 4rem;
    height: 2rem;
    margin-left: 0;
  }

  .access__map p {
    margin-bottom: 4vw;
    font-size: 4.6vw;
    line-height: 1.5;
  }
  .access__map p big {
    font-size: 130%;
  }

  .access__map p small {
    margin: 1vw 0 0;
    font-size: 3vw;
  }

  .access__map a {
    max-width: 100%;
    height: 11.5vw;
    font-size: 4.7vw;
  }

  .access__map-link {
    padding: 0 1rem;
  }

  .access__life {
    margin-bottom: 2rem;
  }

  .access__life-content {
    display: block;
  }

  .access__life-image {
    width: 100%;
    margin-bottom: 1.56vw;
  }

  .access__train {
    margin-bottom: 2rem;
  }

  .access__train-content {
    flex-direction: column;
  }

  .access__train-image {
    width: 100% !important;
    margin-bottom: 1.56vw;
  }

  .access__train-image.left {
    margin-top: 0;
  }
}
