
@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
*/

#adtag {
  opacity: 0;
}

body {
  background: #ebeee8;
}

main {
  font-family: "RyuminPro", serif;
}
main img {
  max-width: 100%;
}

section {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  section {
    padding-top: 60px;
  }
}

.roomWrap {
  max-width: 1300px;
  margin: 0 auto;
}

/* タイトル */
.roomMainTittle {
  font-size: 35px;
  border-top: #595757 1.3px solid;
  position: relative;
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .roomMainTittle {
  width: 90%;
  font-size: 19px;
  margin: 0 auto;
}
}
.roomMainTittle::before {
  content: "";
  border: #595757 3px solid;
  position: absolute;
  top: 0;
  left: 0;
  width: 140px;
}
.roomMainTittle span {
  font-size: 17px;
  margin-left: 34px;
}
@media screen and (max-width: 768px) {
  .roomMainTittle span {
    font-size: 14px;
    margin-left: 16px;
  }
}

/* 建築条件 */
.roomWrap .buildingConditions {
  background: #255643;
  color: #fff;
  font-size: 35px;
  margin-top: 60px;
  padding: 20px;
  display: grid;
  grid-template-columns: 25% 75%;
  gap: 20px;
  align-items: center;
}
.roomWrap .buildingConditionsTittle {
  border: 1px solid #fff;
  padding: 20px;
  text-align: center;
}
.roomWrap .buildingConditionslead {
  font-size: 25px;
}
.roomWrap .landAnnotation {
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .roomWrap .buildingConditions {
    grid-template-columns: 1fr;
    font-size: 25px;
    margin-top: 20px;
  }
  .roomWrap .buildingConditionslead {
    font-size: 18px;
  }
}

/* 参考プラン */
.referencePlan {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .referencePlan {
    width: 90%;
    margin: 0 auto;
    margin-top: 20px;
  }
}
.referencePlan p {
  font-size: 25px;
}
@media screen and (max-width: 768px) {
  .referencePlan p {
    font-size: 18px;
  }
}
.referencePlan span {
  font-size: 14px;
}

/* プラン全体 */
.roomPlanWrap {
  background: #fff;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .roomPlanWrap {
    margin-top: 30px;
  }
}

/* グリッド共通 */
.roomPlanGrid,
.roomPlanGrid--2,
.roomPlanGrid--3,
.roomPlanGrid--4 {
  display: grid;
}

/* グリッド詳細 */
.roomPlanGrid {
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.roomPlanGrid--2 {
  grid-template-columns: 1fr 0.7fr;
  gap: 60px;
  margin-top: 40px;
  align-items: start;
}
.roomPlanGrid--2 figcaption {
  margin-top: 15px;
}
.roomPlanGrid--3 {
  grid-template-columns: 1.3fr 1fr;
  margin-top: 60px;
  padding-bottom: 100px;
  align-items: end;
}
.roomPlanGrid--3-1 {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .roomPlanGrid--3-1 {
    flex-direction: column-reverse;
  }
}

.roomPlanGrid--3-1 figure + figure {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .roomPlanGrid--3-1 figure + figure {
    margin-top: 20px;
  } 
}

.roomPlanGrid--4 {
  grid-template-columns: 1.3fr 1fr 1fr;
  margin-top: 60px;
  padding-bottom: 100px;
  align-items: end;
}
@media screen and (max-width: 768px) {
  .roomPlanGrid--4 {
    gap: 20px;
  }
}

figure figcaption {
  text-align: center;
}

.roomPlanGrid--2 figure figcaption {
  text-align: left;
}

/* レスポンシブまとめ */
@media screen and (max-width: 768px) {
  .roomPlanGrid,
  .roomPlanGrid--2,
  .roomPlanGrid--3,
  .roomPlanGrid--4 {
    grid-template-columns: 1fr;
  }
}

/* タイトル背景 */
.roomPlanTittle {
  background: linear-gradient(to bottom, #d5dbcf 0%, #d5dbcf 48%, #ffffff 100%);
}

/* 内側余白 */
.roomPlanInner {
  margin: 0 80px;
}
@media screen and (max-width: 768px) {
  .roomPlanInner {
    width: 90%;
    margin: 0 auto;
  }
}

/* プラン番号 */
.plannNmber {
  font-family: "Adobe Garamond Pro", Garamond, serif;
  font-size: 70px;
  color: #595757;
  border-bottom: 1px solid #000;
  line-height: 1;
  margin-top: 40px;
}
.plannNmber span {
  font-size: 100px;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .plannNmber {
    font-size: 35px;
    margin-top: 20px;
  }
  .plannNmber span {
    font-size: 50px;
  }
}

/* 画像 */
.roomPlanGrid img {
  width: 90%;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .roomPlanGrid img {
    margin: 0 auto;
    margin-top: 0;
  }
}

/* 価格 */
.planPrice {
  font-size: 18px;
  margin-top: 20px;
}
.planPrice span {
  font-size: 45px;
  padding-left: 20px;
}
.planPrice span.floorSpace {
  font-size: 30px;
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  .planPrice {
    font-size: 16px;
    margin-top: 10px;
  }
  .planPrice span {
    font-size: 25px;
    padding-left: 10px;
  }
  .planPrice span.floorSpace {
    font-size: 18px;
  }
}

/* ボックス */
.roomPlanbox { margin-top: 40px; }
.roomPlanIcon {
  background: #595757;
  color: #fff;
  font-size: 20px;
  text-align: center;
  max-width: 190px;
  padding: 5px 0;
}
.roomPlanLeadBox {
  font-size: 16px;
  margin-right: 60px;
}
@media screen and (max-width: 768px) {
  .roomPlanLeadBox { margin-right: 0; }
}

/* リード */
.roomPlanLead {
  border-bottom: 1px solid #595757;
  letter-spacing: 0.3em;
  line-height: 2;
}
.roomPlanLead:not(:first-child) {
  margin-top: 5px;
}
.roomPlanLead::before {
  content: "\25A0"; 
}

.roomPlanAnnotation {
  font-size: 14px;
  margin-top: 10px;
}

.roomAnnotation {
  font-size: 10px;
  margin: 60px 0;
}
@media screen and (max-width: 768px) {
  .roomAnnotation {
    width: 90%;
    margin: 0 auto;
    margin-top: 60px;
    margin-bottom: 60px;
  }
}