.illustMadoriBtn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #e6e6d9;
  border: 1px solid #511c0f;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 9px 0;
  -webkit-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
}

.illustMadoriBtn__txt {
  font-size: 18px;
}

.illustMadoriBtn__arrow {
  -webkit-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
  width: 213px;
}

@media print, screen and (min-width: 768px) {
  .illustMadoriBtn:hover {
    opacity: .7;
  }
  .illustMadoriBtn:hover .illustMadoriBtn__arrow {
    -webkit-transform: translate(6px, 0);
            transform: translate(6px, 0);
  }
}

@media (hover: hover) and (pointer: fine) {
  .illustMadoriBtn:hover {
    opacity: .7;
  }
  .illustMadoriBtn:hover .illustMadoriBtn__arrow {
    -webkit-transform: translate(6px, 0);
            transform: translate(6px, 0);
  }
}

.madoriDetail__head {
  background: -webkit-gradient(linear, left top, right top, color-stop(25%, #8e7c4f), color-stop(50%, #b4a371), color-stop(75%, #8e7c4f));
  background: linear-gradient(to right, #8e7c4f 25%, #b4a371 50%, #8e7c4f 75%);
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__head {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 36px 54px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    margin-left: -25px;
    padding: 32px 20px;
    width: 100vw;
  }
}

.madoriDetail__head:after, .madoriDetail__head:before {
  background-color: #ffffff;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.madoriDetail__head:after {
  top: 12px;
}

.madoriDetail__head:before {
  bottom: 12px;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__headMain {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__headMain > *:not(:first-child) {
    margin-left: 30px;
    padding-left: 24px;
    position: relative;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__headMain > *:not(:first-child):after {
    background-color: #ffffff;
    content: '';
    display: block;
    height: 54px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 1px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__headSub {
    margin-top: 12px;
    padding-top: 18px;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__headSub:after {
    background-color: #ffffff;
    content: '';
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  * + .madoriDetail__sublength {
    margin-top: 6px;
  }
}

.madoriDetail__btnArea {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}

@media screen and (max-width: 768px) {
  .madoriDetail__btnArea > * {
    width: 100%;
  }
}

* + .madoriDetail__btnArea {
  margin-top: 32px;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn {
    width: 520px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn {
    padding: 0 20px;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 40px;
  }
}

* + .madoriDetail__body {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  * + .madoriDetail__body {
    margin-top: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__madori {
    width: 542px;
  }
}

@media screen and (max-width: 768px) {
  * + .madoriDetail__madori {
    margin-top: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__meritNote {
    width: calc(1000px - 542px - 40px);
  }
}

.lengthBlock__mainArea {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.5;
}

.lengthBlock__mainArea .number {
  font-family: "Cinzel", serif;
  font-size: 40px;
  line-height: 1;
}

.lengthBlock__mainArea .mator {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  line-height: 1.2;
}

.lengthBlock__tsuboArea {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .lengthBlock__tsuboArea {
    letter-spacing: .1em;
  }
}

.lengthBlock__tsuboArea .number {
  font-family: "Cinzel", serif;
}

.madoriBlock {
  display: inline-block;
}

.meritBlock__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

.meritBlock__item {
  border-bottom: 1px solid #511c0f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 6px 0 12px 40px;
  position: relative;
}

.meritBlock__item:before {
  background-color: #511c0f;
  content: '';
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .meritBlock__item:before {
    height: 10px;
    left: 20px;
    top: 16px;
    width: 10px;
  }
}

@media screen and (max-width: 768px) {
  .meritBlock__item:before {
    height: 10px;
    left: 20px;
    top: 16px;
    width: 10px;
  }
}

.meritBlock__txt {
  font-size: 14px;
  line-height: 2;
}

.meritBlock__number {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #511c0f;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 30px;
}

.meritBlock__comingSoon {
  width: 62px;
}

.meritPlot__trigger {
  aspect-ratio: 61 / 54;
  background: url("../imgs/icon-merit.png") no-repeat center/cover;
  border: 0;
  cursor: pointer;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .meritPlot__trigger {
    width: 61px;
  }
}

@media screen and (max-width: 768px) {
  .meritPlot__trigger {
    width: 48px;
  }
}

.meritModalBlock__head {
  background-color: #e4e4e4;
  color: #511c0f;
  letter-spacing: .15em;
  line-height: 1;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .meritModalBlock__head {
    font-size: 20px;
    padding: 10px 0;
  }
}

@media screen and (max-width: 768px) {
  .meritModalBlock__head {
    font-size: 18px;
    padding: 8px 0;
  }
}

@media print, screen and (min-width: 768px) {
  .meritModalBlock__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media print, screen and (min-width: 768px) {
  .meritModalBlock__body .photo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.sublengthBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}

.sublengthBlock .number {
  font-family: "Cinzel", serif;
  line-height: 1;
}

.sublengthBlock .mator {
  font-family: "Cinzel", serif;
  line-height: 1;
}

.sublengthBlock__mainArea {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
}

.sublengthBlock__tsuboArea {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
}

.typeBlock {
  font-family: "Cinzel", serif;
  font-size: 26px;
}

.typeBlock__name {
  font-size: 50px;
}

.variationBlock {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cinzel", serif;
}

.variationBlock__roomStructure {
  font-size: 38px;
  line-height: 1;
}

.variationBlock__roomStructure .number {
  font-size: 48px;
}

.variationBlock__otherInfo {
  font-size: 30px;
}

.plansList__item {
  background-color: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .plansList__item {
    padding: 40px 100px;
  }
}

@media screen and (max-width: 768px) {
  .plansList__item {
    padding: 32px 25px;
  }
}

* + .plansList__item {
  margin-top: 40px;
}

.usageNote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 10px;
}

@media screen and (max-width: 768px) {
  .usageNote {
    gap: 5px 10px;
  }
}

.usageNote__item {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item {
    margin-right: 10px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item {
    width: 100%;
  }
  .usageNote__item:has(.icon) {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.usageNote__item:last-child {
  margin-right: 0;
}

.usageNote__item .caption {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .caption {
    gap: 10px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item .caption {
    gap: 5px;
  }
}

.usageNote__item .icon {
  aspect-ratio: 32 / 13;
  display: inline-block;
  vertical-align: sub;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon {
    height: 13px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item .icon {
    height: 13px;
    margin-right: 2px;
  }
}

.usageNote__item .icon--storage {
  aspect-ratio: 49 / 20;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon--storage {
    height: 20px;
    width: 49px;
  }
}

.usageNote__item .icon--storage .svgIcon {
  fill: #ebd6c1;
}

.usageNote__item .icon--aircon {
  aspect-ratio: 48 / 16;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon--aircon {
    height: 16px;
    width: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon--aircon img {
    height: 16px;
    width: 48px;
  }
}

.usageNote__item .icon--wind, .usageNote__item .icon--light {
  aspect-ratio: 26 / 6;
  vertical-align: middle;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon--wind, .usageNote__item .icon--light {
    height: 6px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item .icon--wind, .usageNote__item .icon--light {
    height: 7px;
  }
}

.usageNote__item .icon--gus {
  aspect-ratio: 24 / 13;
}

.usageNote + .caption {
  margin-top: 20px;
}

.main {
  background-color: #f6f4e7;
}

.mainContent {
  margin: 0 auto;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .mainContent {
    max-width: 1200px;
  }
}

@media screen and (max-width: 768px) {
  .mainContent {
    padding: 0;
  }
}

.plan-intro {
  background-color: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .plan-intro {
    padding: 96px 100px 64px;
  }
}

@media screen and (max-width: 768px) {
  .plan-intro {
    padding: 64px 25px 40px;
  }
}

.plan-intro .generalSect__ttl .color {
  color: #c30d23;
}

.plan-intro .generalSect__ttl .num {
  font-family: "Cinzel", serif;
}

.roomGuideSect__bottom {
  background-color: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .roomGuideSect__bottom {
    padding: 0 0 64px;
  }
}

@media screen and (max-width: 768px) {
  .roomGuideSect__bottom {
    padding: 0 0 48px;
  }
}

.roomGuideSect .labelArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 768px) {
  .roomGuideSect .labelArea {
    padding: 0 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .roomGuideSect .labelArea .label {
    max-width: 400px;
  }
}
