@charset "UTF-8";
@media print, screen and (min-width: 768px) {
  .btnList {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 48px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .btnList .planBtn + .planBtn {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .btnList + .caption {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .btnList + .caption {
    margin-top: calc(40 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .designSect:not(:first-child) {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .designSect:not(:first-child) {
    margin-top: 60px;
  }
}

.designSect__head .heading {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .designSect__head .heading {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .designSect__head .heading + .sectTtl {
    margin-top: 40px;
  }
}

.designSect__head .sectTtl {
  background-color: #5f9994;
  -webkit-box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
          box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
  color: #ffffff;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .04em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .designSect__head .sectTtl {
    font-size: 22px;
    line-height: 1.2;
    padding: 16px 0;
  }
}

@media screen and (max-width: 768px) {
  .designSect__head .sectTtl {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 0;
    padding: 16px 0;
  }
}

.designSect__head .txt {
  letter-spacing: .06em;
  line-height: 1.8;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .designSect__cont .livingGallery {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .designSect__head + .designSect__cont {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .designSect__head + .designSect__cont {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .designSect__outframe {
    margin: 0 auto;
    width: 908px;
  }
}

.designSect__outframe .photo {
  -webkit-box-shadow: 0 0 16px rgba(102, 102, 102, 0.2);
          box-shadow: 0 0 16px rgba(102, 102, 102, 0.2);
}

.introductionSect {
  position: relative;
}

.introductionSect__head {
  position: relative;
}

.introductionSect__head .heading {
  color: #000000;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .introductionSect__head .heading {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__head .heading {
    font-size: calc(46 / 750 * 100vw);
    letter-spacing: 0;
    line-height: 1.8;
  }
}

.introductionSect__head .heading .large {
  color: #af5158;
  font-family: "Cinzel", serif;
  line-height: .7;
}

@media print, screen and (min-width: 768px) {
  .introductionSect__head .heading .large {
    font-size: 44px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__head .heading .large {
    font-size: calc(72 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .introductionSect__head .heading .small {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__head .heading .small {
    font-size: calc(24 / 750 * 100vw);
  }
}

.introductionSect__head .heading .num {
  font-family: "Cinzel", serif;
  line-height: .7;
}

@media print, screen and (min-width: 768px) {
  .introductionSect__head .heading .num {
    font-size: 44px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__head .heading .num {
    font-size: calc(72 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .introductionSect__head .heading .num .small {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__head .heading .num .small {
    font-size: calc(46 / 750 * 100vw);
  }
}

.introductionSect__lead {
  color: #000000;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .introductionSect__lead {
    font-size: 14px;
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__lead {
    font-size: 12px;
    letter-spacing: .06em;
    margin-top: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .introductionSect__cont {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__cont {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .introductionSect__bottom {
    margin-top: 90px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect__bottom {
    margin-top: 40px;
  }
}

.introductionSect .caption {
  color: #766629;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .introductionSect .caption {
    font-size: 12px;
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .introductionSect .caption {
    font-size: 10px;
    margin-top: 60px;
  }
}

.livingGallery {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .livingGallery {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 48px 60px;
  }
}

@media screen and (max-width: 768px) {
  .livingGallery {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 14px;
  }
}

@media print, screen and (min-width: 768px) {
  .livingGallery .photo {
    width: 384px;
  }
}

@media screen and (max-width: 768px) {
  .livingGallery .arrowSVG {
    margin: 15px 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

.livingGallery .arrowSVG__path {
  fill: #528a90;
}

.meritCard {
  background-color: #3ba19d;
  border: 5px solid #b7d3d8;
  -webkit-box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
          box-shadow: 0 5px 20px rgba(75, 75, 75, 0.2);
  color: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .meritCard {
    padding: 12px 20px 24px;
    width: 330px;
  }
}

@media screen and (max-width: 768px) {
  .meritCard {
    padding: 12px 16px 24px;
    width: 100%;
  }
}

.meritCard__head {
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .meritCard__head {
    padding-bottom: 8px;
  }
}

@media screen and (max-width: 768px) {
  .meritCard__head {
    padding-bottom: 2px;
  }
}

.meritCard__num {
  font-family: "Cormorant Infant", serif;
  letter-spacing: 0;
  line-height: 1.2;
}

@media print, screen and (min-width: 768px) {
  .meritCard__num {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .meritCard__num {
    font-size: calc(36 / 750 * 100vw);
  }
}

.meritCard__num .large {
  font-family: "Cinzel", serif;
  letter-spacing: 0;
  padding-left: 3px;
}

@media print, screen and (min-width: 768px) {
  .meritCard__num .large {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .meritCard__num .large {
    font-size: calc(52 / 750 * 100vw);
  }
}

.meritCard__body {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .meritCard__body {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .meritCard__body {
    margin-top: 12px;
  }
}

.meritCard__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-family: "YakuHanMP", "Shippori Mincho B1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: bold;
  letter-spacing: -.06em;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .meritCard__txt {
    font-size: 19px;
  }
}

@media screen and (max-width: 768px) {
  .meritCard__txt {
    font-size: calc(36 / 750 * 100vw);
  }
}

.meritCard__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

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

@media screen and (max-width: 768px) {
  .meritCard__img {
    width: calc(165 / 750 * 100vw);
  }
}

.meritCard__img .photo,
.meritCard__img .photo__image,
.meritCard__img img {
  display: block;
  height: auto;
  width: 100%;
}

.meritCard__img .photo__capOut {
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1;
}

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

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

.meritFeature__head {
  -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;
}

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

@media screen and (max-width: 768px) {
  .meritFeature__ttl {
    width: calc(460 / 750 * 100vw);
  }
}

.meritFeature__ttl .photo,
.meritFeature__ttl .photo__image,
.meritFeature__ttl img {
  display: block;
  height: auto;
  width: 100%;
}

.meritFeature__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 20px;
}

@media print, screen and (min-width: 768px) {
  .meritFeature__cont {
    gap: 15px;
    margin: 20px -6px 0;
  }
}

.meritFeature__item {
  position: relative;
}

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

@media screen and (max-width: 768px) {
  .meritFeature__item + .meritFeature__item {
    margin-top: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .meritFeature__icon {
    margin-left: -50px;
    margin-top: -34px;
    width: 300px;
  }
}

@media screen and (max-width: 768px) {
  .meritFeature__icon {
    margin-left: auto;
    margin-right: calc(30 / 750 * 100vw);
    margin-top: calc(-30 / 750 * 100vw);
    width: calc(390 / 750 * 100vw);
  }
}

.planBtn {
  display: block;
  position: relative;
}

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

@media screen and (max-width: 768px) {
  .planBtn {
    min-height: calc(460 / 750 * 100vw);
    width: 100%;
  }
}

.planBtn__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .planBtn__head {
    height: auto;
    width: 200px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__head {
    height: calc(378 / 750 * 100vw);
    width: calc(252 / 750 * 100vw);
  }
}

.planBtn__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .planBtn__cont {
    padding: 20px;
    width: calc(100% - 200px);
  }
}

@media screen and (max-width: 768px) {
  .planBtn__cont {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw);
    width: calc(100% - (252 / 750 * 100vw));
  }
}

.planBtn__type {
  color: #528a90;
  letter-spacing: .08em;
  line-height: 1;
}

.planBtn__type:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.planBtn__type:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.planBtn__type:before, .planBtn__type:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .planBtn__type {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__type {
    font-size: calc(36 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planBtn__type .type {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__type .type {
    font-size: calc(42 / 750 * 100vw);
  }
}

.planBtn__type .small {
  color: #888888;
  letter-spacing: 0;
}

@media print, screen and (min-width: 768px) {
  .planBtn__type .small {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__type .small {
    font-size: 12px;
  }
}

.planBtn__variation {
  font-family: "Cinzel", serif;
  letter-spacing: .06em;
  line-height: 1;
}

.planBtn__variation:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.planBtn__variation:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.planBtn__variation:before, .planBtn__variation:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .planBtn__variation {
    font-size: 32px;
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__variation {
    font-size: calc(42 / 750 * 100vw);
    margin-top: 20px;
  }
}

.planBtn__variation .floor {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .planBtn__variation .floor {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__variation .floor {
    font-size: calc(14 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planBtn__variation .num {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__variation .num {
    font-size: calc(58 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planBtn__variation .small {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__variation .small {
    font-size: calc(36 / 750 * 100vw);
  }
}

.planBtn__length {
  letter-spacing: .04em;
  margin-top: 20px;
  line-height: 1;
}

.planBtn__length:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.planBtn__length:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.planBtn__length:before, .planBtn__length:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.planBtn__length .num {
  font-family: "Cinzel", serif;
}

@media print, screen and (min-width: 768px) {
  .planBtn__length .num {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__length .num {
    font-size: calc(46 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planBtn__length .meter {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__length .meter {
    font-size: calc(26 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planBtn__length .tsubo {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__length .tsubo {
    font-size: calc(24 / 750 * 100vw);
  }
}

.planBtn__more {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #528a90;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cinzel", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .02em;
  position: relative;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .planBtn__more {
    font-size: 20px;
    height: 48px;
    margin: auto 0 0;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__more {
    font-size: calc(28 / 750 * 100vw);
    height: calc(82 / 750 * 100vw);
  }
}

.planBtn__more .arrowSVG {
  height: auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: .5s ease;
  transition: .5s ease;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

@media print, screen and (min-width: 768px) {
  .planBtn__more .arrowSVG {
    right: 20px;
    width: 11px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn__more .arrowSVG {
    right: calc(37 / 750 * 100vw);
    width: calc(16 / 750 * 100vw);
  }
}

.planBtn__more .arrowSVG__path {
  fill: #ffffff;
}

.planBtn__link {
  -ms-flex-item-align: center;
      align-self: center;
  background: #ffffff url("../../common/imgs/bg-plan-btn.jpg") top left repeat;
  -webkit-box-shadow: 0 8px 16px 0 rgba(102, 102, 102, 0.1);
          box-shadow: 0 8px 16px 0 rgba(102, 102, 102, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: .5s ease;
  transition: .5s ease;
  -webkit-transition-property: -webkit-transform, -webkit-box-shadow;
  transition-property: -webkit-transform, -webkit-box-shadow;
  transition-property: transform, box-shadow;
  transition-property: transform, box-shadow, -webkit-transform, -webkit-box-shadow;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .planBtn__link:hover {
    -webkit-box-shadow: 0 12px 24px 0 rgba(102, 102, 102, 0.2);
            box-shadow: 0 12px 24px 0 rgba(102, 102, 102, 0.2);
    -webkit-transform: translate(-1px, -2px);
            transform: translate(-1px, -2px);
  }
  .planBtn__link:hover .planBtn__more .arrowSVG {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}

@media (hover: hover) and (pointer: fine) {
  .planBtn__link:hover {
    -webkit-box-shadow: 0 12px 24px 0 rgba(102, 102, 102, 0.2);
            box-shadow: 0 12px 24px 0 rgba(102, 102, 102, 0.2);
    -webkit-transform: translate(-1px, -2px);
            transform: translate(-1px, -2px);
  }
  .planBtn__link:hover .planBtn__more .arrowSVG {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}

.planBtn .tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}

.planBtn .tagList__item {
  background: #c8aea6;
  border-radius: 2px;
  color: #ffffff;
  display: grid;
  letter-spacing: .04em;
  place-items: center;
}

@media print, screen and (min-width: 768px) {
  .planBtn .tagList__item {
    font-size: 14px;
    height: 24px;
    padding: 0 8px;
  }
}

@media screen and (max-width: 768px) {
  .planBtn .tagList__item {
    font-size: 11px;
    height: 20px;
    padding: 0 4px;
  }
}

.planBtn .tagList + .planBtn__type {
  margin-top: 10px;
}

.planDetail__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #528a90;
  -webkit-box-shadow: 0 5px 20px 0 rgba(75, 75, 75, 0.2);
          box-shadow: 0 5px 20px 0 rgba(75, 75, 75, 0.2);
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .1em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .planDetail__ttl {
    font-size: 18px;
    height: 60px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__ttl {
    font-size: 16px;
    height: 50px;
    padding: 10px;
  }
}

.planDetail__ttl .type {
  display: inline-block;
  margin-right: .25em;
}

@media print, screen and (min-width: 768px) {
  .planDetail__ttl .type {
    font-size: 28px;
    line-height: .7;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__ttl .type {
    font-size: 24px;
  }
}

.planDetail__ttl .small {
  display: inline-block;
  font-size: 12px;
}

@media print, screen and (min-width: 768px) {
  .planDetail__ttl .small {
    padding-top: 5px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__ttl .small {
    padding-top: 3px;
  }
}

.planDetail .featureList {
  background: #f5f7f8;
  color: #464646;
  counter-reset: number 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .planDetail .featureList {
    gap: 24px;
    margin: 50px auto 0;
    padding: 80px 45px;
    width: 910px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail .featureList {
    gap: 16px;
    margin: 40px auto 0;
    padding: 32px 20px;
  }
}

.planDetail .featureList__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: solid 1px rgba(70, 70, 70, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  letter-spacing: 0;
  line-height: 1.33;
  padding-bottom: 15px;
  padding-left: 40px;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .planDetail .featureList__item {
    font-size: 16px;
    width: 384px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail .featureList__item {
    font-size: 14px;
    width: 100%;
  }
}

.planDetail .featureList__item:before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #528a90;
  color: #ffffff;
  content: counter(number);
  counter-increment: number 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cinzel", serif;
  font-size: 12px;
  height: 24px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  width: 24px;
}

@media print, screen and (min-width: 768px) {
  .planDetail .featureList__item:before {
    top: calc(50% - 7px);
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

@media screen and (max-width: 768px) {
  .planDetail .featureList__item:before {
    top: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__head {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head {
    padding: 0 calc(20 / 750 * 100vw);
  }
}

.planDetail__head .roomSpec {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #464646;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .roomSpec {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .roomSpec {
    margin-top: 32px;
  }
}

.planDetail__head .roomSpec__variation {
  font-family: "Cinzel", serif;
  letter-spacing: .05em;
  line-height: .7;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .roomSpec__variation {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .roomSpec__variation {
    font-size: calc(48 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .roomSpec__variation .num {
    font-size: 48px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .roomSpec__variation .num {
    font-size: calc(60 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .roomSpec__variation .floor {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .roomSpec__variation .floor {
    font-size: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .roomSpec__variation + .mainLength {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .roomSpec__variation + .mainLength {
    margin-top: 15px;
  }
}

.planDetail__head .roomSpec__caption {
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .roomSpec__caption {
    padding-left: 15px;
  }
}

.planDetail__head .mainLength {
  letter-spacing: 0;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .mainLength .area {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .mainLength .area {
    font-size: 14px;
  }
}

.planDetail__head .mainLength .num {
  font-family: "Cinzel", serif;
  letter-spacing: .05em;
  line-height: .7;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .mainLength .num {
    font-size: 48px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .mainLength .num {
    font-size: calc(60 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .mainLength .meter {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .mainLength .meter {
    font-size: 16px;
  }
}

.planDetail__head .mainLength .tsubo {
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .mainLength + .subLength {
    margin-top: 15px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .mainLength + .subLength {
    margin-top: 10px;
  }
}

.planDetail__head .subLength {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #464646;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  width: 100%;
}

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

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

.planDetail__head .subLength__item {
  letter-spacing: 0;
  line-height: 1;
  vertical-align: bottom;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .subLength__item {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .subLength__item {
    font-size: calc(20 / 750 * 100vw);
  }
}

.planDetail__head .subLength__item .num {
  font-family: "Cinzel", serif;
  line-height: .7;
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .subLength__item .num {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__head .subLength__item .num {
    font-size: calc(24 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__head .subLength__item:not(:last-of-type) {
    margin-bottom: 10px;
  }
}

.planDetail__head .subLength + .caption {
  margin-top: 5px;
}

.planDetail__cont {
  background: #ffffff;
  -webkit-box-shadow: 0 5px 20px rgba(102, 102, 102, 0.2);
          box-shadow: 0 5px 20px rgba(102, 102, 102, 0.2);
  display: block;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .planDetail__cont {
    margin: 40px auto 0;
    max-width: 910px;
    padding: 20px 0;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__cont {
    aspect-ratio: 1000 / 1420;
    margin: 32px calc(50% - 50vw);
    overflow: hidden;
    padding: 60px 0;
    width: 100vw;
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail__image {
    height: 900px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail__image {
    left: 50%;
    max-width: none;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 110vw;
  }
}

.planDetail__bottom {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .planDetail__bottom {
    margin: 0 auto;
    width: 910px;
  }
}

.planDetail__bottom .caption {
  color: #666666;
  letter-spacing: 0;
  margin-top: 20px;
}

.planDetail__bottom .hanreiArea {
  position: relative;
}

.planDetail .hanreiList {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #666666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 20px;
}

@media print, screen and (min-width: 768px) {
  .planDetail .hanreiList {
    gap: 10px;
    max-width: 600px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail .hanreiList {
    gap: 6px;
  }
}

.planDetail .hanreiList__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ffffff;
  border-radius: 4px;
  -webkit-box-shadow: 0 4px 8px 0 rgba(102, 102, 102, 0.2);
          box-shadow: 0 4px 8px 0 rgba(102, 102, 102, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0;
}

@media print, screen and (min-width: 768px) {
  .planDetail .hanreiList__item {
    height: 30px;
    padding: 0 20px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail .hanreiList__item {
    height: 20px;
    padding: 0 8px;
  }
}

.planDetail .hanreiList .icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  line-height: 1;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .planDetail .hanreiList .icon--storage, .planDetail .hanreiList .icon--floor {
    padding-left: 25px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail .hanreiList .icon--storage, .planDetail .hanreiList .icon--floor {
    padding-left: 17px;
  }
}

.planDetail .hanreiList .icon--storage:before, .planDetail .hanreiList .icon--floor:before {
  content: '';
  display: block;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media print, screen and (min-width: 768px) {
  .planDetail .hanreiList .icon--storage:before, .planDetail .hanreiList .icon--floor:before {
    height: 12px;
    width: 22px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail .hanreiList .icon--storage:before, .planDetail .hanreiList .icon--floor:before {
    height: 10px;
    width: 15px;
  }
}

.planDetail .hanreiList .icon--storage:before {
  background-color: #f3d4a1;
}

.planDetail .hanreiList .icon--floor:before {
  background-color: #f8f6e7;
}

.planDetail .hanreiList .icon--ventilation img {
  height: 6px;
  width: 25px;
}

.planDetail .hanreiList .icon--ventilation svg {
  height: 8px;
  width: 38px;
}

.planDetail .hanreiList .icon--ventilation path {
  clip-rule: evenodd;
  fill: #84bae5;
  fill-rule: evenodd;
}

.planDetail .hanreiList .icon--lighting img {
  height: 7px;
  width: 25px;
}

.planDetail .hanreiList .icon--lighting svg {
  height: 8px;
  width: 18px;
}

.planDetail .hanreiList .icon--lighting polygon {
  fill: #facd89;
}

.planDetail .hanreiList .icon--magnet svg {
  height: auto;
  width: 18px;
}

.planDetail .hanreiList .icon--passive svg {
  height: auto;
  width: 18px;
}

.planDetail .hanreiList .icon--outframe img {
  height: 18px;
  width: 18px;
}

.planList__ttl {
  font-family: "Cinzel", serif;
  letter-spacing: .12em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .planList__ttl {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .planList__ttl {
    font-size: calc(42 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .planList__ttl + .btnList {
    margin-top: 58px;
  }
}

@media screen and (max-width: 768px) {
  .planList__ttl + .btnList {
    margin-top: calc(64 / 750 * 100vw);
  }
}

.planList__note {
  color: #333333;
  font-size: 10px;
  letter-spacing: 0;
}

@media print, screen and (min-width: 768px) {
  .planList__note {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .planList__note {
    margin-top: 10px;
  }
}

@media print, screen and (min-width: 768px) {
  .planDetail + .planList {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .planDetail + .planList {
    margin-top: calc(163 / 750 * 100vw);
  }
}

/* === wrap === */
@media print, screen and (min-width: 768px) {
  .wrap {
    margin-inline: auto;
    max-width: 1008px;
  }
  .wrap:has(.keyVisual) {
    max-width: none;
  }
}

@media screen and (max-width: 768px) {
  .wrap {
    padding-inline: 30px;
  }
}

/* === 導入文の大見出し === */
.headTtl {
  color: #766629;
  font-family: "Cinzel", serif;
  line-height: 1.4;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .headTtl {
    font-size: 32px;
    margin-block: 6rem 7rem;
  }
}

@media screen and (max-width: 768px) {
  .headTtl {
    font-size: calc(46 / 750 * 100vw);
    margin-bottom: calc(120 / 750 * 100vw);
  }
}

.headTtl .num {
  font-weight: normal;
}

@media print, screen and (min-width: 768px) {
  .headTtl .num {
    font-size: 44px;
  }
}

@media screen and (max-width: 768px) {
  .headTtl .num {
    font-size: calc(60 / 750 * 100vw);
  }
}

.headTtl .color {
  color: #cc5277;
}

@media print, screen and (min-width: 768px) {
  .headTtl .small {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .headTtl .small {
    font-size: calc(36 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .currentPage--planDetail .pageTtl {
    margin: 0;
  }
}

.currentPage--planDetail .pageTtl:after {
  background-color: #000000;
}

@media print, screen and (min-width: 768px) {
  .plan-introduction {
    padding: 100px 0 120px;
  }
}

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

.plan-design {
  background: #f5f8f7;
}

@media print, screen and (min-width: 768px) {
  .plan-design {
    padding: 100px 0 140px;
  }
}

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

@media print, screen and (min-width: 768px) {
  .plan-detail {
    padding: 80px 0 140px;
  }
}

@media screen and (max-width: 768px) {
  .plan-detail {
    padding: 40px 0 100px;
  }
}

.plan-casbee {
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .plan-casbee {
    padding-block: 140px;
  }
}

@media screen and (max-width: 768px) {
  .plan-casbee {
    padding-block: 60px;
  }
}

@media screen and (max-width: 768px) {
  .plan-casbee__img {
    width: 70%;
  }
}

/* === ローカル keyVisual (Phase 1) === */
.keyVisual {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .keyVisual {
    margin: 0 auto;
    max-width: 1200px;
    padding-top: 63px;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual {
    margin: 0 -30px;
  }
}

.keyVisual__bg {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .keyVisual__bg {
    -webkit-box-shadow: 0 0 16px rgba(102, 102, 102, 0.2);
            box-shadow: 0 0 16px rgba(102, 102, 102, 0.2);
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__bg {
    -webkit-box-shadow: 0 0 16px rgba(102, 102, 102, 0.1);
            box-shadow: 0 0 16px rgba(102, 102, 102, 0.1);
  }
}

.keyVisual__picture {
  display: block;
  width: 100%;
}

.keyVisual__image {
  display: block;
  height: auto;
  width: 100%;
}

.keyVisual__ttl {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  color: #ffffff;
  display: block;
  font-family: "Cinzel", serif;
  left: 0;
  letter-spacing: .06em;
  line-height: .7;
  position: absolute;
  width: 100%;
  z-index: 2;
}

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

@media screen and (max-width: 768px) {
  .keyVisual__ttl {
    bottom: 0;
    font-size: 44px;
    padding: 10px;
    text-align: center;
  }
}

.keyVisual__ttl:after {
  background-color: rgba(102, 102, 102, 0.2);
  content: '';
  inset: 0;
  position: absolute;
  z-index: -1;
}

.keyVisual__capIn {
  bottom: 5px;
  position: absolute;
  right: 5px;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  .keyVisual__capIn {
    bottom: 55px;
  }
}

.keyVisual__capIn[data-color='sdw-wh'] {
  color: #ffffff;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
}

.keyVisual__capIn[data-color='white'] {
  color: #ffffff;
}

/* === ローカル sectTtl (Phase 1) === */
.sectTtl {
  color: #766629;
  font-family: "Cinzel", serif;
  letter-spacing: 0;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .sectTtl {
    font-size: 22px;
    line-height: .8;
    margin: 50px auto 0;
    max-width: 1008px;
  }
}

@media screen and (max-width: 768px) {
  .sectTtl {
    font-size: 18px;
    line-height: 1.2;
    margin-top: 40px;
  }
}

/* === ヘディングモディファイア (Phase 1) === */
.heading--center {
  text-align: center;
}

.txt--center {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .txt--center {
    font-size: 16px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .txt--center {
    margin-top: 30px;
  }
}
