@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,700&display=swap");
@media screen and (max-width: 736px) {
  .pc {
    display: none;
  }
}

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

.environCard {
  background-color: #f7f7f7;
}

.environCard__head {
  position: relative;
}

.environCard__head .photo__capIn {
  left: 5px;
  right: unset;
}

.environCard__info {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(236, 224, 165, 0.9);
  bottom: 0;
  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: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  letter-spacing: 0;
  line-height: .8;
  position: absolute;
  right: 0;
}

@media print, screen and (min-width: 736px) {
  .environCard__info {
    gap: 5px;
    height: 55px;
    padding: 13px 8px;
    width: 72px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__info {
    gap: 5px;
    height: calc(56 / 390 * 100vw);
    padding: calc(8 / 390 * 100vw) calc(8 / 390 * 100vw) calc(13 / 390 * 100vw);
    width: calc(76 / 390 * 100vw);
  }
}

.environCard__info .svgIcon {
  height: auto;
  position: absolute;
}

@media print, screen and (min-width: 736px) {
  .environCard__info .svgIcon {
    right: 15px;
    top: 10px;
    width: 14px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__info .svgIcon {
    right: calc(13 / 390 * 100vw);
    top: calc(10 / 390 * 100vw);
    width: calc(14 / 390 * 100vw);
  }
}

.environCard__min {
  font-family: 'Noto Serif JP', serif;
}

@media print, screen and (min-width: 736px) {
  .environCard__min {
    font-size: 10px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__min {
    font-size: calc(12 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .environCard__min .num {
    font-size: 26px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__min .num {
    font-size: calc(26 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .environCard__distance {
    font-size: 10px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__distance {
    font-size: calc(10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .environCard__cont {
    padding: 16px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__cont {
    padding: calc(16 / 390 * 100vw);
  }
}

.environCard__ttl {
  letter-spacing: .1em;
}

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

@media screen and (max-width: 736px) {
  .environCard__ttl {
    font-size: calc(16 / 390 * 100vw);
  }
}

.environCard__open {
  color: #999999;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: 10px;
  letter-spacing: 0;
}

@media print, screen and (min-width: 736px) {
  .environCard__open {
    margin-top: 5px;
  }
}

@media screen and (max-width: 736px) {
  .environCard__open {
    margin-top: calc(5 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .environSect__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

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

@media screen and (max-width: 736px) {
  .environSect__ttl {
    font-size: calc(24/ 390 * 100vw);
  }
}

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

@media screen and (max-width: 736px) {
  .environSect__txt {
    font-size: 14px;
    margin-top: calc(20 / 390 * 100vw);
  }
}

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

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

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

@media print, screen and (min-width: 736px) {
  .environSlider {
    width: 100%;
  }
}

.environSlider__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #8f8c75;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .environSlider__ttl {
    padding: 3px 0;
  }
}

@media screen and (max-width: 736px) {
  .environSlider__ttl {
    padding: calc(5 / 390 * 100vw);
  }
}

.environSlider__ttl .en,
.environSlider__ttl .ja {
  width: 50%;
}

.environSlider__ttl .en {
  font-family: "Cormorant Infant", serif;
  text-align: right;
}

@media print, screen and (min-width: 736px) {
  .environSlider__ttl .en {
    font-size: 16px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 736px) {
  .environSlider__ttl .en {
    font-size: calc(16 / 390 * 100vw);
    padding-right: calc(20 / 390 * 100vw);
  }
}

.environSlider__ttl .ja {
  text-align: left;
}

@media print, screen and (min-width: 736px) {
  .environSlider__ttl .ja {
    font-size: 13px;
    padding-left: 20px;
  }
}

@media screen and (max-width: 736px) {
  .environSlider__ttl .ja {
    font-size: calc(13 / 390 * 100vw);
    padding-left: calc(20 / 390 * 100vw);
  }
}

.environSlider__ttl:before {
  background-color: #d9d9d9;
  border-radius: 50%;
  content: '';
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media print, screen and (min-width: 736px) {
  .environSlider__ttl:before {
    height: 8px;
    width: 8px;
  }
}

@media screen and (max-width: 736px) {
  .environSlider__ttl:before {
    height: calc(8 / 390 * 100vw);
    width: calc(8 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .environSlider__ttl + .swiper-container {
    margin-top: 16px;
  }
}

@media screen and (max-width: 736px) {
  .environSlider__ttl + .swiper-container {
    margin-top: calc(16 / 390 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .environSlider .swiper-container {
    -webkit-box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
  }
}

@media print, screen and (min-width: 736px) {
  .environSlider .swiper-wrapper {
    gap: 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media print, screen and (min-width: 736px) {
  .environSlider .swiper-slide {
    height: auto;
    width: 270px;
  }
}

@media screen and (max-width: 736px) {
  .environSlider .swiper-slide {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.environSlider .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.environSlider .swiper-bottom {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

@media print, screen and (min-width: 736px) {
  .environSlider .swiper-bottom {
    display: none;
  }
}

@media print, screen and (min-width: 736px) {
  .environSlider .swiper-bottom {
    margin-top: 24px;
    position: relative;
  }
}

@media screen and (max-width: 736px) {
  .environSlider .swiper-bottom {
    margin-top: calc(24 / 390 * 100vw);
    position: relative;
  }
}

.environSlider .swiper-pagination {
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .environSlider .swiper-pagination {
    margin: 15px auto 0;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.environSlider .swiper-pagination-bullet {
  background-color: #ffffff;
  border: 1px solid #3e3e3e;
  opacity: 1;
}

@media print, screen and (min-width: 736px) {
  .environSlider .swiper-pagination-bullet {
    height: 18px;
    width: 18px;
  }
}

@media screen and (max-width: 736px) {
  .environSlider .swiper-pagination-bullet {
    height: calc(14 / 390 * 100vw);
    width: calc(14 / 390 * 100vw);
  }
}

.environSlider .swiper-pagination-bullet:not(:first-child) {
  margin-left: 10px;
}

.environSlider .swiper-pagination-bullet-active {
  background-color: #3e3e3e;
}

.environSlider .swiper-controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (max-width: 736px) {
  .environSlider .swiper-controller {
    width: calc(207 / 390 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .environSlider .swiper-controller .arrowSVG {
    height: auto;
    width: calc(28 / 390 * 100vw);
  }
}

.environSlider .swiper-controller .arrowSVG .cls-1 {
  fill: #8f8c75;
  isolation: isolate;
  opacity: .4;
}

.environSlider .swiper-controller .arrowSVG .cls-1, .environSlider .swiper-controller .arrowSVG .cls-2 {
  stroke-width: 0;
}

.environSlider .swiper-controller .arrowSVG .cls-2 {
  fill: #ffffff;
}

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

@media screen and (max-width: 736px) {
  .environSlider + .environSlider {
    margin-top: calc(45 / 390 * 100vw);
  }
}

.environSlider--disableMode .swiper-bottom {
  display: none;
}

.environSlider--gourmet .environSlider__ttl {
  background-color: #8c4f52;
}

@media print, screen and (min-width: 736px) {
  .environSlider--child {
    width: 270px;
  }
}

.environSlider--child .environSlider__ttl {
  background-color: #a86d53;
}

@media print, screen and (min-width: 736px) {
  .environSlider--park {
    width: 270px;
  }
}

.environSlider--park .environSlider__ttl {
  background-color: #747f67;
}

@media print, screen and (min-width: 736px) {
  .environSlider--gourmet {
    width: 890px;
  }
}

.environSlider--education .environSlider__ttl {
  background-color: #a86d53;
}

@media print, screen and (min-width: 736px) {
  .environSlider--others {
    width: 270px;
  }
}

.environSlider--others .environSlider__ttl {
  background-color: #878787;
}

@media screen and (max-width: 736px) {
  .facilityTable {
    padding: 0 calc(32 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .facilityTable__map {
    margin: 0 auto;
    width: 100%;
  }
}

@media screen and (max-width: 736px) {
  .facilityTable__map {
    margin-left: calc(-32 / 390 * 100vw);
    width: calc(100vw - var(--scrollbar));
  }
}

.facilityTable__ttl {
  background-color: #8f8c75;
  color: #ffffff;
  line-height: 1;
  text-align: center;
}

@media print, screen and (min-width: 736px) {
  .facilityTable__ttl {
    font-size: 16px;
    margin-top: 56px;
    padding: 16px 0;
  }
}

@media screen and (max-width: 736px) {
  .facilityTable__ttl {
    font-size: calc(16 / 390 * 100vw);
    margin-top: calc(40 / 390 * 100vw);
    padding: calc(16 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .facilityTable__list {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    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;
    margin-top: 32px;
  }
}

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

.facilityTable__item {
  counter-increment: listOrder;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .facilityTable__item {
    width: 421px;
  }
  .facilityTable__item:nth-child(n+3) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 736px) {
  .facilityTable__item:not(:first-child) {
    margin-top: 10px;
  }
}

.facilityTable .placeDetail {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-bottom: 1px solid #f1f1f1;
  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: 736px) {
  .facilityTable .placeDetail {
    font-size: 12px;
    letter-spacing: .1em;
    padding: 4px 0 20px 25px;
  }
}

@media screen and (max-width: 736px) {
  .facilityTable .placeDetail {
    font-size: calc(12 / 390 * 100vw);
    letter-spacing: 0;
    padding: 2px 0 12px calc(24 / 390 * 100vw);
    row-gap: calc(5 / 390 * 100vw);
  }
}

.facilityTable .placeDetail:before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #8f8c75;
  border-radius: 50%;
  color: #ffffff;
  content: counter(number) " ";
  counter-increment: number 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: 0;
  line-height: .7;
  position: absolute;
  top: 0;
}

@media print, screen and (min-width: 736px) {
  .facilityTable .placeDetail:before {
    font-size: 14px;
    height: 20px;
    width: 20px;
  }
}

@media screen and (max-width: 736px) {
  .facilityTable .placeDetail:before {
    font-size: calc(12 / 390 * 100vw);
    height: calc(16 / 390 * 100vw);
    padding-top: calc(-2 / 390 * 100vw);
    width: calc(16 / 390 * 100vw);
  }
}

.facilityTable .placeDetail__name {
  position: relative;
}

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

@media screen and (max-width: 736px) {
  .facilityTable .placeDetail__name {
    width: auto;
    line-height: 1.27273;
  }
  .facilityTable .placeDetail__name:before {
    content: '';
    display: block;
    height: 0;
    margin-top: calc((1 - 1.27273) * .5em);
    width: 0;
  }
  .facilityTable .placeDetail__name:after {
    content: '';
    display: block;
    height: 0;
    margin-bottom: calc((1 - 1.27273) * .5em);
    width: 0;
  }
}

@media print, screen and (min-width: 736px) {
  .facilityTable .placeDetail__name .small {
    display: block;
    font-size: 12px;
    line-height: 1;
    margin-top: 2px;
  }
}

.facilityTable .placeDetail__definition {
  -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: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1;
  margin-left: auto;
  overflow: hidden;
  position: relative;
}

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

@media screen and (max-width: 736px) {
  .facilityTable .placeDetail__definition {
    letter-spacing: 0;
  }
}

.lifeinfoSect__head {
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .lifeinfoSect__head {
    margin-left: calc(50% - 50vw);
    width: calc(100vw - var(--scrollbar));
  }
}

@media print, screen and (min-width: 736px) and (max-width: 1200px) {
  .lifeinfoSect__head {
    margin-left: unset;
  }
}

@media screen and (max-width: 736px) {
  .lifeinfoSect__head {
    margin: 0 calc(-32 / 390 * 100vw);
  }
}

.lifeinfoSect__ttl {
  line-height: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media print, screen and (min-width: 736px) {
  .lifeinfoSect__ttl {
    left: calc(148 / 1440 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .lifeinfoSect__ttl {
    left: calc(24 / 390 * 100vw);
  }
}

.lifeinfoSect__ttl .en {
  color: #dbd9c9;
  font-family: "Cormorant Infant", serif;
}

@media print, screen and (min-width: 736px) {
  .lifeinfoSect__ttl .en {
    font-size: calc(32 / 1440 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .lifeinfoSect__ttl .en {
    font-size: calc(26 / 390 * 100vw);
  }
}

.lifeinfoSect__ttl .ja {
  color: #dbd9c9;
}

@media print, screen and (min-width: 736px) {
  .lifeinfoSect__ttl .ja {
    font-size: calc(12 / 1440 * 100vw);
    margin-top: 10px;
    text-align: center;
  }
}

@media screen and (max-width: 736px) {
  .lifeinfoSect__ttl .ja {
    font-size: calc(12 / 390 * 100vw);
    margin-top: calc(12 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .lifeinfoSect__cont {
    -webkit-box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
    margin-top: 80px;
    padding: 80px 158px;
  }
}

@media screen and (max-width: 736px) {
  .lifeinfoSect__cont {
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    margin-bottom: calc(100 / 390 * 100vw);
    margin-left: -32px;
    margin-top: calc(80 / 390 * 100vw);
    padding-bottom: calc(40 / 390 * 100vw);
    padding-top: calc(54 / 390 * 100vw);
    width: calc(100vw - var(--scrollbar));
  }
}

@media screen and (max-width: 736px) {
  .lifeInfoTab__head {
    padding: 0 calc(21 / 390 * 100vw);
  }
}

.lifeInfoTab__cont {
  counter-reset: number 0;
}

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

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

.lifeInfoTab__item {
  display: none;
}

.lifeInfoTab__item.is-active {
  display: block;
}

@media print, screen and (min-width: 736px) {
  .pageTab__head + .pageTab__body {
    margin-top: 80px;
  }
}

@media print, screen and (min-width: 736px) {
  .pageTab__body + .pageTab__head {
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 736px) {
  .pageTab__body + .pageTab__head {
    margin-bottom: 60px;
  }
}

.pageTab__cont {
  display: none;
}

.pageTab__cont.is-active {
  display: block;
}

@media print, screen and (min-width: 736px) {
  .pageTab__cont.is-active {
    margin-top: 80px;
  }
}

.pageTabBtnWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

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

@media print, screen and (min-width: 736px) {
  .pageTabBtnWrap {
    margin: auto;
    width: 1004px;
  }
}

@media screen and (max-width: 736px) {
  .pageTabBtnWrap {
    margin-left: -32px;
    width: calc(100vw - var(--scrollbar));
  }
}

.pageTabBtnWrap__btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: block;
  position: relative;
  text-align: center;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  width: 50%;
}

@media print, screen and (min-width: 736px) {
  .pageTabBtnWrap__btn {
    padding-bottom: 24px;
  }
}

@media screen and (max-width: 736px) {
  .pageTabBtnWrap__btn {
    padding-bottom: 16px;
  }
}

.pageTabBtnWrap__btn:nth-child(1):after {
  background-color: #8f8c75;
  bottom: 0;
  content: '';
  display: block;
  height: 2px;
  left: 100%;
  position: absolute;
  -webkit-transition: left 1s ease;
  transition: left 1s ease;
  width: 100%;
  z-index: 2;
}

.pageTabBtnWrap__btn:nth-child(1).is-active:after {
  left: 0;
}

.pageTabBtnWrap__btn .en {
  color: #333333;
  display: block;
  font-family: "Cormorant Infant", serif;
  -webkit-transition: color .3s ease;
  transition: color .3s ease;
  line-height: 1.6;
}

.pageTabBtnWrap__btn .en:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.6) * .5em);
  width: 0;
}

.pageTabBtnWrap__btn .en:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.6) * .5em);
  width: 0;
}

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

@media screen and (max-width: 736px) {
  .pageTabBtnWrap__btn .en {
    font-size: 18px;
  }
}

.pageTabBtnWrap__btn .jp {
  color: #333333;
  display: block;
  -webkit-transition: color .3s ease;
  transition: color .3s ease;
  line-height: 1.6;
}

.pageTabBtnWrap__btn .jp:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.6) * .5em);
  width: 0;
}

.pageTabBtnWrap__btn .jp:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.6) * .5em);
  width: 0;
}

@media print, screen and (min-width: 736px) {
  .pageTabBtnWrap__btn .jp {
    font-size: 18px;
    margin-top: 16px;
  }
}

@media screen and (max-width: 736px) {
  .pageTabBtnWrap__btn .jp {
    font-size: 16px;
  }
}

.pageTabBtnWrap__btn.is-active .en {
  color: #696333;
}

.pageTabBtnWrap__btn.is-active .jp {
  color: #696333;
}

.pageTabBtnWrap__ttl {
  position: relative;
}

.pageTabBtnWrap__arrow {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media print, screen and (min-width: 736px) {
  .pageTabBtnWrap__arrow {
    right: 18px;
    width: 10px;
  }
}

@media screen and (max-width: 736px) {
  .pageTabBtnWrap__arrow {
    right: calc(4 / 390 * 100vw);
    width: calc(8 / 390 * 100vw);
  }
}

.pageTabBtnWrap__arrow .arrowIcon {
  fill: none;
}

.pageTabBtnWrap--bottom:after {
  bottom: unset;
  top: 0;
}

@media print, screen and (min-width: 736px) {
  .pageTabBtnWrap--bottom .pageTabBtnWrap__btn {
    padding-bottom: 0;
    padding-top: 16px;
  }
}

@media screen and (max-width: 736px) {
  .pageTabBtnWrap--bottom .pageTabBtnWrap__btn {
    padding-bottom: 0;
    padding-top: 16px;
  }
}

.pageTabBtnWrap--bottom .pageTabBtnWrap__btn:nth-child(1):after {
  bottom: unset;
  top: 0;
}

.rankingSect {
  overflow: hidden;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .rankingSect {
    margin-left: calc(50% - 50vw);
    padding: 160px 0;
    width: calc(100vw - var(--scrollbar));
  }
}

@media screen and (max-width: 736px) {
  .rankingSect {
    margin: 0 -32px;
    padding: calc(160 / 390 * 100vw) 32px;
  }
}

.rankingSect__bg .photo {
  position: absolute;
}

@media print, screen and (min-width: 736px) {
  .rankingSect__bg .photo {
    width: calc(330 / 1200 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .rankingSect__bg .photo {
    width: calc(203 / 390 * 100vw);
  }
}

.rankingSect__bg .photo:first-child {
  right: 0;
  top: 0;
}

.rankingSect__bg .photo:first-child .photo__capIn {
  bottom: unset;
  top: 5px;
}

.rankingSect__bg .photo:nth-child(2) {
  bottom: 0;
  left: 0;
}

.rankingSect__bg .photo:nth-child(2) .photo__capIn {
  left: 5px;
  right: unset;
}

.rankingSect__head {
  margin: 0 auto;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .rankingSect__head {
    width: 1200px;
  }
}

@media screen and (max-width: 736px) {
  .rankingSect__head .headingCombi .heading {
    letter-spacing: .09rem;
  }
}

.rankingSect__head .headingCombi .heading .en {
  font-family: "Cormorant Infant", serif;
}

.rankingSect__heading {
  color: rgba(61, 87, 125, 0.15);
  font-family: "Cormorant Infant", serif;
  left: 0;
  line-height: 1;
  position: absolute;
}

@media print, screen and (min-width: 736px) {
  .rankingSect__heading {
    font-size: 100px;
    top: -160px;
  }
}

@media screen and (max-width: 736px) {
  .rankingSect__heading {
    font-size: calc(60 / 390 * 100vw);
    top: calc(-160 / 390 * 100vw);
  }
}

.rankingSect__cont {
  margin: 0 auto;
}

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

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

@media print, screen and (min-width: 736px) {
  .rankingSect__cont + .rankingSect__cap {
    margin-top: 40px;
  }
}

@media screen and (max-width: 736px) {
  .rankingSect__cont + .rankingSect__cap {
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .rankingSect__item {
    width: 540px;
  }
}

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

.rankingSect__ttl {
  border-bottom: 1px solid rgba(102, 102, 102, 0.5);
}

@media print, screen and (min-width: 736px) {
  .rankingSect__ttl {
    font-size: 20px;
    margin-bottom: 32px;
    padding-bottom: 16px;
  }
}

@media screen and (max-width: 736px) {
  .rankingSect__ttl {
    font-size: calc(18 / 390 * 100vw);
    margin-bottom: calc(32 / 390 * 100vw);
    padding-bottom: calc(16 / 390 * 100vw);
  }
}

.rankingSect__visual {
  -webkit-box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 736px) {
  .rankingSect__visual .modalFigure .figurePlot {
    left: unset;
    right: -20px;
    top: -30px;
  }
}

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

@media screen and (max-width: 736px) {
  .rankingSect__visual + .caption {
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .rankingSect__txt {
    font-size: 16px;
    margin-top: 24px;
  }
}

@media screen and (max-width: 736px) {
  .rankingSect__txt {
    font-size: calc(13 / 390 * 100vw);
    margin-top: calc(32 / 390 * 100vw);
  }
}

.rankingSect__cap {
  position: relative;
  z-index: 2;
}

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

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

@media screen and (max-width: 736px) {
  .residenceSect__head {
    margin-left: calc(50% - 50vw);
    width: calc(100vw - var(--scrollbar));
  }
}

@media print, screen and (min-width: 736px) {
  .residenceSect__head + .residenceSect__cont {
    margin-top: 100px;
  }
}

@media screen and (max-width: 736px) {
  .residenceSect__head + .residenceSect__cont {
    margin-top: 80px;
  }
}

.residenceSect__head .modalFigure {
  margin-top: 70px;
}

.residenceSect__head .modalFigure .figurePlot {
  top: -50px;
}

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

@media print, screen and (min-width: 736px) {
  .residenceSect__cont {
    gap: 80px;
    margin: 0 auto;
    width: 1000px;
  }
}

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

@media print, screen and (min-width: 736px) {
  .residenceSect__cont .photo {
    width: 412px;
  }
}

@media screen and (max-width: 736px) {
  .residenceSect__cont .photo {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 736px) {
  .residenceSect__cont .residenceSect__txt {
    width: 509px;
  }
}

.residenceSect__bottom {
  background-color: #eeecd7;
}

@media print, screen and (min-width: 736px) {
  .residenceSect__bottom {
    margin-top: 100px;
    padding: 80px 160px;
  }
}

@media screen and (max-width: 736px) {
  .residenceSect__bottom {
    margin-top: 80px;
    padding: calc(56 / 390 * 100vw) calc(24 / 390 * 100vw);
  }
}

.residenceSect__bottom .residenceCard {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 736px) {
  .residenceSect__bottom .residenceCard {
    gap: 80px;
  }
}

@media screen and (max-width: 736px) {
  .residenceSect__bottom .residenceCard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}

@media print, screen and (min-width: 736px) {
  .residenceSect__bottom .residenceCard__head {
    width: 484px;
  }
}

.residenceSect__bottom .residenceCard__head .headingCombi .heading--underline:after {
  background: rgba(102, 102, 102, 0.5);
}

@media screen and (max-width: 736px) {
  .residenceSect__bottom .residenceCard__head .headingCombi .txt--small {
    font-size: 13px;
  }
}

@media print, screen and (min-width: 736px) {
  .residenceSect__bottom .residenceCard__cont {
    width: 316px;
  }
}

.serviceAccordion {
  -webkit-box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
}

.serviceAccordion__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  -webkit-box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .serviceAccordion__head {
    gap: 40px;
    padding: 29px 56px;
  }
}

@media screen and (max-width: 736px) {
  .serviceAccordion__head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(16 / 390 * 100vw);
    padding: calc(25 / 390 * 100vw) calc(32 / 390 * 100vw);
  }
}

.serviceAccordion__head:after {
  -webkit-box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.2);
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}

.serviceAccordion__ttl {
  color: #2d3034;
}

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

@media screen and (max-width: 736px) {
  .serviceAccordion__ttl {
    font-size: calc(18 / 390 * 100vw);
  }
}

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

@media screen and (max-width: 736px) {
  .serviceAccordion__ttl .small {
    font-size: calc(13 / 390 * 100vw);
  }
}

.serviceAccordion__point {
  border: 1px solid #8f8c75;
  color: #8f8c75;
}

@media print, screen and (min-width: 736px) {
  .serviceAccordion__point {
    font-size: 16px;
    padding: 12px 14px;
  }
}

@media screen and (max-width: 736px) {
  .serviceAccordion__point {
    font-size: calc(13 / 390 * 100vw);
    padding: calc(12 / 390 * 100vw) calc(14 / 390 * 100vw);
  }
}

.serviceAccordion__btn {
  background-color: #bcbaac;
  position: absolute;
}

@media print, screen and (min-width: 736px) {
  .serviceAccordion__btn {
    height: 40px;
    right: 56px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 40px;
  }
}

@media screen and (max-width: 736px) {
  .serviceAccordion__btn {
    height: calc(30/ 390 * 100vw);
    right: calc(32/ 390 * 100vw);
    top: calc(16/ 390 * 100vw);
    width: calc(30/ 390 * 100vw);
  }
}

.serviceAccordion__btn:before, .serviceAccordion__btn:after {
  background-color: #ffffff;
  content: '';
  left: 50%;
  position: absolute;
  top: 50%;
}

@media print, screen and (min-width: 736px) {
  .serviceAccordion__btn:before, .serviceAccordion__btn:after {
    height: 2px;
    width: 22px;
  }
}

@media screen and (max-width: 736px) {
  .serviceAccordion__btn:before, .serviceAccordion__btn:after {
    height: 1px;
    width: calc(15/ 390 * 100vw);
  }
}

.serviceAccordion__btn:before {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.serviceAccordion__btn:after {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
  -webkit-transition: -webkit-transform .6s ease-in-out;
  transition: -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out;
  transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out;
}

.serviceAccordion__cont {
  background-color: #fafaf4;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height .6s ease-in-out;
  transition: max-height .6s ease-in-out;
}

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

@media print, screen and (min-width: 736px) {
  .serviceAccordion__inner {
    gap: 40px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 32px 100px;
  }
}

@media screen and (max-width: 736px) {
  .serviceAccordion__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(40 / 390 * 100vw);
    padding: calc(40 / 390 * 100vw) calc(32 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .serviceAccordion__inner .photo__image {
    max-width: unset;
    width: 150px;
  }
}

@media print, screen and (min-width: 736px) {
  .serviceAccordion__txt {
    font-size: 15px;
  }
}

@media screen and (max-width: 736px) {
  .serviceAccordion__txt {
    font-size: calc(12 / 390 * 100vw);
  }
}

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

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

.serviceAccordion + .caption a {
  color: currentColor;
}

.serviceAccordion.is-active .serviceAccordion__btn:after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

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

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

@media print, screen and (min-width: 736px) {
  .detailList {
    margin: -8px 98px 40px;
  }
}

@media screen and (max-width: 736px) {
  .detailList {
    margin: calc(-20 / 390 * 100vw) calc(32 / 390 * 100vw) calc(40 / 390 * 100vw);
    padding-top: calc(20 / 390 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .serviceSect {
    margin: 0 -32px;
  }
}

.serviceSect__head {
  background-color: #2d3034;
  overflow: hidden;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .serviceSect__head {
    padding: 48px 80px;
  }
}

@media screen and (max-width: 736px) {
  .serviceSect__head {
    padding: calc(32 / 390 * 100vw);
  }
}

.serviceSect__heading {
  color: rgba(255, 255, 255, 0.15);
  font-family: "Cormorant Infant", serif;
  line-height: .8;
  position: absolute;
}

@media print, screen and (min-width: 736px) {
  .serviceSect__heading {
    font-size: 100px;
    right: 0;
    top: 0;
  }
}

@media screen and (max-width: 736px) {
  .serviceSect__heading {
    bottom: 0;
    font-size: calc(40 / 390 * 100vw);
    right: calc(56 / 390 * 100vw);
  }
}

.serviceSect__ttl {
  color: #ffffff;
  line-height: 1;
}

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

@media screen and (max-width: 736px) {
  .serviceSect__ttl {
    font-size: calc(24 / 390 * 100vw);
  }
}

.serviceSect__cont {
  background-color: #f5f4f0;
}

@media print, screen and (min-width: 736px) {
  .serviceSect__cont {
    padding: 56px 158px;
  }
}

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

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

@media screen and (max-width: 736px) {
  .tabList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.tabList__item {
  -webkit-box-shadow: 4px 4px 15px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 4px 4px 15px 0 rgba(0, 0, 0, 0.2);
  cursor: pointer;
  letter-spacing: .15em;
  position: relative;
  text-align: center;
  -webkit-transition: .4s;
  transition: .4s;
}

@media print, screen and (min-width: 736px) {
  .tabList__item {
    background: url("../../common/img/pc/bg-texture-02@1.5x.jpg") center center/cover no-repeat;
    font-size: 12px;
    height: 72px;
    padding-top: 10px;
    width: 130px;
  }
}

@media screen and (max-width: 736px) {
  .tabList__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: url("../../common/img/sp/bg-texture-02.jpg") center center/cover no-repeat;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: calc(12 / 390 * 100vw);
    height: calc(68 / 390 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(112 / 390 * 100vw);
  }
  .tabList__item:nth-of-type(n + 4) {
    margin-top: 5px;
  }
}

@media print, screen and (min-width: 736px) {
  .tabList__item:hover {
    background: #dbd9c9;
  }
  .tabList__item:hover .svgIcon path,
  .tabList__item:hover .svgIcon rect {
    fill: #ffffff;
  }
}

@media (hover: hover) and (pointer: fine) {
  .tabList__item:hover {
    background: #dbd9c9;
  }
  .tabList__item:hover .svgIcon path,
  .tabList__item:hover .svgIcon rect {
    fill: #ffffff;
  }
}

.tabList__item .svgIcon {
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: .4s;
  transition: .4s;
}

@media print, screen and (min-width: 736px) {
  .tabList__item .svgIcon {
    bottom: -25px;
    width: 16px;
  }
}

@media screen and (max-width: 736px) {
  .tabList__item .svgIcon {
    bottom: calc(-22 / 390 * 100vw);
    display: none;
    width: calc(13 / 390 * 100vw);
  }
}

.tabList__item.is-active {
  background: #dbd9c9;
  color: #333333;
  pointer-events: none;
}

.tabList__item.is-active .svgIcon path,
.tabList__item.is-active .svgIcon rect {
  fill: #ffffff;
}

.tabList__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  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: 736px) {
  .tabList__ttl {
    height: 43px;
  }
}

@media screen and (max-width: 736px) {
  .tabList__ttl {
    height: calc(39 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .location-residence {
    padding-bottom: 160px;
  }
}

@media screen and (max-width: 736px) {
  .location-residence {
    margin-top: 32px;
    padding-bottom: 100px;
  }
}

@media print, screen and (min-width: 736px) {
  .location-environ {
    padding: 160px 0 80px;
  }
}

@media screen and (max-width: 736px) {
  .location-environ {
    padding: 80px 0 40px;
  }
}

@media print, screen and (min-width: 736px) {
  .location-service {
    padding: 160px 0 80px;
  }
}

@media screen and (max-width: 736px) {
  .location-service {
    padding-bottom: 40px;
  }
}

@media print, screen and (min-width: 736px) {
  .location-lifeinfo {
    padding: 160px 0;
  }
}
