@charset "UTF-8";
/* ---------------

   モデルハウスLPページ

   --------------- */ :root {
  /*375-1280*/
  --font-size-12-14: clamp(0.75rem, 0.698rem + 0.22vw, 0.875rem);
  --font-size-16-18: clamp(1rem, 0.948rem + 0.22vw, 1.125rem);
  --font-size-18-20: clamp(1.125rem, 1.073rem + 0.22vw, 1.25rem);
  --spacing-8-16: clamp(8px, 0.293rem + 0.88vw, 16px);
  --spacing-8-24: clamp(8px, 0.086rem + 1.77vw, 24px);
  --spacing-16-24: clamp(16px, 0.793rem + 0.88vw, 24px);
  --spacing-16-32: clamp(16px, 0.586rem + 1.77vw, 32px);
  --spacing-24-32: clamp(24px, 1.293rem + 0.88vw, 32px);
  --spacing-24-40: clamp(24px, 1.086rem + 1.77vw, 40px);
  --spacing-32-40: clamp(32px, 1.793rem + 0.88vw, 40px);
  --spacing-32-56: clamp(32px, 1.378rem + 2.65vw, 56px);
  --spacing-40-48: clamp(40px, 2.293rem + 0.88vw, 48px);
  --spacing-40-56: clamp(40px, 2.086rem + 1.77vw, 56px);
  --spacing-48-56: clamp(48px, 2.793rem + 0.88vw, 56px);
  --spacing-56-80: clamp(56px, 2.878rem + 2.65vw, 80px);
  --spacing-64-96: clamp(64px, 3.171rem + 3.54vw, 96px);
  --spacing-64-112: clamp(64px, 2.757rem + 5.3vw, 112px);
  --spacing-80-112: clamp(80px, 4.171rem + 3.54vw, 112px);
  --spacing-80-160: clamp(80px, 2.928rem + 8.84vw, 160px);
  /*splide*/
  --easing: cubic-bezier(0.2, 1, 0.2, 1);
  --transition: 0.8s var(--easing);
  --color-base: #0c1210;
  --color-gray: #ddd;
  --color-theme: #b4e900;
  --color-theme-darken: #6e8f00;
  --color-text: #adbdb7;
  --box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), inset -0.8rem -0.8rem 1.2rem #fff;
  --box-shadow-dark: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(#fff, 0.2);
}
body {
  font-size: clamp(0.938rem, 0.912rem + 0.11vw, 1rem);
}
.c-pagetop {
  bottom: clamp(16px, 0.818rem + 0.91vw, 24px);
}
.p-note-block {
  margin-block-start: clamp(32px, 1.793rem + 0.88vw, 40px);
}
/* slider */
.slide-media, .thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media img, .thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.splide {
  z-index: 0;
}
/* 前へ / 次へボタン */
.splide__arrow--prev, .splide__arrow--next {
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  cursor: pointer;
  transition: var(--transition);
  background-color: rgba(83,110,184,.8);
  border-radius: 50%;
}
.splide__arrow--prev::after, .splide__arrow--next::after {
  width: 6px;
  height: 6px;
  content: "";
  border: solid var(--color-gray);
  border-width: 2px 2px 0 0;
}
.splide__arrow--prev::after {
  margin-inline-start: 2px;
  transform: rotate(-135deg);
}
.splide__arrow--next::after {
  margin-inline-end: 2px;
  transform: rotate(45deg);
}
.splide__arrow:disabled {
  pointer-events: none;
  opacity: 0;
}
.splide__arrow:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide__pagination {
  font-size: 0;
}
.splide__pagination__page:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide__slide:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide-wrapper {
  position: relative;
}
.splide__arrow > svg {
  display: none;
}
.p-model-carousel {
  overflow: hidden;
}
.p-model-carousel .splide, .thumb-wrapper.p-model-thumb {
  /*max-width: 720px;*/
  margin-inline: auto;
}
.p-model-thumb {
  margin-block-start: var(--spacing-16-24);
}
.p-model-carousel .splide {
  overflow: visible;
}
.p-model-carousel .splide__arrows {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-block-start: 62.5%;
}
.p-model-carousel .splide__arrow--prev, .p-model-carousel .splide__arrow--next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.p-model-carousel .splide__arrow--prev {
  left: var(--spacing-8-16);
}
.p-model-carousel .splide__arrow--next {
  right: var(--spacing-8-16);
}
.p-model-carousel .slide {
  display: block;
  overflow: hidden;
}
.p-model-carousel .slide-media {
  display: block;
  padding-block-start: 62.5%;
  border-radius: 4px;
}
.p-model-carousel .slide-media img {
  -o-object-fit: cover;
  object-fit: cover;
}
.thumb-wrapper.p-model-thumb {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: var(--spacing-16-24);
}
.p-model-thumb .thumb-media {
  padding-top: 100%;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  border-radius: 4px;
  opacity: 0.6;
}
.p-model-thumb .thumb-media img {
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.p-model-thumb .thumb-media.is-active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  opacity: 1;
}
.p-model-thumb .thumb-media.is-active img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
@media only screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
  .p-model-carousel .splide__arrow--prev::before, .p-model-carousel .splide__arrow--next::before {
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: var(--box-shadow-dark);
    box-shadow: var(--box-shadow-dark);
  }
  .p-model-carousel .splide__arrow--prev::after, .p-model-carousel .splide__arrow--next::after {
    border-color: #fff;
  }
  /*.p-model-carousel .splide__arrow--prev {
    right: calc(100% - 3.2rem);
  }
  .p-model-carousel .splide__arrow--next {
    left: calc(100% - 3.2rem);
  }*/
}
@media only screen and (max-width: 599px) {
  .pc-tab {
    display: none !important;
  }
  /*.p-model-carousel .thumb-wrapper {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  }*/
}
@media only screen and (min-width: 1025px) {
  .tab-sp {
    display: none !important;
  }
  .splide__arrow--prev::before, .splide__arrow--next::before {
    transition: var(--transition);
  }
  .splide__arrow--prev:hover::before, .splide__arrow--next:hover::before {
    transform: scale(1.2);
  }
  .p-model-thumb .thumb-media:hover {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  .p-model-thumb .thumb-media:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@media only screen and (min-width: 600px) {
  .sp {
    display: none !important;
  }
}
/* .l-header
-------------------------------------------------- */
/*.l-header {
  position: fixed;
}*/
.l-header__contact::after {
  border-left: revert;
}
/* .l-main
-------------------------------------------------- */
.p-section {
  padding-block-start: var(--spacing-64-112);
}
.-bg.p-section {
  padding-block-end: var(--spacing-64-112);
}
.l-main {
  padding-block: revert;
}
.p-section__desc {
  text-align: center;
  margin-block-start: var(--spacing-8-16);
}
.p-mv-section {
  position: relative;
  padding-block-start: revert;
  margin-inline: calc(50% - 50vw);
}
.p-mv-figure__hotspot {
    position: absolute;
    bottom: 0; 
    left: 0;
    width: 100%;
    height: clamp(5rem, 0.856rem + 17.68vw, 15rem); /* リンクの高さ（クリックできる範囲） */
    /*background: rgba(255, 0, 0, 0.3);  確認用：赤い透明色（本番では消す） */
    display: block;
    z-index: 10;
}
.p-head-block__title[data-text] {
  text-align: center;
  padding-block-start: var(--spacing-16-24);
}
.p-head-block__title[data-text]::after {
  inset: 0;
}
.p-head-block__title[data-text]:before {
  content: revert;
}
.p-about-section {
  padding-block-start: var(--spacing-32-40);
  margin-inline: calc(50% - 50vw);
}
.p-model-head__desc, .p-step-body__text, .p-note-block__item {
  font-weight: bold;
}
.p-step-body__text p + ul {
  margin-block-start: 8px;
}
.p-step-body__text p + ul + p {
  margin-block-start: 16px;
}
.p-step-body__text p > a {
  color: #536eb8;
  text-decoration: underline;
}
.-bg.p-model-section {
  background-color: #f2efe7;
}
.p-flow-section__list {
  border: solid 1px #ededed;
  border-radius: 16px;
  padding-block: var(--spacing-32-56);
  box-shadow: 8px 8px 24px rgba(0, 0, 0, 0.02);
  background-color: #FBFBFB;
}
.p-flow-block:not(:first-of-type) {
  padding-block-start: var(--spacing-24-40);
  margin-block-start: var(--spacing-32-40);
  border-block-start: solid 1px #ededed;
}
.p-flow-block:last-of-type {
  padding-block-end: var(--spacing-8-16);
}
.p-flow-block {
  padding-inline: var(--spacing-32-56);
}
.-grid.p-flow-block__item {
  display: grid;
  grid-template: "label body"/ auto 1fr;
  gap: clamp(24px, 0.671rem + 3.54vw, 56px);
}
.p-step-label {
  grid-area: label;
}
.p-step-body {
  grid-area: body;
}
.p-step-label[data-step-label] {
  color: #536eb8;
  font-size: clamp(1.75rem, 1.439rem + 1.33vw, 2.5rem);
  text-align: center;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  flex-basis: 14%;
  line-height: 1;
}
.p-step-label[data-step-label]::before {
  content: attr(data-step-label)"";
  color: #536eb8;
  font-size: var(--font-size-12-14);
  line-height: 1;
  font-weight: 400;
  display: block;
  margin-block-end: 2px;
}
.p-step-label[data-step-label]::after {
  content: "";
  width: 1px;
  background-color: #536eb8;
  height: calc(100% - 4px);
  margin-block-start: 8px;
  margin-inline: auto auto;
  display: block;
}
.p-flow-block:last-of-type .p-step-label[data-step-label]::after {
  width: 0;
}
.p-step-body__title {
  color: #536eb8;
  margin-block-start: clamp(10px, 0.47rem + 0.66vw, 16px);
}
.p-step-body__title + .p-step-body__text {
  margin-block-start: var(--spacing-16-24);
}
.p-step-body__text p + p {
  margin-block-start: 16px;
}
.p-step-body__sup {
  font-size: var(--font-size-12-14);
  margin-inline-start: .8em;
  text-indent: -.8em;
}
a.p-step-body__number {
  font-size: clamp(1.25rem, 0.939rem + 1.33vw, 2rem);
  line-height: 1;
  background: url("../../images/icon_phone_b.svg") no-repeat 0 50% / clamp(12px, 0.646rem + 0.44vw, 16px);
  color: currentcolor;
  display: inline-block;
  padding-block: 2px;
  padding-inline-start: clamp(16px, 0.896rem + 0.44vw, 20px);
}
.-bg.p-note-section {
  background-color: #f2f2f2;
  /*margin-block-start: var(--spacing-64-96);*/
}
li.p-note-block__item {
  margin-block-start: revert;
}
.p-note-block__item:not(:first-of-type) {
  margin-block-start: 16px;
}
/* .l-footer
-------------------------------------------------- */ :is(.-bg.l-footer) {
  padding-block-start: clamp(40px, 1.878rem + 2.65vw, 64px);
}
a.l-footer-nav__link {
  font-weight: bold;
}
a.p-reserve__link {
  padding-block: 8px;
  padding-inline-start: 36px;
  padding-inline-end: 16px;
}
a.p-reserve__link::before {
  left: 16px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a.p-reserve__link:hover::before {
  left: 18px;
}
.-fixed.p-reserve {
  bottom: clamp(56px, 3.086rem + 1.77vw, 72px);
  right: clamp(16px, 0.818rem + 0.91vw, 24px);
}
.-fixed a.p-reserve__link {
  border-radius: 8px;
  width: auto;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-mv-section, .p-about-section {
    /*max-width: 600px;*/
    padding-inline: revert;
    margin-inline: auto;
  }
  .p-model-outline {
    padding-block-start: var(--spacing-32-40);
    padding-inline-start: revert;
    padding-inline-end: calc(50vw - 50%);
  }
}
@media screen and (min-width: 960px) {
  .l-container {
    max-width: 960px;
    padding-inline: 24px;
    margin-inline: auto;
  }
  .-grid.p-model-block {
    display: grid;
    grid-template:
      "figure head"auto "figure head"1fr / auto auto;
    padding-block-end: revert;
    gap: 0 clamp(56px, 2rem + 2.5vw, 64px);
  }
  .p-model-head {
    padding-block: 56px;
    padding-inline-start: revert;
    text-align: revert;
  }
  .p-model-head__title[data-model-caption]:before {
    margin-inline: revert;
  }
  .p-model-button {
    margin-inline: revert;
  }
  .p-model-figure__image {
    object-fit: cover;
    width: auto;
    height: 100%;
  }
  .-grid.p-step-body {
    display: grid;
    grid-template-columns: 200px auto;
    gap: 40px;
  }
  .p-step-body__title, .p-step-body__title + .p-step-body__text {
    margin-block-start: clamp(10px, 0.47rem + 0.66vw, 16px);
  }
  .p-note-block__list {
    max-width: 640px;
    padding-inline: 24px;
    margin-inline: auto;
  }
  .-fixed.p-reserve {
    display: revert;
    position: fixed;
  }
}
@media screen and (min-width: 1280px) {
  /*.l-header {
    position: fixed;
    padding-block: revert;
    padding-inline-end: revert;
  }*/
  .l-header__inner, .l-footer__content, .l-footer__copy {
    max-width: 1280px;
    padding-inline: 24px;
    margin-inline: auto;
  }
  .l-header__logo {
    margin-inline-start: revert;
  }
  /*.-grid.p-model-block {
    display: grid;
    grid-template:
      "figure head"
      "figure head"/ 68% auto;
    box-shadow: revert;
    background-color: revert;
    padding-block-end: revert;
    gap: 0 0;
    align-items: center;
  }
  .p-model-head {
    padding: 56px;
    background-color: #fff;
    border-radius: 8px;
    margin-inline-start: -80px;
    z-index: 1;
  }
  .p-model-figure__image {
    border-radius: 8px;
  }*/
}
@media screen and (min-width: 1536px) {}