.p-fv {
  margin-top: -24px;
}
@media (max-width: 1280px) {
  .p-fv {
    margin-top: 0;
  }
}

.p-fv__visual {
  overflow: hidden;
}

.p-fv__visual img {
  width: 100%;
  object-fit: cover;
}

.p-fv__visual--roof {
  width: 100%;
  max-width: 2560px;
  aspect-ratio: 1440/280;
  max-height: 374px;
}
@media (max-width: 1280px) {
  .p-fv__visual--roof {
    aspect-ratio: 375/216;
    max-height: 280px;
  }
}

.p-fv__visual-roof-sp {
  display: none;
}

@media (max-width: 1280px) {
  .p-fv__visual-roof-pc {
    display: none;
  }
  .p-fv__visual-roof-sp {
    display: block;
    height: 100%;
  }
  .p-fv__visual-roof-sp .slick-list,
  .p-fv__visual-roof-sp .slick-track,
  .p-fv__visual-roof-sp li {
    height: 100%;
  }
}
.p-fv__visual--wall {
  margin-left: calc((100% - 1280px) / 2);
  aspect-ratio: 1360/280;
  max-height: 400px;
}
@media (max-width: 1280px) {
  .p-fv__visual--wall {
    display: none;
  }
}

.p-fv__contact {
  display: none;
}
@media (max-width: 1280px) {
  .p-fv__contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    width: auto;
    max-width: none;
    margin-top: -8px;
    margin-inline: 16px;
    padding-top: 8px;
    padding-inline: 0;
    overflow: hidden;
    background-color: #005147;
    border: 1px solid #fff;
    box-shadow: 4px 2px 16px rgba(0, 0, 0, 0.25);
  }
}

@media (max-width: 1280px) {
  .p-fv__contact-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding-bottom: 16px;
  }
}

@media (max-width: 1280px) {
  .p-fv__contact-lead {
    display: flex;
    align-items: center;
    gap: 8px;
  }
}

@media (max-width: 1280px) {
  .p-fv__contact-lead span {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    white-space: nowrap;
  }
}

@media (max-width: 1280px) {
  .p-fv__contact-numbers {
    display: flex;
    align-items: center;
    gap: 20px;
  }
}

@media (max-width: 1280px) {
  .p-fv__contact-numbers span {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.32px;
    white-space: nowrap;
  }
}

@media (max-width: 1280px) {
  .p-fv__contact-hours {
    width: 100%;
    padding: 12px 16px;
    background-color: #fff;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 500;
    font-size: 12px;
    color: #222;
    text-align: center;
    white-space: nowrap;
  }
}

.p-fv__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 44px;
}
@media (max-width: 1280px) {
  .p-fv__inner {
    flex-direction: column;
    justify-content: flex-start;
    gap: 24px;
    margin-top: 32px;
  }
}

.p-fv__container {
  position: relative;
  width: 715px;
  margin-top: -144px;
  z-index: 2;
}
@media (max-width: 1280px) {
  .p-fv__container {
    width: 100%;
    margin-top: 0;
    margin-bottom: 40px;
  }
}

.p-fv__container-photo {
  width: 100%;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 1280px) {
  .p-fv__container-photo {
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
  }
}

.p-fv__cta {
  position: absolute;
  top: 440px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 20px 48px;
  background-color: #dd6e18;
  border: 2px solid #fff;
  transform: translate(-50%, 24px);
}
@media (min-width: 1281px) {
  .p-fv__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #c05c0e;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-fv__cta > span,
  .p-fv__cta > img {
    position: relative;
  }
  .p-fv__cta:hover::before {
    clip-path: inset(0);
  }
  .p-fv__cta > img {
    transition: transform 0.3s ease;
  }
  .p-fv__cta:hover > img {
    transform: translateX(4px);
  }
}
@media (max-width: 1280px) {
  .p-fv__cta {
    top: calc(100% - 8px);
    transform: translateX(-50%) !important;
    gap: 8px;
    padding: 12px 24px;
    border-width: 1px;
  }
}
.p-fv__cta.js-fade-in.is-visible {
  transform: translate(-50%, 0);
}

.p-fv__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-fv__cta span {
    font-size: 16px;
  }
}

.p-fv__text {
  width: 500px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 1280px) {
  .p-fv__text {
    width: 100%;
    gap: 16px;
  }
}

.p-fv__intro {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (max-width: 1280px) {
  .p-fv__intro {
    gap: 4px;
  }
}

.p-fv__tags {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  gap: 16px;
}
@media (max-width: 1280px) {
  .p-fv__tags {
    margin-bottom: 4px;
    gap: 12px;
  }
}

.p-fv__tag {
  padding: 8px 12px;
  background-color: #01564c;
  color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.5px;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-fv__tag {
    padding: 4px 8px;
    font-size: 12px;
  }
}

.p-fv__stat-group {
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  gap: 12px;
}
@media (max-width: 1280px) {
  .p-fv__stat-group {
    gap: 4px;
  }
}

.p-fv__stat {
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
@media (max-width: 1280px) {
  .p-fv__stat {
    margin-bottom: 4px;
  }
}

.p-fv__stat-number {
  margin-right: 2px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 40px;
  color: #dd6e18;
}
@media (max-width: 1280px) {
  .p-fv__stat-number {
    font-size: 28px;
  }
}

.p-fv__stat-label {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  color: #222;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-fv__stat-label {
    font-size: 16px;
  }
}

.p-fv__divider {
  height: 1px;
  margin: 0;
  width: calc((100vw - 1280px) / 2 + 228px);
  margin-left: calc((1280px - 100vw) / 2);
  border: none;
  background-color: #adadad;
}
@media (max-width: 1280px) {
  .p-fv__divider {
    width: calc(100% + 16px);
    margin-left: -16px;
  }
}

.p-fv__headline {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-fv__title {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 48px;
  line-height: 62px;
  letter-spacing: 7.2px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-fv__title {
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 4.8px;
  }
}

.p-fv__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-fv__lead {
    font-size: 14px;
    line-height: 22px;
    letter-spacing: -0.28px;
  }
}

.p-home-news {
  padding-block: 64px;
}
@media (max-width: 1280px) {
  .p-home-news {
    padding-top: 40px;
    padding-bottom: 48px;
  }
}

.p-home-news__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
@media (max-width: 1280px) {
  .p-home-news__inner {
    gap: 24px;
  }
}

.p-home-news__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 976px;
}
@media (max-width: 1280px) {
  .p-home-news__list {
    gap: 8px;
    width: 100%;
  }
}

.p-home-news__item {
  display: flex;
  gap: 64px;
  border-bottom: 1px solid #adadad;
  padding-bottom: 16px;
}
@media (max-width: 1280px) {
  .p-home-news__item {
    gap: 12px;
    padding-bottom: 8px;
  }
}

.p-home-news__link {
  display: flex;
  align-items: center;
  gap: 64px;
}
@media (max-width: 1280px) {
  .p-home-news__link {
    gap: 16px;
  }
}

.p-home-news__date {
  flex-shrink: 0;
  width: 80px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #01564c;
}
@media (max-width: 1280px) {
  .p-home-news__date {
    width: initial;
    font-size: 14px;
  }
}

.p-home-news__title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-home-news__title {
    font-size: 14px;
  }
}

.p-home-news__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 48px;
  background-color: #fff;
  border: 1px solid #01564c;
}
@media (min-width: 1281px) {
  .p-home-news__button {
    position: relative;
  }
  .p-home-news__button::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #e6eeed;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-home-news__button > span,
  .p-home-news__button > img {
    position: relative;
  }
  .p-home-news__button:hover::before {
    clip-path: inset(0);
  }
  .p-home-news__button > img {
    transition: transform 0.3s ease;
  }
  .p-home-news__button:hover > img {
    transform: translateX(4px);
  }
}

.p-home-news__button span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #01564c;
  letter-spacing: -0.5px;
  white-space: nowrap;
}

.p-strengths {
  position: relative;
  overflow: hidden;
}

.p-strengths__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-strengths__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-strengths__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 80px 36px;
}
@media (max-width: 1280px) {
  .p-strengths__inner {
    padding: 48px 16px;
  }
}

.p-strengths__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
}
@media (max-width: 1280px) {
  .p-strengths__intro {
    gap: 16px;
  }
}

.p-strengths__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}

.p-strengths__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-strengths__heading {
    font-size: 24px;
    line-height: 32px;
  }
}

.p-strengths__heading-break {
  display: none;
}
@media (max-width: 1280px) {
  .p-strengths__heading-break {
    display: block;
  }
}

.p-strengths__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-strengths__lead {
    font-size: 14px;
    line-height: 22px;
  }
}

.p-strengths__list {
  display: flex;
  gap: 24px;
}
@media (max-width: 1280px) {
  .p-strengths__list {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 32px;
  }
}

.p-strengths__item {
  display: flex;
  flex-direction: column;
  width: 284px;
  padding: 16px 16px 32px;
  background-color: #fff;
  box-shadow: 4px 4px 8px rgba(74, 74, 74, 0.25);
}
@media (max-width: 1280px) {
  .p-strengths__item {
    width: auto;
    padding: 16px 12px 32px;
    transition: transform 0.3s ease;
  }
}

@media (max-width: 1280px) {
  .p-strengths__item.js-fade-in {
    opacity: 1;
  }
}
@media (max-width: 1280px) {
  .p-strengths__list .slick-slide .p-strengths__item {
    transform: scale(0.85);
    visibility: hidden;
  }
  .p-strengths__list .slick-slide.is-active .p-strengths__item {
    transform: scale(1);
    visibility: visible;
  }
}
.p-strengths__item-image {
  width: 100%;
  height: 172px;
  object-fit: cover;
  margin-bottom: 24px;
}

.p-strengths__item-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-strengths__item-title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #01564c;
}
@media (max-width: 1280px) {
  .p-strengths__item-title {
    font-size: 18px;
  }
}

.p-strengths__item-title--tight {
  letter-spacing: -1px;
}

.p-strengths__item-desc p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}

@media (max-width: 1280px) {
  .p-strengths__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background-color: #01564c;
    border: 1px solid #fff;
    border-radius: 50%;
  }
  .p-strengths__arrow--prev {
    left: 0;
  }
  .p-strengths__arrow--prev img {
    transform: scaleX(-1);
  }
  .p-strengths__arrow--next {
    right: 0;
  }
  .p-strengths__list .slick-dots {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
    padding: 0;
  }
  .p-strengths__list .slick-dots li {
    width: 8px;
    height: 8px;
  }
  .p-strengths__list .slick-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    background-color: #fff;
    border: solid 1px #01564c;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    font-size: 0;
    text-indent: -9999px;
    overflow: hidden;
  }
  .p-strengths__list .slick-dots li.slick-active button {
    background-color: #01564c;
  }
}
.p-service {
  position: relative;
  overflow: hidden;
}

.p-service__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-service__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-service__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 80px 0;
}
@media (max-width: 1280px) {
  .p-service__inner {
    padding: 48px 16px;
    gap: 32px;
  }
}

.p-service__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.p-service__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #01564c;
}

.p-service__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-service__heading {
    font-size: 24px;
  }
}

.p-service__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-service__lead {
    font-size: 14px;
    line-height: 22px;
  }
}

.p-service__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
@media (max-width: 1280px) {
  .p-service__list {
    gap: 24px;
  }
}

.p-service__item {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 1280px) {
  .p-service__item {
    flex-direction: column;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
  }
}

.p-service__pic {
  width: 723px;
  flex-shrink: 0;
  z-index: 100;
}

@media (max-width: 1280px) {
  .p-service__item--reverse {
    flex-direction: column-reverse;
  }
}

.p-service__photo {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 723px;
  height: 333px;
  object-fit: cover;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 1280px) {
  .p-service__photo {
    width: 100%;
    height: auto;
    box-shadow: none;
  }
}

.p-service__panel {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  width: 764px;
  height: 308px;
  margin-top: 60px;
  margin-left: -207px;
  padding: 40px 64px 40px 264px;
  background: linear-gradient(135deg, #e6f2ec, #cddfd6);
  border-right: 5px solid #dd6e18;
}
@media (max-width: 1280px) {
  .p-service__panel {
    width: 100%;
    height: auto;
    margin-top: 0;
    margin-left: 0;
    padding: 40px 32px;
    border-right: none;
    border-left: 3px solid #dd6e18;
  }
}

.p-service__item--reverse .p-service__panel {
  margin-left: 0;
  padding: 40px 264px 40px 64px;
  border-right: none;
  border-left: 5px solid #dd6e18;
}
@media (max-width: 1280px) {
  .p-service__item--reverse .p-service__panel {
    padding: 40px 32px;
    border-left: 3px solid #dd6e18;
  }
}

.p-service__item--reverse .p-service__photo {
  margin-left: -207px;
}
@media (max-width: 1280px) {
  .p-service__item--reverse .p-service__photo {
    margin-left: 0;
  }
}

.p-service__panel-title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #01564c;
}
@media (max-width: 1280px) {
  .p-service__panel-title {
    font-size: 20px;
  }
}

.p-service__panel-desc {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}

.p-service__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 48px;
  background-color: #01564c;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (min-width: 1281px) {
  .p-service__cta {
    position: relative;
  }
  .p-service__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #003d36;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-service__cta > span,
  .p-service__cta > img {
    position: relative;
  }
  .p-service__cta:hover::before {
    clip-path: inset(0);
  }
  .p-service__cta > img {
    transition: transform 0.3s ease;
  }
  .p-service__cta:hover > img {
    transform: translateX(4px);
  }
}
@media (max-width: 1280px) {
  .p-service__cta {
    padding: 12px 24px;
  }
}

.p-service__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-service__cta span {
    font-size: 16px;
  }
}

.p-home-container-house {
  position: relative;
  overflow: hidden;
}

.p-home-container-house__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
@media (max-width: 1280px) {
  .p-home-container-house__bg {
    background: linear-gradient(to bottom, #3e4e60 46.851%, #d2e2f3 100%);
  }
}

.p-home-container-house__bg picture {
  height: revert-rule;
}

.p-home-container-house__bg img {
  width: 100%;
  height: revert-layer;
  object-fit: cover;
  object-position: center 30%;
}
@media (max-width: 1280px) {
  .p-home-container-house__bg img {
    height: auto;
    aspect-ratio: 375/572;
    object-position: top;
  }
}

.p-home-container-house__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 80px 0;
}
@media (max-width: 1280px) {
  .p-home-container-house__inner {
    gap: 0;
    padding: 48px 20px;
  }
}

.p-home-container-house__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 672px;
  text-align: center;
}
@media (max-width: 1280px) {
  .p-home-container-house__intro {
    width: 100%;
    margin-bottom: 335px;
  }
}

.p-home-container-house__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}

.p-home-container-house__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #fff;
}
@media (max-width: 1280px) {
  .p-home-container-house__heading {
    font-size: 24px;
  }
}

.p-home-container-house__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}
@media (max-width: 1280px) {
  .p-home-container-house__lead {
    font-size: 14px;
    line-height: 1.5;
  }
}

.p-home-container-house__list {
  display: grid;
  grid-template-columns: repeat(2, 300px);
  gap: 24px;
  margin-left: auto;
}
@media (max-width: 1280px) {
  .p-home-container-house__list {
    grid-template-columns: 100%;
    width: initial;
    margin: 0 auto 40px;
    gap: 16px;
  }
}

.p-home-container-house__item {
  display: flex;
  flex-direction: column;
  padding: 16px 16px 32px;
  background-color: #fff;
  box-shadow: 4px 4px 8px rgba(74, 74, 74, 0.25);
}

.p-home-container-house__item-image {
  width: 100%;
  height: 172px;
  object-fit: cover;
  margin-bottom: 24px;
}

.p-home-container-house__item-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-home-container-house__item-title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #01564c;
}

.p-home-container-house__item-desc {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}

.p-home-container-house__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 20px 48px;
  background-color: #dd6e18;
  border: 2px solid #fff;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (min-width: 1281px) {
  .p-home-container-house__cta {
    position: relative;
  }
  .p-home-container-house__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #c05c0e;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-home-container-house__cta > span,
  .p-home-container-house__cta > img {
    position: relative;
  }
  .p-home-container-house__cta:hover::before {
    clip-path: inset(0);
  }
  .p-home-container-house__cta > img {
    transition: transform 0.3s ease;
  }
  .p-home-container-house__cta:hover > img {
    transform: translateX(4px);
  }
}
@media (max-width: 1280px) {
  .p-home-container-house__cta {
    width: 100%;
    gap: 10px;
    padding: 12px 24px;
  }
}

.p-home-container-house__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-home-container-house__cta span {
    font-size: 16px;
  }
}

.p-works__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 80px 0;
}
@media (max-width: 1280px) {
  .p-works__inner {
    padding: 48px 20px;
    gap: 32px;
  }
}

.p-works__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.p-works__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #01564c;
}

.p-works__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-works__heading {
    font-size: 24px;
  }
}

.p-works__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-works__lead {
    font-size: 14px;
    line-height: 1.5;
  }
}

.p-works__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 32px;
  row-gap: 40px;
  width: 100%;
}
@media (max-width: 1280px) {
  .p-works__list {
    display: block;
    position: relative;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
}

.p-works__item {
  display: flex;
  flex-direction: column;
}

.p-works__card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 40px 24px;
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
}
@media (max-width: 1280px) {
  .p-works__card {
    width: calc(100% - 16px);
    margin: 8px;
    padding: 16px 24px 24px;
  }
}

.p-works__item-image {
  width: 100%;
  height: 262px;
  object-fit: cover;
}
@media (max-width: 1280px) {
  .p-works__item-image {
    height: 172px;
  }
}

.p-works__item-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-works__item-title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #01564c;
}

.p-works__item-location {
  display: flex;
  align-items: center;
  gap: 4px;
}

.p-works__item-location span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #222;
}

.p-works__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 48px;
  background-color: #01564c;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (min-width: 1281px) {
  .p-works__cta {
    position: relative;
  }
  .p-works__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #003d36;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-works__cta > span,
  .p-works__cta > img {
    position: relative;
  }
  .p-works__cta:hover::before {
    clip-path: inset(0);
  }
  .p-works__cta > img {
    transition: transform 0.3s ease;
  }
  .p-works__cta:hover > img {
    transform: translateX(4px);
  }
}
@media (max-width: 1280px) {
  .p-works__cta {
    gap: 10px;
    padding: 12px 24px;
    margin-top: 8px;
  }
}

.p-works__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-works__cta span {
    font-size: 16px;
  }
}

@media (max-width: 1280px) {
  .p-works__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background-color: #01564c;
    border: 1px solid #fff;
    border-radius: 50%;
  }
  .p-works__arrow--prev {
    left: -20px;
  }
  .p-works__arrow--prev img {
    transform: scaleX(-1);
  }
  .p-works__arrow--next {
    right: -20px;
  }
  .p-works__list .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 32px;
    padding: 0;
  }
  .p-works__list .slick-dots li {
    width: 8px;
    height: 8px;
  }
  .p-works__list .slick-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    background-color: #fff;
    border: 1px solid #01564c;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    font-size: 0;
    text-indent: -9999px;
    overflow: hidden;
  }
  .p-works__list .slick-dots li.slick-active button {
    background-color: #01564c;
  }
}
.p-for-business {
  background-color: #deece5;
  padding: 80px 0;
}
@media (max-width: 1280px) {
  .p-for-business {
    padding: 48px 16px;
  }
}

.p-for-business__inner {
  display: flex;
}
@media (max-width: 1280px) {
  .p-for-business__inner {
    flex-direction: column;
    padding-inline: 0;
  }
}

.p-for-business__media {
  flex-shrink: 0;
  width: 656px;
  height: 420px;
}
@media (max-width: 1280px) {
  .p-for-business__media {
    width: 100%;
    height: auto;
    aspect-ratio: 343/222;
  }
}

.p-for-business__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-for-business__content {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 48px;
  width: 624px;
  height: 420px;
  padding: 80px 120px 80px 64px;
  background-color: #31736b;
}
@media (max-width: 1280px) {
  .p-for-business__content {
    align-items: center;
    gap: 36px;
    width: 100%;
    height: auto;
    padding: 40px 8px;
  }
}

.p-for-business__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1280px) {
  .p-for-business__text {
    align-items: center;
    text-align: center;
  }
}

.p-for-business__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}

.p-for-business__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #fff;
}
@media (max-width: 1280px) {
  .p-for-business__heading {
    font-size: 24px;
  }
}

.p-for-business__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}

.p-for-business__lead-break {
  display: none;
}
@media (max-width: 1280px) {
  .p-for-business__lead-break {
    display: block;
  }
}

.p-for-business__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 48px;
  background-color: #fff;
}
@media (min-width: 1281px) {
  .p-for-business__cta {
    position: relative;
  }
  .p-for-business__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #e6eeed;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-for-business__cta > span,
  .p-for-business__cta > img {
    position: relative;
  }
  .p-for-business__cta:hover::before {
    clip-path: inset(0);
  }
  .p-for-business__cta > img {
    transition: transform 0.3s ease;
  }
  .p-for-business__cta:hover > img {
    transform: translateX(4px);
  }
}
@media (max-width: 1280px) {
  .p-for-business__cta {
    gap: 10px;
    padding: 12px 24px;
  }
}

.p-for-business__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #01564c;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-for-business__cta span {
    font-size: 16px;
  }
}

.p-about {
  padding: 80px 0;
}
@media (max-width: 1280px) {
  .p-about {
    padding: 48px 0;
  }
}

.p-about__inner {
  display: flex;
  align-items: flex-start;
  gap: 48px;
}
@media (max-width: 1280px) {
  .p-about__inner {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
}

.p-about__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 64px;
  flex: 1;
}
@media (max-width: 1280px) {
  .p-about__main {
    display: contents;
  }
}

.p-about__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}
@media (max-width: 1280px) {
  .p-about__body {
    align-items: center;
    gap: 32px;
    width: 100%;
    order: 1;
  }
}

.p-about__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1280px) {
  .p-about__text {
    align-items: center;
    width: 100%;
    text-align: center;
  }
}

.p-about__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #01564c;
}

.p-about__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #222;
}
@media (max-width: 1280px) {
  .p-about__heading {
    font-size: 24px;
  }
}

@media (max-width: 1280px) {
  .p-about__lead {
    width: 100%;
    text-align: left;
  }
}

.p-about__lead p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #222;
}

.p-about__lead-break {
  margin-top: 24px;
}

.p-about__badges {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1280px) {
  .p-about__badges {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: 251px;
  }
}

.p-about__badges li {
  padding: 8px;
  border: 1px solid #01564c;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #01564c;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-about__badges li {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
  }
}

.p-about__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 48px;
  background-color: #01564c;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (min-width: 1281px) {
  .p-about__cta {
    position: relative;
  }
  .p-about__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #003d36;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-about__cta > span,
  .p-about__cta > img {
    position: relative;
  }
  .p-about__cta:hover::before {
    clip-path: inset(0);
  }
  .p-about__cta > img {
    transition: transform 0.3s ease;
  }
  .p-about__cta:hover > img {
    transform: translateX(4px);
  }
}
@media (max-width: 1280px) {
  .p-about__cta {
    width: 100%;
    gap: 10px;
    padding: 12px 40px;
    order: 3;
    margin-top: 8px;
  }
}

.p-about__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-about__cta span {
    font-size: 16px;
  }
}

.p-about__media {
  flex-shrink: 0;
  width: 640px;
}
@media (max-width: 1280px) {
  .p-about__media {
    width: 100%;
    order: 2;
  }
}

.p-about__media img {
  width: 100%;
  height: auto;
}

.p-contact {
  position: relative;
  overflow: hidden;
}

.p-contact__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-contact__bg picture {
  position: absolute;
  inset: 0;
}

.p-contact__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-contact__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  padding: 80px 0;
}
@media (max-width: 1280px) {
  .p-contact__inner {
    gap: 24px;
    padding: 48px 16px;
  }
}

.p-contact__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.p-contact__eyebrow {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}

.p-contact__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 32px;
  color: #fff;
}
@media (max-width: 1280px) {
  .p-contact__heading {
    font-size: 24px;
  }
}

.p-contact__lead {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}

.p-contact__cta-group {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media (max-width: 1280px) {
  .p-contact__cta-group {
    flex-direction: column;
    width: 100%;
    gap: 16px;
  }
}

.p-contact__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 20px 48px;
  border: 2px solid #fff;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 1280px) {
  .p-contact__cta {
    width: 100%;
    gap: 8px;
    padding: 12px 24px;
    border-width: 1px;
  }
}

.p-contact__cta--brand {
  background-color: #01564c;
}
@media (min-width: 1281px) {
  .p-contact__cta--brand {
    position: relative;
  }
  .p-contact__cta--brand::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #003d36;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-contact__cta--brand > span,
  .p-contact__cta--brand > img {
    position: relative;
  }
  .p-contact__cta--brand:hover::before {
    clip-path: inset(0);
  }
  .p-contact__cta--brand > img {
    transition: transform 0.3s ease;
  }
  .p-contact__cta--brand:hover > img {
    transform: translateX(4px);
  }
}

.p-contact__cta--accent {
  background-color: #dd6e18;
}
@media (min-width: 1281px) {
  .p-contact__cta--accent {
    position: relative;
  }
  .p-contact__cta--accent::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #c05c0e;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s ease;
  }
  .p-contact__cta--accent > span,
  .p-contact__cta--accent > img {
    position: relative;
  }
  .p-contact__cta--accent:hover::before {
    clip-path: inset(0);
  }
  .p-contact__cta--accent > img {
    transition: transform 0.3s ease;
  }
  .p-contact__cta--accent:hover > img {
    transform: translateX(4px);
  }
}

.p-contact__cta span {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .p-contact__cta span {
    font-size: 16px;
  }
}

/*# sourceMappingURL=home.css.map */
