.casbeeSect {
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

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

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

.equipmentBlock__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px 24px;
}

.equipmentBlock__ttl .txt {
  font-size: 17px;
  line-height: 1.2;
}

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

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

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

@media screen and (max-width: 768px) {
  .equipmentBlock__ttl .txt {
    font-size: 14px;
  }
}

.equipmentBlock__ttl .txt .caption {
  padding-top: 0;
}

.equipmentBlock__ttl:has(.equipmentBlock__label) {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

* + .equipmentBlock__ttl {
  margin-top: 12px;
}

.equipmentBlock__ttlCap {
  color: #999999;
  font-size: 10px;
}

* + .equipmentBlock__ttlCap {
  margin-top: 6px;
}

.equipmentBlock__label {
  background-color: #2e5e9c;
  color: #ffffff;
  display: inline-block;
  font-size: 11px;
  line-height: 1.5;
  padding: 2px 6px;
}

.equipmentBlock__desc .txt {
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .equipmentBlock__desc .txt {
    font-size: 11px;
  }
}

* + .equipmentBlock__desc {
  margin-top: 16px;
}

.equipmentBlock__cap {
  color: #999999;
  font-size: 10px;
}

* + .equipmentBlock__cap {
  margin-top: 9px;
}

@media print, screen and (min-width: 768px) {
  .equipmentBlock--ttlCap .equipmentBlock__ttl .txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.equipmentSect__head .heading + .heading {
  margin-top: 30px;
}

.equipmentSect__cont .blockList + .privateSpace,
.equipmentSect__cont .blockList + .heading {
  margin-top: 30px;
}

.equipmentSect__cont .blockList + .blockList {
  margin-top: 35px;
}

.equipmentSect__cont .heading + .blockList {
  margin-top: 30px;
}

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

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

@media print, screen and (min-width: 768px) {
  .featureDesc {
    height: 100%;
  }
}

.featureDesc__ttl {
  background-color: #2e5e9c;
  color: #ffffff;
  line-height: 1.5;
  padding: 6px 0 6px 12px;
}

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

@media screen and (max-width: 768px) {
  .featureDesc__desc .txt {
    font-size: 11px;
  }
}

* + .featureDesc__desc {
  margin-top: 20px;
}

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

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

@media print, screen and (min-width: 768px) {
  .featureDesc__visual {
    grid-row: auto / span 2;
  }
}

.featureDesc--border {
  border: 1px solid #cbcccc;
}

@media print, screen and (min-width: 768px) {
  .featureDesc--visual {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
  }
}

.iconBlock {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 20px;
}

.iconBlock__icon {
  width: 78px;
}

.iconBlock__cont {
  width: calc(100% - 78px);
}

.iconBlock__desc .txt {
  font-size: 12px;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .iconBlock__desc .txt {
    font-size: 11px;
  }
}

.iconBlock__cap {
  color: #999999;
  font-size: 10px;
}

* + .iconBlock__cap {
  margin-top: 9px;
}

.internetSect {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

@media print, screen and (min-width: 768px) {
  .internetSect {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 768px) {
  .internetSect {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

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

.internetSect__head .txt + .caption {
  margin-top: 10px;
}

.internetSect__ttl {
  background-color: #2e5e9c;
  color: #ffffff;
}

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

@media screen and (max-width: 768px) {
  .internetSect__ttl {
    padding: 4px 9px;
  }
}

.internetSect__ttl .inner {
  letter-spacing: .11em;
  line-height: 1.75;
}

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

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

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

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

@media screen and (max-width: 768px) {
  .internetSect__ttl .inner {
    font-size: 14px;
  }
}

.internetSect__ttl + .txt {
  margin-top: 18px;
}

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

.internetSect + .blockList {
  margin-top: 40px;
}

.zehFeatureBox {
  background-color: #e4edf0;
}

@media print, screen and (min-width: 768px) {
  .zehFeatureBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 78px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 45px 40px;
  }
}

@media screen and (max-width: 768px) {
  .zehFeatureBox {
    padding: 40px 20px;
  }
}

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

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

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

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

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

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

.zehFeatureBox__ttl:after {
  background-color: #cbcccc;
  bottom: 0;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.zehFeatureBox__ttl .inner {
  letter-spacing: .16em;
  line-height: 1.8;
}

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

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

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

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

.zehFeatureBox__ttl .inner .en {
  font-family: "Cormorant Infant", serif;
}

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

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

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

.zehFeatureBox__txt {
  letter-spacing: 0;
  line-height: 2;
}

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

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

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

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

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

.zehFeatureBox__txt + .photo {
  margin-top: 20px;
}

@media print, screen and (min-width: 768px) {
  .zehMerit {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
  }
}

@media print, screen and (min-width: 768px) {
  .zehMerit__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
  }
}

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

.zehMerit__item .usableList {
  margin-top: 30px;
}

@media print, screen and (min-width: 768px) {
  .zehMerit__item .usableList {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    gap: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.zehMerit__item .usableList__item {
  width: 280px;
}

@media screen and (max-width: 768px) {
  .zehMerit__item .usableList__item {
    margin-left: auto;
    margin-right: auto;
  }
}

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

@media print, screen and (min-width: 768px) {
  .zehMerit__item--large {
    grid-column: auto / span 2;
  }
}

.zehMerit__ttl {
  position: relative;
  text-align: center;
  z-index: 1;
}

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

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

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

.zehMerit__ttl:before {
  top: 0;
}

.zehMerit__ttl:after {
  bottom: 0;
}

.zehMerit__ttl .inner {
  letter-spacing: .1em;
  line-height: 1.8;
}

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

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

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

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

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

.zehMeritCard {
  width: 280px;
}

@media print, screen and (min-width: 768px) {
  .zehMeritCard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .zehMeritCard {
    margin-left: auto;
    margin-right: auto;
  }
}

.zehMeritCard__ttl {
  background-color: #aacbd4;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .zehMeritCard__ttl {
    padding: 10px;
  }
}

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

.zehMeritCard__ttl .inner {
  letter-spacing: .1em;
  line-height: 1.8;
}

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

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

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

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

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

.zehMeritCard__txt {
  letter-spacing: .11em;
  line-height: 2;
}

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

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

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

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

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

.zehMeritCard__ttl + .zehMeritCard__txt {
  margin-top: 20px;
}

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

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

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

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

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

.zehSect__ttl .en {
  color: #aacbd4;
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  font-weight: 500;
  letter-spacing: 0;
}

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

@media screen and (max-width: 768px) {
  .zehSect__ttl .en {
    font-size: 36px;
  }
}

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

.zehSect__ttl .ja {
  display: block;
  letter-spacing: .2em;
  line-height: 1.8;
}

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

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

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

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

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

.zehSect__ttl + .zehFeatureBox {
  margin-top: 20px;
}

.zehSect__heading {
  letter-spacing: .2em;
  text-align: center;
  line-height: 1.8;
}

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

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

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

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

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

.zehSect__heading .en {
  font-family: "Cormorant Infant", serif;
}

.zehSect__heading + .zehMerit {
  margin-top: 20px;
}

.zehSect__head + .zehSect__cont {
  margin-top: 40px;
}

@media print, screen and (min-width: 768px) {
  .zehSect__bottom {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 48px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 90px auto 0;
    width: 850px;
  }
}

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

.zehSect__belsLabel {
  background-color: #bc2630;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.8;
}

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

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

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

@media print, screen and (min-width: 768px) {
  .zehSect__belsLabel {
    font-size: 16px;
    padding: 20px;
    width: 376px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__belsLabel {
    font-size: 14px;
    margin-top: 20px;
    padding: 20px 10px;
    text-align: center;
  }
}

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

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

@media print, screen and (min-width: 768px) {
  .equipment-kitchen,
  .equipment-sanitary,
  .equipment-bathroom,
  .equipment-storage,
  .equipment-others,
  .equipment-pet,
  .equipment-comfort,
  .equipment-safety {
    padding: 0 0 100px;
  }
}

@media screen and (max-width: 768px) {
  .equipment-kitchen,
  .equipment-sanitary,
  .equipment-bathroom,
  .equipment-storage,
  .equipment-others,
  .equipment-pet,
  .equipment-comfort,
  .equipment-safety {
    padding: 0 0 60px;
  }
}
