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

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

.denimSect__cont .usableList {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .denimSect__cont .usableList {
    gap: 30px 15px;
    margin: 0 -15px;
  }
}

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

@media screen and (max-width: 768px) {
  .denimSect__cont .descriptionCard {
    width: 165px;
  }
}

@media screen and (max-width: 768px) {
  .denimSect__cont .descriptionCard .heading {
    font-size: 14px;
  }
}

.denimSect__cont .descriptionCard .caption {
  left: 0;
  padding-top: 10px;
  position: absolute;
  top: 100%;
}

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

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

.healthSect__cont .usableList {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .healthSect__cont .usableList {
    gap: 30px 15px;
    margin: 0 -15px;
  }
}

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

@media screen and (max-width: 768px) {
  .healthSect__cont .descriptionCard {
    width: 165px;
  }
}

@media screen and (max-width: 768px) {
  .healthSect__cont .descriptionCard .heading {
    font-size: 14px;
  }
}

.introductionSect__head {
  text-align: center;
}

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

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

.residenceGuide__head {
  position: relative;
  text-align: center;
}

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

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

.residenceGuide__head:after {
  background: url("../imgs/pc/bg-guidance-arrow.png") no-repeat center/contain;
  content: '';
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .residenceGuide__head:after {
    height: 26px;
  }
}

@media screen and (max-width: 768px) {
  .residenceGuide__head:after {
    height: 26px;
  }
}

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

@media screen and (max-width: 768px) {
  .residenceGuide__head .heading {
    font-size: 17px;
  }
}

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

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

.residenceGuide__cont .swipeFigure:after {
  content: initial;
}

@media screen and (max-width: 768px) {
  .residenceGuide__cont .swipeFigure {
    height: 340px;
    margin: 0 -30px;
    padding-top: 100px;
  }
}

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

@media screen and (max-width: 768px) {
  .residenceSelect {
    margin: 40px -15px 0;
  }
}

.residenceSelect__item {
  position: relative;
}

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

.residenceSelect__item:before, .residenceSelect__item:after {
  content: '';
  height: 6px;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.residenceSelect__item:before {
  top: 0;
}

.residenceSelect__item:after {
  bottom: 0;
}

.residenceSelect__item:nth-child(1):before {
  background: -webkit-gradient(linear, left top, right top, from(#9dc1b8), color-stop(50%, white), to(#a5ced3));
  background: linear-gradient(90deg, #9dc1b8 0%, white 50%, #a5ced3 100%);
}

.residenceSelect__item:nth-child(1):after {
  background: -webkit-gradient(linear, left top, right top, from(#9dc1b8), color-stop(10%, white), to(#a5ced3));
  background: linear-gradient(90deg, #9dc1b8 0%, white 10%, #a5ced3 100%);
}

.residenceSelect__item:nth-child(1) .residenceSelect__trigger {
  background-color: #bddad1;
}

.residenceSelect__item:nth-child(2):before {
  background: -webkit-gradient(linear, left top, right top, from(#e3c4ac), color-stop(50%, white), to(#e6b78f));
  background: linear-gradient(90deg, #e3c4ac 0%, white 50%, #e6b78f 100%);
}

.residenceSelect__item:nth-child(2):after {
  background: -webkit-gradient(linear, left top, right top, from(#e3c4ac), color-stop(10%, white), to(#e6b78f));
  background: linear-gradient(90deg, #e3c4ac 0%, white 10%, #e6b78f 100%);
}

.residenceSelect__item:nth-child(2) .residenceSelect__trigger {
  background-color: #f1d5b5;
}

.residenceSelect__item:nth-child(3):before {
  background: -webkit-gradient(linear, left top, right top, from(#72afd9), color-stop(50%, white), to(#73a8d6));
  background: linear-gradient(90deg, #72afd9 0%, white 50%, #73a8d6 100%);
}

.residenceSelect__item:nth-child(3):after {
  background: -webkit-gradient(linear, left top, right top, from(#72afd9), color-stop(10%, white), to(#73a8d6));
  background: linear-gradient(90deg, #72afd9 0%, white 10%, #73a8d6 100%);
}

.residenceSelect__item:nth-child(3) .residenceSelect__trigger {
  background-color: #bbcce2;
}

.residenceSelect__trigger {
  -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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  position: relative;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .residenceSelect__trigger {
    font-size: 20px;
    height: 96px;
    width: 308px;
  }
}

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

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

@media screen and (max-width: 768px) {
  .residenceSelect__trigger .inner {
    padding-bottom: 8px;
  }
}

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

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

.residenceSelect__trigger .arrow {
  aspect-ratio: 21 / 12;
  left: 50%;
  opacity: .5;
  position: absolute;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

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

@media screen and (max-width: 768px) {
  .residenceSelect__trigger .arrow {
    bottom: 12px;
    width: 10px;
  }
}

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

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

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

.residenceHead:after {
  background: url("../imgs/pc/bg-residence-head_1.5x.jpg") no-repeat center right/cover;
  content: '';
  inset: 0;
  position: absolute;
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .residenceHead:after {
    margin: 0 calc((100vw - 1000px) / -2);
  }
}

@media screen and (max-width: 768px) {
  .residenceHead:after {
    background-position: 62% center;
  }
}

@media screen and (max-width: 1000px) {
  .residenceHead:after {
    margin: 0 auto;
  }
}

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

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

.residenceHead__desc {
  color: #ffffff;
}

.residenceHead__desc .caption {
  color: #ffffff;
}

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

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

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

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

.sleepCard__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #0a325b;
  border-top: 1px solid #0a325b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: .11em;
  line-height: 1;
}

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

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

.sleepCard__ttl .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background-color: #0a325b;
  color: #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) {
  .sleepCard__ttl .num {
    margin-right: 10px;
    width: 33px;
  }
}

@media screen and (max-width: 768px) {
  .sleepCard__ttl .num {
    margin-right: 8px;
    width: 28px;
  }
}

@media print, screen and (min-width: 768px) {
  .sleepCard__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sleepCard__cont .photo,
  .sleepCard__cont .txt {
    width: 230px;
  }
}

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

@media print, screen and (min-width: 768px) {
  .sleepCard__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 40px;
  }
}

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

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

.sleepCard__bottomVisual {
  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;
  position: relative;
}

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

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

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

@media screen and (max-width: 768px) {
  .sleepCard__bottomVisual .photo {
    width: 150px;
  }
}

.sleepCard__bottomVisual > .caption {
  margin-top: 30px;
  text-align: right;
  width: 100%;
}

.sleepCard--wide {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .sleepCard--wide .sleepCard__cont {
    display: block;
  }
  .sleepCard--wide .sleepCard__cont .txt,
  .sleepCard--wide .sleepCard__cont .photo {
    width: 100%;
  }
  .sleepCard--wide .sleepCard__cont .photo {
    margin-top: 40px;
  }
}

.sleepFigure {
  background-color: rgba(10, 67, 122, 0.1);
}

@media print, screen and (min-width: 768px) {
  .sleepFigure {
    -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;
    padding: 56px 65px;
  }
}

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

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

.sleepFigure__list {
  position: relative;
}

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

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

.sleepFigure__item {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: .11em;
  line-height: 1;
}

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

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

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

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

.sleepFigure__item .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background-color: #0a325b;
  color: #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) {
  .sleepFigure__item .num {
    margin-right: 6px;
    width: 22px;
  }
}

@media screen and (max-width: 768px) {
  .sleepFigure__item .num {
    margin-right: 5px;
    width: 20px;
  }
}

.sleepFigure__icon {
  position: absolute;
}

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

@media screen and (max-width: 768px) {
  .sleepFigure__icon {
    bottom: -12px;
    left: 140px;
    right: 0;
  }
}

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

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

@media print, screen and (min-width: 768px) {
  .sleepSect__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 40px;
    margin-top: 56px;
  }
}

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

@media print, screen and (min-width: 768px) {
  .residence-introduction {
    padding-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .residence-introduction {
    padding-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .residence-sleep {
    padding-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .residence-sleep {
    padding-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .residence-health {
    padding-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .residence-health {
    padding-top: 64px;
  }
}

@media print, screen and (min-width: 768px) {
  .residence-denim {
    padding: 56px 0 120px;
  }
}

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

@media print, screen and (min-width: 768px) {
  .residence-headingArea {
    padding-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .residence-headingArea {
    padding-top: 48px;
  }
}

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

@media screen and (max-width: 768px) {
  .residence-photoArea {
    padding-top: 64px;
  }
}

@media print, screen and (min-width: 768px) {
  .residence-relatedArea {
    padding-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .residence-relatedArea {
    padding-top: 48px;
  }
}

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

@media screen and (max-width: 768px) {
  .residence-items {
    padding-top: 64px;
  }
}
