@charset "UTF-8";
/* === anchorNav（設備仕様 等 5タブ・EQUIPMENT ページ内アンカー） === */
.anchorNav {
  -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;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .anchorNav {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.anchorNav__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  border: 1px solid #4c97aa;
  color: #4c97aa;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  -webkit-transition: background-color .3s ease, color .3s ease, border-color .3s ease;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

@media print, screen and (min-width: 768px) {
  .anchorNav__link {
    height: 64px;
    width: 178px;
  }
}

@media screen and (max-width: 768px) {
  .anchorNav__link {
    height: 50px;
    width: calc(50% - 6px);
  }
}

@media screen and (max-width: 768px) {
  .anchorNav__link:nth-of-type(n + 3) {
    margin-top: 12px;
  }
}

@media print, screen and (min-width: 768px) {
  .anchorNav__link:hover {
    background-color: #4c97aa;
    color: #ffffff;
  }
}

@media (hover: hover) and (pointer: fine) {
  .anchorNav__link:hover {
    background-color: #4c97aa;
    color: #ffffff;
  }
}

.anchorNav__link.is-active {
  background-color: #4c97aa;
  -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;
}

.anchorNav__txt {
  letter-spacing: .08em;
  line-height: 1;
}

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

@media screen and (max-width: 768px) {
  .anchorNav__txt {
    font-size: 15px;
  }
}

@media print, screen and (min-width: 768px) {
  .anchorNav + .equipmentVisual {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .anchorNav + .equipmentVisual {
    margin-top: 48px;
  }
}

/* === counterKitchen（開放的なオープンカウンターキッチン＋ガスコンロ見出し・3カード。マークアップは index.ejs にインライン） === */
.counterKitchen {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .counterKitchen {
    -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;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .counterKitchen {
    margin: 0 auto;
    max-width: 480px;
  }
}

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

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

@media screen and (max-width: 768px) {
  .counterKitchen__item:not(:last-of-type), .counterKitchen__item--center:not(:last-of-type) {
    margin-bottom: 24px;
  }
}

.counterKitchen__item .photo, .counterKitchen__item--center .photo,
.counterKitchen__item .photo__image,
.counterKitchen__item--center .photo__image {
  display: block;
  height: auto;
  width: 100%;
}

.counterKitchen__heading {
  color: #464646;
  letter-spacing: .1em;
  line-height: 1.5;
}

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

@media screen and (max-width: 768px) {
  .counterKitchen__heading {
    font-size: 18px;
    margin-bottom: 16px;
    text-align: center;
  }
}

.counterKitchen__heading--position {
  margin: 0 auto;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .counterKitchen__heading--position {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 768px) {
  .counterKitchen__heading--position {
    margin-bottom: 24px;
  }
}

.counterKitchen__txt {
  color: #666666;
  letter-spacing: .02em;
}

@media print, screen and (min-width: 768px) {
  .counterKitchen__txt {
    font-size: 15px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .counterKitchen__txt {
    font-size: 13px;
    line-height: 1.8;
  }
}

.counterKitchen__detail {
  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;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .counterKitchen__detail {
    margin: 0 auto;
    max-width: 494px;
  }
}

@media print, screen and (min-width: 768px) {
  .counterKitchen__detail .equipmentCard {
    width: 30.2%;
  }
}

@media screen and (max-width: 768px) {
  .counterKitchen__detail .equipmentCard {
    width: calc(50% - 10px);
  }
  .counterKitchen__detail .equipmentCard:nth-of-type(3) {
    margin-top: 27px;
  }
}

/* === designKitchen（キッチン収納／フロントポケット・スパイスキャリー／食器棚の3カラム。マークアップは index.ejs にインライン） === */
.designKitchen {
  position: relative;
}

@media screen and (max-width: 768px) {
  .designKitchen__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

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

@media screen and (max-width: 768px) {
  .designKitchen__item:not(:last-of-type) {
    margin-bottom: 27px;
  }
}

@media print, screen and (min-width: 768px) {
  .designKitchen__item .equipmentCard {
    width: 304px;
  }
}

@media screen and (max-width: 768px) {
  .designKitchen__item .equipmentCard {
    width: calc(50% - 8px);
  }
}

@media print, screen and (min-width: 768px) {
  .designKitchen__item--edge {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .designKitchen__item--core {
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

@media print, screen and (min-width: 768px) {
  .designKitchen__item--core .equipmentCard + .equipmentCard {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .designKitchen__item--core .equipmentCard + .equipmentCard {
    margin-top: 0;
  }
}

/* === ecojouzuBlock（快適設備・エコジョーズ 説明＋大図版。マークアップは index.ejs にインライン） === */
.ecojouzuBlock__head {
  text-align: center;
}

.ecojouzuBlock__ttl {
  color: #464646;
  letter-spacing: .08em;
}

@media print, screen and (min-width: 768px) {
  .ecojouzuBlock__ttl {
    font-size: 24px;
    line-height: 1.5;
  }
  .ecojouzuBlock__ttl:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .ecojouzuBlock__ttl:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .ecojouzuBlock__ttl:before, .ecojouzuBlock__ttl:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .ecojouzuBlock__ttl {
    font-size: 16px;
    line-height: 1.625;
  }
  .ecojouzuBlock__ttl:before {
    content: '';
    margin-top: calc((1 - 1.625) * .5em);
  }
  .ecojouzuBlock__ttl:after {
    margin-bottom: calc((1 - 1.625) * .5em);
  }
  .ecojouzuBlock__ttl:before, .ecojouzuBlock__ttl:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.ecojouzuBlock__txt {
  color: #464646;
  letter-spacing: .04em;
}

@media print, screen and (min-width: 768px) {
  .ecojouzuBlock__txt {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .ecojouzuBlock__txt {
    font-size: 13px;
    line-height: 1.7;
    margin-top: 16px;
    text-align: left;
  }
}

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

@media screen and (max-width: 768px) {
  .ecojouzuBlock__txt + .caption {
    margin-top: 12px;
    text-align: left;
  }
}

.ecojouzuBlock__figure {
  position: relative;
}

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

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

.ecojouzuBlock__figure .photo__image {
  width: 100%;
}

.ecojouzuBlock__spIcon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(70, 70, 70, 0.78);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 32px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .ecojouzuBlock__spIcon {
    display: none;
  }
}

.ecojouzuBlock__spIcon .zoomSVG {
  height: auto;
  width: 17px;
}

.ecojouzuBlock__note {
  color: #666666;
  letter-spacing: .04em;
}

@media print, screen and (min-width: 768px) {
  .ecojouzuBlock__note {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .ecojouzuBlock__note {
    font-size: 11px;
    line-height: 1.7;
    margin-top: 40px;
  }
}

/* === equipmentBand（ティール帯見出し＋任意リード文。KITCHEN/BATHROOM 等で再利用） === */
.equipmentBand__band {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #52898e;
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
  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) {
  .equipmentBand__band {
    min-height: 63px;
    padding: 14px 20px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentBand__band {
    min-height: 48px;
    padding: 12px 16px;
  }
}

.equipmentBand__ttl {
  color: #ffffff;
  letter-spacing: .1em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .equipmentBand__ttl {
    font-size: 20px;
    line-height: 1.6;
  }
  .equipmentBand__ttl:before {
    content: '';
    margin-top: calc((1 - 1.6) * .5em);
  }
  .equipmentBand__ttl:after {
    margin-bottom: calc((1 - 1.6) * .5em);
  }
  .equipmentBand__ttl:before, .equipmentBand__ttl:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipmentBand__ttl {
    font-size: 14px;
    letter-spacing: .04em;
    line-height: 1.71429;
  }
  .equipmentBand__ttl:before {
    content: '';
    margin-top: calc((1 - 1.71429) * .5em);
  }
  .equipmentBand__ttl:after {
    margin-bottom: calc((1 - 1.71429) * .5em);
  }
  .equipmentBand__ttl:before, .equipmentBand__ttl:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.equipmentBand__lead {
  color: #464646;
  letter-spacing: .04em;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .equipmentBand__lead {
    font-size: 13px;
    line-height: 1.8;
    margin-top: 24px;
    text-align: left;
  }
}

/* === equipmentCard（写真＋見出し＋本文の設備カード。マークアップは index.ejs にインライン） === */
.equipmentCard {
  letter-spacing: .08em;
}

.equipmentCard__head {
  position: relative;
}

.equipmentCard__head .photo {
  width: 100%;
}

.equipmentCard__head .photo__capOut, .equipmentCard__head .photo__capIn {
  letter-spacing: 0;
}

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

.equipmentCard__cont {
  position: relative;
  width: 100%;
}

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

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

.equipmentCard__ttl {
  position: relative;
}

.equipmentCard__ttl:after {
  background-color: #d8d8d8;
  bottom: 0;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

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

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

.equipmentCard__ttl span {
  color: #464646;
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__ttl span {
    font-size: 16px;
    letter-spacing: .08em;
    line-height: 1.5;
  }
  .equipmentCard__ttl span:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .equipmentCard__ttl span:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .equipmentCard__ttl span:before, .equipmentCard__ttl span:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__ttl span {
    font-size: 14px;
    letter-spacing: .04em;
    line-height: 1.57143;
  }
  .equipmentCard__ttl span:before {
    content: '';
    margin-top: calc((1 - 1.57143) * .5em);
  }
  .equipmentCard__ttl span:after {
    margin-bottom: calc((1 - 1.57143) * .5em);
  }
  .equipmentCard__ttl span:before, .equipmentCard__ttl span:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

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

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

.equipmentCard__txt {
  color: #666666;
  letter-spacing: 0;
}

@media print, screen and (min-width: 768px) {
  .equipmentCard__txt {
    font-size: 14px;
    line-height: 1.71429;
  }
  .equipmentCard__txt:before {
    content: '';
    margin-top: calc((1 - 1.71429) * .5em);
  }
  .equipmentCard__txt:after {
    margin-bottom: calc((1 - 1.71429) * .5em);
  }
  .equipmentCard__txt:before, .equipmentCard__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__txt {
    font-size: 12px;
    line-height: 1.83333;
  }
  .equipmentCard__txt:before {
    content: '';
    margin-top: calc((1 - 1.83333) * .5em);
  }
  .equipmentCard__txt:after {
    margin-bottom: calc((1 - 1.83333) * .5em);
  }
  .equipmentCard__txt:before, .equipmentCard__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.equipmentCard__txt .caption {
  display: inline-block;
  line-height: 1.4;
  margin: 5px 0;
}

@media print, screen and (min-width: 768px) {
  .equipmentCard--marginWide .equipmentCard__cont {
    margin-top: 32px;
  }
}

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

/* === equipmentCardGroup（設備カードの並び。マークアップは index.ejs にインライン） === */
.equipmentCardGroup {
  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;
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneThird {
    margin: 0 auto;
    max-width: 494px;
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCardGroup--oneThird .equipmentCard {
    margin-right: 48px;
    width: 304px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneThird .equipmentCard {
    margin-right: 20px;
    width: calc(50% - 10px);
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCardGroup--oneThird .equipmentCard:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCardGroup--oneThird .equipmentCard:nth-of-type(n + 4) {
    margin-top: 50px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneThird .equipmentCard:nth-of-type(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneThird .equipmentCard:nth-of-type(n + 3) {
    margin-top: 27px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneFourth {
    margin: 0 auto;
    max-width: 494px;
  }
}

.equipmentCardGroup--oneFourth .equipmentCard {
  margin-right: 20px;
}

@media print, screen and (min-width: 768px) {
  .equipmentCardGroup--oneFourth .equipmentCard {
    width: 237px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneFourth .equipmentCard {
    width: calc(50% - 10px);
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCardGroup--oneFourth .equipmentCard:nth-of-type(4n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneFourth .equipmentCard:nth-of-type(2n) {
    margin-right: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentCardGroup--oneFourth .equipmentCard:nth-of-type(n + 5) {
    margin-top: 50px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--oneFourth .equipmentCard:nth-of-type(n + 3) {
    margin-top: 27px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup--amenity .equipmentCard__head .photo__capIn {
    color: #666666;
    padding-top: 5px;
    position: static;
    text-align: right;
    text-shadow: none;
  }
}

/* === equipmentSect（設備セクションの内容ラッパー・間隔管理。BEM要素のみ・SCSSのみ） === */
.equipmentSect {
  /* 2つ目の equipmentBand（他にも充実のキッチン設備）の上に大きめの余白 */
  /* utilitySink と最後のカード群の間隔 */
}

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

@media screen and (max-width: 768px) {
  .equipmentBand + .equipmentSect__cont,
  .equipmentBand + .equipmentSect__cont--large {
    margin-top: 30px;
  }
}

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

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

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

@media screen and (max-width: 768px) {
  .equipmentSect__cont--large {
    margin-top: 48px;
  }
}

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

@media screen and (max-width: 768px) {
  .equipmentSect__cont--large + .equipmentBand {
    margin-top: 45px;
  }
}

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

@media screen and (max-width: 768px) {
  .equipmentSect .utilitySink + .equipmentCardGroup {
    margin-top: 45px;
  }
}

/* === equipmentVisual（帯状写真＋中央白文字。設備仕様 等の各カテゴリ見出しに再利用） === */
.equipmentVisual {
  position: relative;
}

.equipmentVisual__ttl {
  color: #ffffff;
  left: 50%;
  letter-spacing: .1em;
  line-height: 1.5;
  position: absolute;
  text-align: center;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
  width: 100%;
  z-index: 10;
}

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

@media screen and (max-width: 768px) {
  .equipmentVisual__ttl {
    font-size: 18px;
  }
}

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

@media screen and (max-width: 768px) {
  .equipmentVisual + .subVisual {
    margin-top: 60px;
  }
}

/* === gasPlan（快適設備・ガス料金プラン。図版1枚＋注記。マークアップは index.ejs にインライン） === */
.gasPlan__lead {
  color: #464646;
  letter-spacing: .04em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .gasPlan__lead {
    font-size: 16px;
    line-height: 2;
  }
  .gasPlan__lead:before {
    content: '';
    margin-top: calc((1 - 2) * .5em);
  }
  .gasPlan__lead:after {
    margin-bottom: calc((1 - 2) * .5em);
  }
  .gasPlan__lead:before, .gasPlan__lead:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .gasPlan__lead {
    font-size: 13px;
    line-height: 1.8;
  }
}

.gasPlan__cont {
  position: relative;
}

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

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

.gasPlan__cont .photo {
  margin: 0 auto;
}

.gasPlan__cont .photo__image {
  width: 100%;
}

.gasPlan__spIcon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(70, 70, 70, 0.78);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 32px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .gasPlan__spIcon {
    display: none;
  }
}

.gasPlan__spIcon .zoomSVG {
  height: auto;
  width: 17px;
}

.gasPlan__note {
  color: #666666;
  letter-spacing: .04em;
}

@media print, screen and (min-width: 768px) {
  .gasPlan__note {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .gasPlan__note {
    font-size: 11px;
    line-height: 1.7;
    margin-top: 20px;
  }
}

/* === kouzouSect（構造：左右交互のテキスト×図版レイアウト。photo組み込み・SCSSのみ・構造ブロック専用） === */
@media print, screen and (min-width: 768px) {
  .kouzouSect__row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    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) {
  .kouzouSect__row + .kouzouSect__row {
    margin-top: 80px;
  }
}

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

@media print, screen and (min-width: 768px) {
  .kouzouSect__row:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

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

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

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

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

.kouzouSect__ttl {
  color: #464646;
  letter-spacing: .04em;
  line-height: 1.5;
}

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

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

.kouzouSect__txt {
  color: #464646;
  letter-spacing: .04em;
}

@media print, screen and (min-width: 768px) {
  .kouzouSect__txt {
    font-size: 16px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .kouzouSect__txt {
    font-size: 13px;
    line-height: 1.8;
  }
}

@media print, screen and (min-width: 768px) {
  .kouzouSect__ttl + .kouzouSect__txt {
    margin-top: 32px;
  }
}

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

@media print, screen and (min-width: 768px) {
  .kouzouSect__txt + .kouzouSect__note {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .kouzouSect__txt + .kouzouSect__note {
    margin-top: 14px;
  }
}

.kouzouSect__note, .kouzouSect__figNote {
  color: #666666;
  letter-spacing: .02em;
}

@media print, screen and (min-width: 768px) {
  .kouzouSect__note, .kouzouSect__figNote {
    font-size: 12px;
    line-height: 1.8;
  }
}

@media screen and (max-width: 768px) {
  .kouzouSect__note, .kouzouSect__figNote {
    font-size: 10px;
    line-height: 1.6;
  }
}

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

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

/* === mistySect（MISTY ミストサウナ紹介ブロック。マークアップは index.ejs にインライン・SCSSのみ） === */
/* MISTY 強調テキスト（カンプ実測 rose） */
.mistySect {
  /* BATHROOM カード群からの区切り */
  /* 写真は幅いっぱい */
}

@media print, screen and (min-width: 768px) {
  .mistySect {
    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) {
  .equipmentCardGroup + .mistySect {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCardGroup + .mistySect {
    margin-top: 56px;
  }
}

.mistySect__visual {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .mistySect__visual {
    margin-bottom: 64px;
  }
}

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

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

.mistySect__en {
  color: #ffffff;
  font-family: "Cinzel", serif;
  letter-spacing: .14em;
  line-height: .8;
}

@media print, screen and (min-width: 768px) {
  .mistySect__en {
    font-size: 32px;
    left: 30px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (max-width: 768px) {
  .mistySect__en {
    font-size: 16px;
    display: block;
  }
}

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

.mistySect__heading {
  color: #464646;
  letter-spacing: .06em;
}

@media print, screen and (min-width: 768px) {
  .mistySect__heading {
    font-size: 24px;
    margin-bottom: 24px;
    line-height: 1.42857;
  }
  .mistySect__heading:before {
    content: '';
    margin-top: calc((1 - 1.42857) * .5em);
  }
  .mistySect__heading:after {
    margin-bottom: calc((1 - 1.42857) * .5em);
  }
  .mistySect__heading:before, .mistySect__heading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .mistySect__heading {
    font-size: 18px;
    margin-bottom: 16px;
    text-align: center;
    line-height: 1.66667;
  }
  .mistySect__heading:before {
    content: '';
    margin-top: calc((1 - 1.66667) * .5em);
  }
  .mistySect__heading:after {
    margin-bottom: calc((1 - 1.66667) * .5em);
  }
  .mistySect__heading:before, .mistySect__heading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.mistySect__lead {
  color: #666666;
  letter-spacing: .04em;
}

@media print, screen and (min-width: 768px) {
  .mistySect__lead {
    font-size: 15px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .mistySect__lead {
    font-size: 13px;
    line-height: 1.8;
  }
}

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

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

.mistySect__bottom {
  width: 100%;
}

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

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

@media print, screen and (min-width: 768px) {
  .mistySect__data {
    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 screen and (max-width: 768px) {
  .mistySect__data {
    margin: 0 auto;
    max-width: 480px;
  }
}

.mistySect__block {
  letter-spacing: .08em;
}

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

@media print, screen and (min-width: 768px) {
  .mistySect__block:nth-of-type(n + 3) {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .mistySect__block:not(:last-of-type) {
    margin-bottom: 48px;
  }
}

.mistySect__blockTtl {
  position: relative;
}

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

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

.mistySect__blockTtl:after {
  background-color: #d8d8d8;
  bottom: 0;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.mistySect__blockTtl .inner {
  color: #464646;
}

@media print, screen and (min-width: 768px) {
  .mistySect__blockTtl .inner {
    line-height: 1.5;
    font-size: 16px;
    letter-spacing: .08em;
  }
  .mistySect__blockTtl .inner:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .mistySect__blockTtl .inner:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .mistySect__blockTtl .inner:before, .mistySect__blockTtl .inner:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .mistySect__blockTtl .inner {
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 1.6;
  }
  .mistySect__blockTtl .inner:before {
    content: '';
    margin-top: calc((1 - 1.6) * .5em);
  }
  .mistySect__blockTtl .inner:after {
    margin-bottom: calc((1 - 1.6) * .5em);
  }
  .mistySect__blockTtl .inner:before, .mistySect__blockTtl .inner:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.mistySect__blockTtl .lg {
  color: #b93e6c;
  font-weight: 600;
}

.mistySect__blockTxt {
  color: #666666;
  letter-spacing: 0;
}

@media print, screen and (min-width: 768px) {
  .mistySect__blockTxt {
    font-size: 14px;
    margin-top: 15px;
    line-height: 1.71429;
  }
  .mistySect__blockTxt:before {
    content: '';
    margin-top: calc((1 - 1.71429) * .5em);
  }
  .mistySect__blockTxt:after {
    margin-bottom: calc((1 - 1.71429) * .5em);
  }
  .mistySect__blockTxt:before, .mistySect__blockTxt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .mistySect__blockTxt {
    font-size: 12px;
    margin-top: 10px;
    line-height: 1.83333;
  }
  .mistySect__blockTxt:before {
    content: '';
    margin-top: calc((1 - 1.83333) * .5em);
  }
  .mistySect__blockTxt:after {
    margin-bottom: calc((1 - 1.83333) * .5em);
  }
  .mistySect__blockTxt:before, .mistySect__blockTxt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.mistySect__caption {
  display: inline-block;
  line-height: 1.5;
}

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

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

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

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

.mistySect__sub {
  color: #666666;
  letter-spacing: 0;
  line-height: 1.6;
}

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

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

.mistySect__cost {
  display: block;
  height: auto;
  margin: 0 auto 12px;
  max-width: 100%;
}

.mistySect__note {
  display: block;
}

.mistySect__em {
  color: #b93e6c;
}

.mistySect__em--lg {
  font-weight: 600;
}

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

@media screen and (max-width: 768px) {
  .mistySect__em--lg {
    font-size: 18px;
  }
}

.mistySect .photo {
  width: 100%;
}

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

.mistySect .photo__capOut, .mistySect .photo__capIn {
  letter-spacing: 0;
}

/* === securityBadge（セキュリティ3カード・写真下の共用部/専有部バッジ帯。equipmentCard 内にインライン） === */
.securityBadge {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #727272;
  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) {
  .securityBadge {
    margin-top: 14px;
    min-height: 32px;
    padding: 6px 10px;
  }
}

@media screen and (max-width: 768px) {
  .securityBadge {
    margin-top: 10px;
    min-height: 28px;
    padding: 5px 8px;
  }
}

.securityBadge span {
  color: #ffffff;
  letter-spacing: .1em;
}

@media print, screen and (min-width: 768px) {
  .securityBadge span {
    font-size: 14px;
    line-height: 1;
  }
}

@media screen and (max-width: 768px) {
  .securityBadge span {
    font-size: 12px;
    line-height: 1;
  }
}

/* === securityFigure（セキュリティ・全幅大図版＋SP拡大アイコン。3重システム/ウェブモバイル/防犯センサーで再利用） === */
.securityFigure {
  position: relative;
}

.securityFigure__spIcon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(70, 70, 70, 0.78);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 32px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .securityFigure__spIcon {
    display: none;
  }
}

.securityFigure__spIcon .zoomSVG {
  height: auto;
  width: 17px;
}

.securityFigure .photo__image {
  height: auto;
  width: 100%;
}

/* === securityLead（セキュリティ・左テキスト＋右ロゴ連携図。マークアップは index.ejs にインライン） === */
@media print, screen and (min-width: 768px) {
  .securityLead {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    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) {
  .securityLead__body {
    width: 620px;
  }
}

.securityLead__heading {
  color: #464646;
  letter-spacing: .08em;
}

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

@media screen and (max-width: 768px) {
  .securityLead__heading {
    font-size: 16px;
    line-height: 1.5;
  }
}

.securityLead__txt {
  color: #464646;
  letter-spacing: .04em;
}

@media print, screen and (min-width: 768px) {
  .securityLead__txt {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .securityLead__txt {
    font-size: 13px;
    line-height: 1.7;
    margin-top: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .securityLead__fig {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 336px;
  }
}

@media screen and (max-width: 768px) {
  .securityLead__fig {
    margin: 24px auto 0;
    max-width: 336px;
  }
}

.securityLead__fig .photo__image {
  height: auto;
  width: 100%;
}

/* === subVisual（大きな写真＋下部中央 KITCHEN 等のカテゴリラベル） === */
.subVisual {
  position: relative;
  /* 前セクション（equipmentSect）と次カテゴリ subVisual の大きな区切り */
}

.subVisual__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(255, 255, 255, 0.9);
  bottom: 0;
  color: #4c97aa;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cinzel", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: .12em;
  line-height: .8;
  position: absolute;
  white-space: nowrap;
  width: 100%;
  z-index: 10;
}

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

@media screen and (max-width: 768px) {
  .subVisual__ttl {
    font-size: 22px;
    height: 48px;
  }
}

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

@media screen and (max-width: 768px) {
  .subVisual + .equipmentSect {
    margin-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .equipmentSect + .subVisual {
    margin-top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentSect + .subVisual {
    margin-top: 90px;
  }
}

/* === utilitySink（淡色帯フルブリード＋左テキスト・右写真＋ロゴ・下段3カード。マークアップは index.ejs にインライン） === */
.utilitySink {
  background: #f2f6f7;
  -webkit-box-shadow: 0 0 0 100vmax #f2f6f7;
          box-shadow: 0 0 0 100vmax #f2f6f7;
  -webkit-clip-path: inset(0 -100vmax);
          clip-path: inset(0 -100vmax);
}

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

@media screen and (max-width: 768px) {
  .utilitySink {
    margin: 0 auto;
    max-width: 480px;
    padding: 40px 0;
  }
}

.utilitySink__group {
  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;
  width: 100%;
}

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

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

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

@media screen and (max-width: 768px) {
  .utilitySink__item:not(:last-of-type), .utilitySink__item--center:not(:last-of-type) {
    margin-bottom: 30px;
  }
}

.utilitySink__visual {
  position: relative;
}

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

.utilitySink__logo {
  position: absolute;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .utilitySink__logo {
    left: 10px;
    top: 10px;
    width: 231px;
  }
}

@media screen and (max-width: 768px) {
  .utilitySink__logo {
    left: 10px;
    top: 10px;
    width: calc(231 / 480 * 100%);
  }
}

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

.utilitySink__heading {
  color: #464646;
  letter-spacing: .05em;
  line-height: 1.5;
}

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

@media screen and (max-width: 768px) {
  .utilitySink__heading {
    font-size: 16px;
    margin-bottom: 16px;
    text-align: center;
  }
}

.utilitySink__txt {
  color: #666666;
  letter-spacing: .02em;
}

@media print, screen and (min-width: 768px) {
  .utilitySink__txt {
    font-size: 15px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .utilitySink__txt {
    font-size: 13px;
    line-height: 1.8;
  }
}

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

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

.utilitySink__cont .equipmentCardGroup {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .utilitySink__cont .equipmentCard {
    width: 30.2%;
  }
}

@media screen and (max-width: 768px) {
  .utilitySink__cont .equipmentCard {
    max-width: 304px;
    width: calc(50% - 10px);
  }
}

@media print, screen and (min-width: 768px) {
  .utilitySink__cont .equipmentCard:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .utilitySink__cont .equipmentCard:nth-of-type(n + 3) {
    margin-top: 30px;
  }
}

/* === wrap（PC 1008px・SP余白はページ側で付与） === */
@media print, screen and (min-width: 768px) {
  .wrap {
    padding: 0;
    width: 1008px;
  }
}

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

/* === ページラッパー（レイアウト・上下余白のみ管理） === */
@media print, screen and (min-width: 768px) {
  .equipment-shiyou {
    padding-bottom: 160px;
    padding-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-shiyou {
    padding-bottom: 80px;
    padding-top: 64px;
  }
}

/* === 快適設備ブロック（下余白・中央リード見出し・セクション間余白。equipment-shiyou と同様にレイアウト管理） === */
@media print, screen and (min-width: 768px) {
  .equipment-kaiteki {
    padding-bottom: 160px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-kaiteki {
    padding-bottom: 80px;
  }
}

.equipment-kaiteki__headline {
  color: #52898e;
  letter-spacing: .1em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .equipment-kaiteki__headline {
    font-size: 24px;
    margin-top: 64px;
    line-height: 1.5;
  }
  .equipment-kaiteki__headline:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .equipment-kaiteki__headline:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .equipment-kaiteki__headline:before, .equipment-kaiteki__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipment-kaiteki__headline {
    font-size: 16px;
    letter-spacing: .05em;
    margin-top: 40px;
    line-height: 1.75;
  }
  .equipment-kaiteki__headline:before {
    content: '';
    margin-top: calc((1 - 1.75) * .5em);
  }
  .equipment-kaiteki__headline:after {
    margin-bottom: calc((1 - 1.75) * .5em);
  }
  .equipment-kaiteki__headline:before, .equipment-kaiteki__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .equipment-kaiteki__headline + .equipmentSect {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-kaiteki__headline + .equipmentSect {
    margin-top: 32px;
  }
}

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

@media screen and (max-width: 768px) {
  .equipment-kaiteki .equipmentSect + .equipmentSect {
    margin-top: 45px;
  }
}

/* === アメニティブロック（下余白・visual→セクション間余白。equipment-kaiteki と同じ流儀） === */
@media print, screen and (min-width: 768px) {
  .equipment-amenity {
    padding-bottom: 160px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-amenity {
    padding-bottom: 80px;
  }
}

@media print, screen and (min-width: 768px) {
  .equipment-amenity .equipmentVisual + .equipmentSect {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-amenity .equipmentVisual + .equipmentSect {
    margin-top: 40px;
  }
}

/* === セキュリティブロック（アメニティと同じ下余白・中央リード見出しは快適設備と同一の流儀） === */
@media print, screen and (min-width: 768px) {
  .equipment-security {
    padding-bottom: 160px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-security {
    padding-bottom: 80px;
  }
}

.equipment-security__headline {
  color: #52898e;
  letter-spacing: .1em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .equipment-security__headline {
    font-size: 24px;
    margin-top: 64px;
    line-height: 1.5;
  }
  .equipment-security__headline:before {
    content: '';
    margin-top: calc((1 - 1.5) * .5em);
  }
  .equipment-security__headline:after {
    margin-bottom: calc((1 - 1.5) * .5em);
  }
  .equipment-security__headline:before, .equipment-security__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .equipment-security__headline {
    font-size: 16px;
    letter-spacing: .05em;
    margin-top: 40px;
    line-height: 1.75;
  }
  .equipment-security__headline:before {
    content: '';
    margin-top: calc((1 - 1.75) * .5em);
  }
  .equipment-security__headline:after {
    margin-bottom: calc((1 - 1.75) * .5em);
  }
  .equipment-security__headline:before, .equipment-security__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .equipment-security__headline + .equipmentSect {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-security__headline + .equipmentSect {
    margin-top: 32px;
  }
}

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

@media screen and (max-width: 768px) {
  .equipment-security .equipmentSect + .equipmentSect {
    margin-top: 45px;
  }
}

/* === 構造ブロック（ページ最終ブロック・下余白は equipment-shiyou 等と同一。visual→セクション間余白は amenity と同じ流儀） === */
@media print, screen and (min-width: 768px) {
  .equipment-kouzou {
    padding-bottom: 160px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-kouzou {
    padding-bottom: 80px;
  }
}

@media print, screen and (min-width: 768px) {
  .equipment-kouzou .equipmentVisual + .equipmentSect {
    margin-top: 64px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-kouzou .equipmentVisual + .equipmentSect {
    margin-top: 40px;
  }
}

/* === keyVisual === */
.keyVisual {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .keyVisual {
    margin: 0 -8px;
    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);
  }
}

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

.keyVisual__image {
  height: auto;
}

.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 36px;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__ttl {
    bottom: 0;
    font-size: 44px;
    padding: 14px 20px;
  }
}

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