/* ===============================
  TOP
=============================== */
/*------------------------------
fv
------------------------------*/
.fv {
  position: relative;
  height: 100svh;
  width: 100%;
}
.fv video {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  left: 0%;
  top: 0%;
}
.fv-text {
  position: absolute;
  top: 87.4%;
  left: 10.1%;
  transform: translate(0%, -50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 10;
}
.fv-text h2 {
  font-size: 32px;
  font-family: "Sawarabi Mincho", serif;
}
.fv-text p {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  .fv-text {
    top: 83.1%;
    left: 4.1%;
  }
  .fv-text h2 {
    font-size: 5.1282051282vw;
    line-height: 2;
  }
  .fv-text p {
    font-size: 3.0769230769vw;
    margin-top: 1em;
  }
}

/*------------------------------
service
------------------------------*/
.service {
  background: url(../img/TOP/Service_ph.jpg) no-repeat center center/cover;
  padding: min(200px, 10.4166666667vw) 0;
  color: #fff;
}
@media (max-width: 767px) {
  .service {
    background: url(../img/TOP/SP/Service_ph.jpg) no-repeat center center/cover;
    padding: 20% 0 11.1731843575%;
  }
}

.service__message {
  font-size: min(1.25rem, 1.6014234875vw);
  font-weight: 400;
  line-height: 2.4;
  font-family: "Sawarabi Mincho", serif;
  text-align: center;
  margin-top: calc((1lh - 1em) / -2);
}
@media (max-width: 767px) {
  .service__message {
    font-size: 3.8461538462vw;
    line-height: 2;
  }
}

.service__list {
  width: 85.409252669%;
  margin: 0 auto;
  margin-top: 9%;
  display: flex;
}
@media (max-width: 767px) {
  .service__list {
    width: 100%;
    margin-top: 14%;
    flex-wrap: wrap;
    justify-content: center;
  }
}

.service__item {
  width: 31.6333333333%;
  aspect-ratio: 608/608;
  color: #fff;
  position: relative;
}
@media (min-width: 768px) {
  .service__item:first-child {
    background: url(../img/TOP/Service_icon1.png) no-repeat center center/contain;
  }
  .service__item:nth-child(2) {
    background: url(../img/TOP/Service_icon2.png) no-repeat center center/contain;
  }
  .service__item:nth-child(3) {
    background: url(../img/TOP/Service_icon3.png) no-repeat center center/contain;
  }
  .service__item:nth-child(n+2) {
    margin-left: 2.5%;
  }
}
@media (max-width: 767px) {
  .service__item:first-child {
    width: 100%;
    max-width: 48.8826815642%;
    margin: 0 5%;
    background: url(../img/TOP/SP/Service_icon1.png) no-repeat center center/contain;
  }
  .service__item:nth-child(2) {
    background: url(../img/TOP/SP/Service_icon2.png) no-repeat center center/contain;
    margin-right: 2.2346368715%;
  }
  .service__item:nth-child(3) {
    background: url(../img/TOP/SP/Service_icon3.png) no-repeat center center/contain;
  }
  .service__item:nth-child(2), .service__item:nth-child(3) {
    width: 48.8826815642%;
    margin-top: -5.5865921788%;
  }
}

.service__body {
  position: absolute;
  bottom: 14%;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .service__body {
    width: 100%;
    text-align: center;
    bottom: 23%;
  }
}

.service__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min(1.25rem, 1.6014234875vw);
  font-weight: 400;
  text-align: center;
  padding-bottom: 0.85em;
  font-family: "Sawarabi Mincho", serif;
  position: relative;
}
.service__heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  width: 4.5em;
  height: 1px;
}
@media (max-width: 767px) {
  .service__heading {
    font-size: 5.1282051282vw;
    padding-bottom: 0.5em;
  }
}

.service__text {
  padding-top: 1.3em;
  font-size: min(0.9375rem, 1.2010676157vw);
  font-weight: 400;
}
@media (max-width: 767px) {
  .service__text {
    font-size: 3.8461538462vw;
    padding-top: 0.53em;
  }
}

/*------------------------------
news
------------------------------*/
.news {
  padding: 88px 0;
}
@media (max-width: 767px) {
  .news {
    padding: 15.3631284916% 0;
    padding: 12% 0;
  }
}

.news__wrapper {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .news__wrapper {
    display: block;
  }
}

.news__title {
  width: 23.1316725979%;
}
@media (max-width: 767px) {
  .news__title {
    width: 100%;
  }
}

.news__list {
  width: 74.7330960854%;
  width: 73%;
  margin-top: 3%;
}
@media (max-width: 767px) {
  .news__list {
    width: 100%;
    margin-top: 3.3519553073%;
  }
}

.news__item a {
  display: flex;
  align-items: center;
  padding: 1.9% 0;
  border-bottom: 1px solid #F6ECE9;
  pointer-events: none;
}
@media (max-width: 767px) {
  .news__item a {
    padding: 4.469273743% 0;
  }
}

.news__item-date {
  width: 17%;
  font-size: min(0.9375rem, 1.2010676157vw);
  font-weight: 400;
  line-height: 1.2;
  font-family: "Roboto", sans-serif;
}
@media (max-width: 767px) {
  .news__item-date {
    font-size: 3.5897435897vw;
    width: 26%;
  }
}

.news__item-title {
  width: 81.4285714286%;
  font-size: min(0.9375rem, 1.2010676157vw);
  font-weight: 400;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .news__item-title {
    font-size: 3.8461538462vw;
    width: 74%;
  }
}

/*------------------------------
property
------------------------------*/
.property {
  padding-bottom: min(80px, 4.1666666667vw);
}
@media (max-width: 767px) {
  .property {
    padding-bottom: 14%;
  }
}

.property__button {
  text-align: center;
  margin-top: 35px;
}
@media (max-width: 767px) {
  .property__button {
    margin-top: 50px;
  }
}

.propertySwiper {
  overflow: hidden;
  margin-top: 30px;
  padding-bottom: 5px;
}
.propertySwiper .swiper-wrapper {
  transition-timing-function: linear;
}
@media (max-width: 767px) {
  .propertySwiper {
    margin-top: 25px;
  }
}

/*------------------------------
event
------------------------------*/
.event {
  padding: min(80px, 4.1666666667vw) 0;
  background: #F6ECE9;
}
@media (max-width: 767px) {
  .event {
    padding: 9% 0;
  }
}

.event__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3%;
}
@media (max-width: 767px) {
  .event__list {
    gap: 32px 0;
    margin-top: 7%;
  }
}

.event__item {
  width: 23.3985765125%;
}
@media (min-width: 768px) {
  .event__item:not(:nth-child(4n)) {
    margin-right: 2.1352313167%;
  }
  .event__item:nth-child(n+5) {
    margin-top: 3.5%;
  }
  .event__item:nth-child(n+9) {
    display: none;
  }
}
@media (max-width: 767px) {
  .event__item {
    width: 47.7653631285%;
  }
  .event__item:nth-child(2n) {
    margin-left: 4.469273743%;
  }
  .event__item:nth-child(n+3) {
    display: none;
  }
}

.event__title {
  margin-top: 1.2em;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Sawarabi Mincho", serif;
}
@media (max-width: 767px) {
  .event__title {
    font-size: 3.5897435897vw;
    margin-top: 0.9em;
  }
}

.event__info {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 8%;
  gap: 6px 0;
}
.event__info dt {
  width: 11%;
  font-size: 0.75rem;
  font-size: min(12px, 0.9608540925vw);
  font-weight: 500;
  line-height: 1.5;
  background: #78747B;
  color: #fff;
  text-align: center;
  transform: translateY(15%);
}
.event__info dd {
  width: 89%;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.6;
  padding-left: 3.7914691943%;
}
@media (max-width: 999px) {
  .event__info {
    display: block;
  }
  .event__info dt {
    width: 4.67em;
    font-size: 0.75rem;
  }
  .event__info dt:nth-of-type(n + 2) {
    margin-top: 9px;
  }
  .event__info dd {
    width: 100%;
    margin-top: 4px;
    padding-left: 0;
  }
  .event__info dd:nth-of-type(n + 2) {
    margin-top: 4px;
  }
}
@media (max-width: 767px) {
  .event__info {
    margin-top: 4%;
    display: flex;
  }
  .event__info dt {
    width: 18%;
    font-size: 3.0769230769vw;
  }
  .event__info dt:nth-child(n) {
    margin-top: 0;
  }
  .event__info dd {
    width: 82%;
    font-size: 3.5897435897vw;
    padding-left: 3%;
    line-height: 1.7;
  }
  .event__info dd:nth-child(n) {
    margin-top: 0;
  }
}

.event__button {
  margin-top: 12px;
}
.event__button a {
  width: 100%;
  min-width: unset;
}
@media (max-width: 767px) {
  .event__button {
    margin-top: 14px;
  }
}

.event-more {
  text-align: center;
  margin-top: 40px;
}
/*# sourceMappingURL=top.css.map */