.closingSect__ttl {
  color: #104052;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .closingSect__ttl {
    font-size: 22px;
    letter-spacing: .08em;
    line-height: 1.8;
  }
}

@media screen and (max-width: 768px) {
  .closingSect__ttl {
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1.6;
    margin: 0 -10px;
  }
}

.closingSect__photo {
  width: calc(100vw - var(--scrollbar));
}

@media print, screen and (min-width: 768px) {
  .closingSect__photo {
    margin-left: calc((((100vw - var(--scrollbar))) - 1200px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .closingSect__photo {
    margin-left: -20px;
    width: calc(100% + 40px);
  }
}

@media screen and (max-width: 768px) {
  .closingSect__photo {
    margin-left: -25px;
  }
}

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

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

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

.closingSect__en {
  margin: 0 auto;
}

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

@media screen and (max-width: 768px) {
  .closingSect__en {
    margin-top: calc(39 / 390 * 100vw);
    width: calc(278 / 390 * 100vw);
  }
}

.closingSect__en img {
  height: auto;
  width: 100%;
}

.commonSpaceSect__ttl {
  color: #104052;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .commonSpaceSect__ttl {
    font-size: 20px;
    line-height: 1.6;
  }
}

.commonSpaceSect__photo {
  width: calc(100vw - var(--scrollbar));
}

@media print, screen and (min-width: 768px) {
  .commonSpaceSect__photo {
    margin-left: calc((((100vw - var(--scrollbar))) - 1200px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .commonSpaceSect__photo {
    margin-left: -20px;
    width: calc(100% + 40px);
  }
}

@media screen and (max-width: 768px) {
  .commonSpaceSect__photo {
    margin-left: -25px;
  }
}

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

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

@media screen and (max-width: 768px) {
  .commonSpaceSect__photo--lounge {
    margin-top: calc(32 / 390 * 100vw);
  }
}

.commonSpaceSect__band {
  width: calc(100vw - var(--scrollbar));
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .commonSpaceSect__band {
    margin-left: calc((((100vw - var(--scrollbar))) - 1200px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .commonSpaceSect__band {
    margin-left: -20px;
    width: calc(100% + 40px);
  }
}

@media screen and (max-width: 768px) {
  .commonSpaceSect__band {
    margin-left: -25px;
  }
}

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

.commonSpaceSect__detail {
  background-color: #ffffff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  inset: 0;
  margin: auto;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .commonSpaceSect__detail {
    padding: min(calc(40 / 1440 * 100vw), 60px) 80px;
    width: 1000px;
  }
}

@media screen and (max-width: 768px) {
  .commonSpaceSect__detail {
    padding: calc(28 / 390 * 100vw) calc(30 / 390 * 100vw);
    width: calc(342 / 390 * 100vw);
  }
}

.commonSpaceSect__txt {
  color: #111111;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
}

@media print, screen and (min-width: 768px) {
  .commonSpaceSect__txt {
    font-size: 14px;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .commonSpaceSect__txt {
    font-size: 14px;
    text-align: left;
  }
}

.facilitySect {
  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) {
  .facilitySect {
    gap: 0;
  }
}

.facilitySect__head {
  text-align: center;
}

.facilitySect__en {
  margin: 0 auto;
}

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

@media screen and (max-width: 768px) {
  .facilitySect__en {
    width: calc(140 / 390 * 100vw);
  }
}

.facilitySect__en img {
  height: auto;
  width: 100%;
}

.facilitySect__ttl {
  color: #104052;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .facilitySect__ttl {
    font-size: 20px;
    line-height: 1.6;
    margin-top: calc(16 / 390 * 100vw);
  }
}

.facilitySect__sup {
  font-size: .6em;
  vertical-align: super;
}

.facilitySect__note {
  color: #999999;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 10px;
  letter-spacing: .08em;
  line-height: 1.4;
}

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

@media screen and (max-width: 768px) {
  .facilitySect__note {
    letter-spacing: 0;
    margin-top: calc(20 / 390 * 100vw);
  }
}

.facilitySect__note--right {
  text-align: right;
}

.facilitySect__illust {
  background-color: #ffffff;
  margin: 0 auto;
}

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

@media screen and (max-width: 768px) {
  .facilitySect__illust {
    margin-top: calc(24 / 390 * 100vw);
    width: 100%;
  }
}

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

.facilitySect__illustCap {
  color: #999999;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 10px;
  letter-spacing: .08em;
  line-height: 1.4;
  text-align: right;
}

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

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

.facilitySect__plantTtl {
  color: #003a0e;
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  letter-spacing: .1em;
  text-align: center;
}

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

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

.facilitySect__planting {
  background-color: #ffffff;
}

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

@media screen and (max-width: 768px) {
  .facilitySect__planting {
    padding: calc(30 / 390 * 100vw) calc(30 / 390 * 100vw);
  }
}

.facilitySect__planting .usableList {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .facilitySect__planting .usableList {
    margin-top: 24px;
    max-width: 1080px;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__planting .usableList {
    margin-top: calc(16 / 390 * 100vw);
  }
}

.facilitySect__planting .usableList__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .facilitySect__planting .usableList__body {
    gap: 20px;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__planting .usableList__body {
    gap: calc(16 / 390 * 100vw) calc(10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .facilitySect__planting .usableList__item {
    width: calc((100% - 100px) / 6);
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__planting .usableList__item {
    width: calc((100% - calc(20 / 390 * 100vw)) / 3);
  }
}

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

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

@media screen and (max-width: 768px) {
  .facilitySect__planting .descriptionCard__head + .descriptionCard__cont {
    margin-top: calc(8 / 390 * 100vw);
  }
}

.facilitySect__planting .descriptionCard__cont .heading {
  color: #000000;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 400;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .facilitySect__planting .descriptionCard__cont .heading {
    font-size: 13px;
    line-height: 1.4;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__planting .descriptionCard__cont .heading {
    font-size: 12px;
    line-height: 1.2;
  }
}

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

.facilitySect__facilities .usableList__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

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

@media screen and (max-width: 768px) {
  .facilitySect__facilities .usableList__body {
    gap: calc(32 / 390 * 100vw) calc(16 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .facilitySect__facilities .usableList__item {
    width: calc((100% - 80px) / 3);
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__facilities .usableList__item {
    width: calc((100% - calc(16 / 390 * 100vw)) / 2);
  }
}

.facilitySect__facilities .descriptionCard__cont .heading {
  color: #104052;
  font-family: 'Shippori Mincho', serif;
  font-weight: 400;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .facilitySect__facilities .descriptionCard__cont .heading {
    font-size: 16px;
    line-height: 1.6;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__facilities .descriptionCard__cont .heading {
    font-size: 16px;
    line-height: 1.6;
  }
}

.facilitySect__facilities .descriptionCard__cont .txt {
  color: #111111;
  font-family: 'Shippori Mincho B1', serif;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .facilitySect__facilities .descriptionCard__cont .txt {
    font-size: 13px;
    letter-spacing: .03em;
    line-height: 2.2;
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .facilitySect__facilities .descriptionCard__cont .txt {
    font-size: 14px;
    line-height: 1.8;
    margin-top: calc(16 / 390 * 100vw);
  }
}

.facilitySect__facilities .descriptionCard__cont .txt .caption {
  color: #999999;
  display: block;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 10px;
  letter-spacing: .08em;
  line-height: 1.4;
  margin-top: 8px;
}

.facilitySect__photoCap {
  color: #999999;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 10px;
  letter-spacing: .08em;
  line-height: 1.4;
  text-align: right;
}

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

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

.introSect__lead {
  text-align: center;
}

.introSect__en {
  margin: 0 auto;
}

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

@media screen and (max-width: 768px) {
  .introSect__en {
    width: calc(240 / 390 * 100vw);
  }
}

.introSect__en img {
  height: auto;
  width: 100%;
}

.introSect__building {
  margin: 0 auto;
}

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

@media screen and (max-width: 768px) {
  .introSect__building {
    margin: calc(40 / 390 * 100vw) -25px 0;
    width: 100vw;
  }
}

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

.introSect__ttl {
  color: #104052;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .introSect__ttl {
    font-size: 20px;
    line-height: 1.6;
    margin-top: calc(79 / 390 * 100vw);
  }
}

.introSect__exterior {
  width: calc(100vw - var(--scrollbar));
}

@media print, screen and (min-width: 768px) {
  .introSect__exterior {
    margin-left: calc((((100vw - var(--scrollbar))) - 1200px) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .introSect__exterior {
    margin-left: -20px;
    width: calc(100% + 40px);
  }
}

@media screen and (max-width: 768px) {
  .introSect__exterior {
    margin-left: -25px;
  }
}

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

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

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

.introSect__txt {
  color: #111111;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 400;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .introSect__txt {
    font-size: 14px;
    letter-spacing: -.06em;
    line-height: 2;
    margin-top: 56px;
    text-align: center;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .introSect__txt {
    font-size: 14px;
    letter-spacing: .03em;
    line-height: 1.8;
    margin-top: calc(32 / 390 * 100vw);
    text-align: left;
  }
}

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

@media screen and (max-width: 768px) {
  .design-intro {
    padding: calc(24 / 390 * 100vw) 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .design-space {
    padding: 200px 0 160px;
  }
}

@media screen and (max-width: 768px) {
  .design-space {
    padding: calc(80 / 390 * 100vw) 0 calc(40 / 390 * 100vw);
  }
}

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

@media screen and (max-width: 768px) {
  .design-facility {
    padding: calc(89 / 390 * 100vw) 0;
  }
}

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

@media screen and (max-width: 768px) {
  .design-closing {
    padding: calc(80 / 390 * 100vw) 0 0;
  }
}

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

@media screen and (max-width: 768px) {
  .design-bottom {
    padding-top: calc(60 / 390 * 100vw);
  }
}
