@charset "UTF-8";
body, *, :before, :after {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.el_hover_border {
  display: inline-block;
  position: relative;
  padding-bottom: 0.1875rem;
}
.el_hover_border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}
.el_hover_border:hover {
  cursor: pointer;
}
.el_hover_border:hover::after {
  transform: scaleX(1);
}

.el_btn_hover_area {
  text-decoration: none;
}
.el_btn_hover_area a {
  background-color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .el_btn_hover_area:hover:hover .el_hover_border::after {
    transform: scaleX(1);
  }
  .el_btn_hover_area:hover:hover .el_hover_image {
    opacity: 0.7;
  }
}

@media (min-width: 831px) {
  .hp_pcNone {
    display: none !important;
  }
  .hp_pc_flexNone {
    display: block !important;
  }
  .bl_Breadcrumb {
    position: absolute;
    z-index: 1;
    top: 1.875rem;
    left: 5rem;
    color: #030303;
  }
  .bl_Breadcrumb .current-item {
    color: #fff;
  }
  .el_sectionLink_btn a {
    display: block;
    color: #fff;
    background-color: #030303;
    text-align: center;
    text-decoration: none;
    position: relative;
    font-size: 1rem;
    font-weight: bold;
    padding: 1.375rem 0;
    width: 16.875rem;
    margin: 0 auto;
    border: solid 1px;
    border-radius: 2.5rem;
  }
  .el_sectionLink_btn a:visited {
    color: #fff;
  }
  .el_sectionLink_btn a::after {
    content: "→";
    font-weight: bold;
    position: absolute;
    top: 35%;
    right: 1.25rem;
  }
  /* ===== Splide arrows（左右配置・ラベル上） ===== */
  /* 共通矢印ボタン */
  /* 左右配置 */
  /* 丸背景＋矢印 */
  /* 英語ラベル（矢印の上に） */
}
@media (min-width: 831px) and (hover: hover) and (pointer: fine) {
  .el_sectionLink_btn a:hover:hover {
    color: #030303;
    background-color: #FFCC1E;
    border-color: #FFCC1E;
  }
}
@media (min-width: 831px) {
  .bl_model_house_wrapper {
    max-width: 60rem;
    margin: 0 auto;
  }
  .bl_model_house_top {
    padding: 6.25rem 0 1.875rem;
    margin-bottom: 3.125rem;
    border-bottom: 4px solid #030303;
  }
  .bl_model_house_location {
    font-size: 1.25rem;
    margin-bottom: 0.9375rem;
    font-weight: bold;
  }
  .bl_model_house_name {
    font-size: 2.8125rem;
    color: #030303;
    font-weight: bold;
  }
  .bl_model_house_time {
    margin-bottom: 1.875rem;
  }
  .bl_model_house_label {
    background: #030303;
    padding: 3px 17px;
    color: #fff;
    margin-right: 0.9375rem;
  }
  .bl_model_house_tagline {
    position: absolute;
    right: 8.125rem;
    top: 9.375rem;
    z-index: 99;
    writing-mode: vertical-rl;
    color: #030303;
    margin-left: 0.625rem;
  }
  .bl_model_house_tagline .el_tagline__part {
    display: inline-block;
    background: #fff;
    font-size: clamp(32px, 4vw, 65px);
    padding: clamp(4px, 0.6vw, 7px);
    margin-right: clamp(8px, 1vw, 15px);
    font-weight: 800;
    width: fit-content;
    max-width: 100%;
  }
  .bl_model_house_mainContents p {
    line-height: 1.5;
    margin-bottom: 1.875rem;
  }
  .bl_model_house_mainContents .wp-block-heading {
    color: #030303;
    font-weight: 900;
    font-size: clamp(20px, 3.4vw, 36px);
    margin-bottom: clamp(24px, 3.6vw, 40px);
  }
  .bl_model_house_mainContents .wp-block-heading span.el_point {
    font-size: clamp(36px, 5.6vw, 64px);
    font-weight: 700;
  }
  .bl_model_house_mainContents .bl_model_house_access,
  .bl_model_house_mainContents .bl_model_house_reservation {
    font-size: clamp(36px, 5.6vw, 64px);
    color: #030303;
    margin: 3.75rem 0 1.875rem;
    font-weight: 700;
  }
  .bl_model_house_mainContents .bl_model_house_access .el_wp_border,
  .bl_model_house_mainContents .bl_model_house_reservation .el_wp_border {
    font-weight: bold;
    padding-bottom: 2.5rem;
    border-bottom: 4px solid #030303;
  }
  .bl_model_house_mainContents .bl_model_house_access span,
  .bl_model_house_mainContents .bl_model_house_reservation span {
    font-size: clamp(14px, 1.3vw, 20px);
    font-weight: bold;
    margin-left: clamp(25px, 3.3vw, 40px);
    font-family: "Noto Sans JP", sans-serif;
  }
  .bl_model_house_mainContents .bl_model_house_reservation_txt {
    line-height: 2;
  }
  .bl_model_house_mainContents .wp-block-image {
    margin-bottom: 1.875rem;
  }
  .bl_fv_model_house {
    position: relative;
  }
  .wp-block-gallery {
    margin-bottom: 1.875rem;
  }
  .bl_fv_model_house_slide {
    position: relative;
    padding: 0 clamp(20px, 4vw, 50px);
    overflow: visible !important;
  }
  .splide__arrows {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 50;
  }
  .splide__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column-reverse; /* ← 矢印の上にテキストが来る */
    align-items: center;
    justify-content: center;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    pointer-events: auto;
  }
  .splide__arrow--prev {
    left: clamp(8px, 0.7vw, 10px);
  }
  .splide__arrow--next {
    right: clamp(8px, 2vw, 10px);
  }
  .splide__arrow::before {
    content: attr(data-arrow);
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(20px, 3vw, 30px);
    height: clamp(20px, 3vw, 30px);
    border-radius: 50%;
    background-color: #000;
    color: #fff;
    font-size: clamp(16px, 2vw, 20px);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .splide__arrow:hover::before {
    transform: scale(1.05);
    opacity: 0.85;
  }
  .splide__arrow::after {
    content: attr(data-label);
    font-size: clamp(10px, 1vw, 12px);
    font-weight: bold;
    color: #000;
    margin-bottom: clamp(6px, 1vw, 8px);
    line-height: 1;
    writing-mode: vertical-rl;
  }
  .bl_fv_model_house_thumbs .thumbs-list {
    display: flex;
    justify-content: center;
    gap: 0.625rem;
    margin-top: 0.75rem;
  }
  .bl_fv_model_house_thumbs .thumb {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    opacity: 0.45;
    transition: opacity 0.2s;
  }
  .bl_fv_model_house_thumbs .thumb.is-active {
    opacity: 1;
  }
  .bl_fv_model_house_thumbs img {
    display: block;
    width: 14.375rem;
    height: 9.375rem;
    object-fit: cover;
  }
}
@media (max-width: 830px) {
  .hp_spNone {
    display: none !important;
  }
  .bl_Breadcrumb {
    font-size: 2.4096385542vw;
    padding: 0 0 0 2.4096385542vw;
    display: flex;
    margin: 0 0 1.8072289157vw 0;
  }
  .bl_Breadcrumb .current-item {
    color: #808080;
  }
  .el_sectionLink_btn a {
    display: block;
    color: #fff;
    background-color: #030303;
    text-align: center;
    text-decoration: none;
    position: relative;
    font-size: 1.9277108434vw;
    font-weight: bold;
    padding: 2.6506024096vw 0;
    width: 32.5301204819vw;
    margin: 0 auto;
    border: solid 1px;
    border-radius: 4.8192771084vw;
  }
  .el_sectionLink_btn a:visited {
    color: #fff;
  }
  .el_sectionLink_btn a::after {
    content: "→";
    font-weight: bold;
    position: absolute;
    top: 35%;
    right: 2.4096385542vw;
  }
}
@media (max-width: 830px) and (hover: hover) and (pointer: fine) {
  .el_sectionLink_btn a:hover:hover {
    color: #030303;
    background-color: #FFCC1E;
    border-color: #FFCC1E;
  }
}
@media (max-width: 830px) {
  .splide__arrows {
    display: none;
  }
  .bl_model_house_wrapper {
    max-width: 90.3614457831vw;
    margin: 0 auto;
  }
  .bl_model_house_top {
    display: block;
    padding: 7.2289156627vw 0 3.6144578313vw;
    margin-bottom: 6.0240963855vw;
    border-bottom: 4px solid #030303;
  }
  .bl_model_house_location {
    font-size: 3.0120481928vw;
    margin-bottom: 3.6144578313vw;
  }
  .bl_model_house_name {
    font-size: 5.421686747vw;
    color: #030303;
    font-weight: bold;
    margin: 0 0 4.8192771084vw 3.6144578313vw;
  }
  .bl_model_house_time {
    margin-bottom: 3.0120481928vw;
    font-size: 3.6144578313vw;
  }
  .bl_model_house_address {
    font-size: 3.6144578313vw;
  }
  .bl_model_house_label {
    background: #030303;
    padding: 3px 17px;
    color: #fff;
    margin-right: 1.8072289157vw;
  }
  .bl_model_house_tagline {
    position: absolute;
    right: 3.6144578313vw;
    top: 6.0240963855vw;
    z-index: 99;
    writing-mode: vertical-rl;
    color: #030303;
    margin-left: 1.2048192771vw;
  }
  .bl_model_house_tagline .el_tagline__part {
    display: inline-block;
    background: #fff;
    font-size: 5.421686747vw;
    font-weight: 800;
    padding: 0.843373494vw;
    margin-right: 1.8072289157vw;
    width: fit-content;
    max-width: 100%;
  }
  .bl_model_house_mainContents p {
    line-height: 1.7;
    margin-bottom: 3.6144578313vw;
    font-size: 3.8554216867vw;
  }
  .bl_model_house_mainContents p .el_color_green {
    color: #0ABA9E;
    text-decoration: underline;
    margin-left: 2.4096385542vw;
  }
  .bl_model_house_mainContents .wp-block-heading {
    font-size: 5.6626506024vw;
    color: #030303;
    margin: 7.2289156627vw 0 3.6144578313vw;
    font-weight: bold;
  }
  .bl_model_house_mainContents .wp-block-heading .el_wp_border {
    font-size: 5.6626506024vw;
    font-weight: bold;
    padding-bottom: 3.6144578313vw;
    border-bottom: 4px solid #030303;
  }
  .bl_model_house_mainContents .wp-block-heading span.el_point {
    font-size: 6.7469879518vw;
    font-weight: 700;
  }
  .bl_model_house_mainContents .wp-block-image {
    margin-bottom: 3.6144578313vw;
  }
  .bl_model_house_reservatrionContents {
    background: #00355d;
    padding: 8.4337349398vw 0;
    margin-top: 18.0722891566vw;
  }
  .bl_model_house_reservatrionTtl {
    font-size: 4.8192771084vw;
    text-align: center;
    color: #fff;
    margin-bottom: 3.6144578313vw;
  }
  .bl_model_house_reservatrionTxt {
    max-width: 80.7228915663vw;
    color: #fff;
    text-align: center;
    font-size: 3.3734939759vw;
    margin: 0 auto 6.0240963855vw;
  }
  .bl_model_house_reservatrionTxt span {
    font-size: 3.3734939759vw;
    color: #ffe600;
  }
  .bl_model_house_studioList {
    max-width: 90.3614457831vw;
    margin: 0 auto 3.6144578313vw;
    text-align: center;
    display: block;
  }
  .bl_model_house_studioList li {
    width: 100%;
    text-align: left;
    display: inline-block;
    padding: 3.6144578313vw;
    background: #fff;
    line-height: 1.7;
    font-weight: bold;
    margin-bottom: 1.8072289157vw;
  }
  .bl_model_house_studioList li .bl_model_house_studioName {
    display: inline-block;
    width: 33.734939759vw;
    font-size: 3.3734939759vw;
    font-weight: bold;
  }
  .bl_model_house_studioList li .el_model_house_tel {
    margin-left: 1.2048192771vw;
    font-size: 6.0240963855vw;
    font-weight: bold;
    color: #0076CC;
  }
  .bl_model_house_businessHours {
    text-align: center;
    color: #fff;
    line-height: 1.7;
    font-size: 3.3734939759vw;
  }
  .splide__arrow.splide__arrow--next,
  .splide__arrow.splide__arrow--prev {
    position: absolute;
    top: 50%;
    z-index: 99;
  }
  .splide__arrow.splide__arrow--prev {
    left: 0;
    transform: rotate(180deg);
  }
  .splide__arrow.splide__arrow--next {
    right: 0;
  }
  .bl_fv_model_house_thumbs .thumbs-list {
    display: flex;
    justify-content: center;
    gap: 1.2048192771vw;
    margin-top: 2.4096385542vw;
  }
  .bl_fv_model_house_thumbs .thumb {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    opacity: 0.45;
    transition: opacity 0.2s;
  }
  .bl_fv_model_house_thumbs .thumb.is-active {
    opacity: 1;
  }
  .bl_fv_model_house_thumbs img {
    display: block;
    width: 15.6626506024vw;
    height: 12.0481927711vw;
    object-fit: cover;
  }
  .bl_google_map {
    height: 54.2168674699vw;
    margin-bottom: 9.6385542169vw;
  }
  .bl_model_house_access,
  .bl_model_house_reservation {
    font-size: 8.6746987952vw;
    font-weight: 700;
    color: #030303;
    margin-bottom: 6.0240963855vw;
  }
  .bl_model_house_access span,
  .bl_model_house_reservation span {
    font-size: 3.8554216867vw;
    font-weight: 700;
    margin-left: 4.8192771084vw;
  }
  .bl_model_house_access {
    margin-top: 9.6385542169vw;
  }
  .bl_model_house_mainContents .bl_model_house_reservation_txt {
    font-size: 3.8554216867vw;
  }
  .wp-block-gallery {
    margin-bottom: 7.2289156627vw;
  }
}
