/**/@media screen and (max-width: 992px) {
  body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Osaka, sans-serif;
    font-size: 16px;
    line-height: 1.8;
  }
  html, body {
    overflow-x: hidden;
    overflow-y: scroll;
  }
	
}

/*
.global-nav {
    
    width: 10rem;
    height: 10rem;
	
}	*/

p, span {
  margin-bottom: 1.5rem;
  font-size: 18px;
  color: #333333;
  font-weight: 700;
  /* font-family: 'Zen Kaku Gothic New', "Roboto", Arial, serif; */
}
.text-box h4 {
  color: #ea3046;
  font-weight: 700;
  margin: 0 0 2rem 0;
  /* font-size: 2.4rem; */
  font-size: 2rem;
  line-height: 2rem;
  letter-spacing: 0.2rem;
}
.text-box h4 span {
  vertical-align: middle;
  font-weight: bold;
  background: #fef4f6;
  padding: 1rem 2rem;
  /* font-size: 1.4rem; */
  font-size: 1.8rem;
   /*border: 2px solid #f9c0c7;*/ 
  border-radius: 10px;
  margin: 0 1rem 2rem 0;
  display: inline-block;
  color: #333333;
}
#header1 {
  /* background-color: rgba(0, 0, 0, 0.4) !important; */
  /* height: 640px; */
  /* height: 700px; */
  height: 70vh;
}
@media screen and (max-width: 1024px) {
  #header1 {
    height: 640px;
  }
}
@media screen and (max-width: 768px) {
  header .fh5co-navbar-brand {
    width: 100%;
    margin: 0 auto;
  }
  header .fh5co-navbar-brand h1 img {
    width: 55%;
  }
  #header1 {
    height: 640px;
  }
}
@media screen and (max-width: 640px) {
  #header1 {
    height: 420px;
  }
}
@media screen and (max-width: 480px) {
  #header1 {
    height: 420px;
  }
}
@media screen and (max-width: 320px) {
  #header1 {
    height: 420px;
  }
}
.detail_04 {
  background: #ffffff;
  width: 50%;
  padding: 3rem 4.5rem;
  border: solid #c80a14;
  border-radius: 10px;
  margin: 50px auto;
}
.detail_04 img {
  max-width: 100%;
}
.detail_04 a {
  background: #c80a14;
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 3.6rem;
  font-size: 1.5rem;
  min-width: 22rem;
  text-align: center;
  color: #fff;
  display: table;
  margin: auto;
  padding: 1rem 2rem;
  border-radius: 5px;
}
section a.btn-link {
 display: block;width: 320px;
  margin: 0 auto;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  background: #c80a14;
  color: #fff;
  text-align: center;
  padding: 1.5rem 4rem;
	border-radius: 5px;
}

section a.btn-link:hover{background: #c80a14;
	text-decoration: none;
	opacity: 0.7;color: #fff;
	filter: alpha(opacity=70);
}



.baner .ba_detail_pc {
    top: 50% !important;
}

@media screen and (max-width: 768px) {
	
section a.btn-link {
 width: 80%;
}	
	.text-box h3 span {
    margin-bottom: 1rem;
    display: inline-block;
}
  p, span {
    font-size: 1.4rem;
    color: #333333;
    letter-spacing: 0.2rem;
    margin-bottom: 1rem;
  }
  .text-box h4 span {
    /* padding: 0.5rem 2rem; */
    padding: 0.5rem 1rem;
    /* font-size: 1.3rem; */
    font-size: 1.2rem;
    margin: 0 1rem 0.2rem 0;
    line-height: 2.5rem;
    letter-spacing: normal;
  }
  .detail_04 {
    background: #ffffff;
    width: 90%;
    padding: 3rem 4.5rem;
    border: solid #c80a14 2px;
    border-radius: 10px;
    margin: 50px auto;
  }
  .text-box h4 {
    font-size: 2.2rem;
    line-height: 4rem;
    /* letter-spacing: 0.2rem; */
    letter-spacing: normal;
    margin: 0 0 1rem 0;
  }
  h3, .h3 {
    line-height: 3rem;margin-bottom: 1rem;
  }
  .baner {
    padding: 2%;
    background: #5c9ead;
    width: 100%;
    right: 0;
    top: unset;
    bottom: -100px;
  }
  .baner .ba {
    width: 100%;
    margin: 0;
    display: inline-block;
  }
  .baner a .pop img {
    width: 45%;
  }
  .baner a .pop {
    width: 90%;
    top: 0;
    left: 45%;
    transform: translate(-50%, -80%);
  }
	
    .detail_01 {
        padding: 2rem 0 4rem 0;
    }

	    .baner .ba_detail {
        width: 100% !important;
        margin: 0;
        display: inline-block;
    }
	
	
}

.detail_link {
	position: relative;
	z-index: -1;
	background: #fff;
	padding: 7rem 0;
}

@media screen and (max-width: 768px) {
	.detail_link {
		padding: 3rem 0;
	}
}

.detail_link .link_box {
     width: auto; 
   
    display: block;
    text-align: center;
}



.detail_link p {
	font-size: 1.6rem;
	width: 50%;
	margin: 0 auto 7rem auto;
	display: block;
}

@media screen and (max-width: 768px) {
	.detail_link p {
		margin: 0 auto 5rem auto;
		font-size: 1.5rem;
		width: 90%;
	}
}

.detail_link .link_box {
	width: 59rem;
	margin: 8rem auto 2rem auto;
	display: block;
}

@media screen and (max-width: 768px) {
	.detail_link .link_box {
		width: 100%;
		margin: 5rem auto 2rem auto;
		display: block;
	}
}

.detail_link a {
	color: #fff;
	text-align: center;
	margin: 0 4rem;
	padding: 1rem 4rem;
}

@media screen and (max-width: 768px) {
	.detail_link a {
		margin: 0 4%;
		padding: 1rem 5%;
	}

	.detail_link #mapwarp {
		width: 100% !important;
	}
}

.detail_link .back {
	background: #93919b;
}

.detail_link .next {
	background: #5c9ead;
}

.detail_link .next i {
	margin: 0 0 0 2rem;
}


/* 241008 赤タグ追加 */
.bukkenn-img {
  position: relative;
}

.bukkenn-img .article-label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #c80a14;
  padding: 0.25rem 1rem;
  display: inline-block;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  margin: 1rem;
}


/* 250110 サムネイルswiperへ変更、HPとレイアウト合わせ */
.bukkenn-list .target .sales-status {
  right: -1.5rem;
  left: auto;
}
/* .bukkenn-list .box_01 .sales-status {
  right: -1.5rem;
} */
.sales-status-text {
  text-align: center;
}
.swiper-wrapper-main {
  margin-bottom: 1vw;
}

.swiper-pagination-bullet-active {
  background: #c80a14;
}

.swiper-main__prev,
.swiper-main__next {
  color: #000;
  top: 50%;
  transform: translateY(-50%);
}

.swiper-main__prev::after,
.swiper-main__next::after {
  content: "";
  width: 2rem;
  height: 2rem;
  border-top: 2px solid #000;
}

.swiper-main__prev::after {
  border-left: 2px solid #000;
  transform: rotate(-45deg);
}

.swiper-main__next::after {
  border-right: 2px solid #000;
  transform: rotate(45deg);
}
.swiper-main__pagination {
  position: relative;
  bottom: 0vw!important;

  span {
    margin: 0 1.5rem!important;
  }
}

@media screen and (max-width: 768px) {
  .bukkenn-list .bukkenn-img  {
    width: 90%;
  }
  .bukkenn-list .box_01 .bukkenn-img {
    float: none;
  }
  .bukkenn-list .box_02 .bukkenn-img {
    float: none;
  }
  .bukkenn-img .article-label {
    font-size: 1.1rem;
  }
  .sales-status-text {
    width: 7rem;
    height: 7rem;
    font-size: 1.3rem;
  }
  .swiper-main__pagination {
    span {
      margin: 0 3.5vw!important;
    }
  }
}

/* 250114 mvのデザイン変更 */
header {
  width: 100%;
  padding: 0px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  /* padding: 0 8vw; */
  padding: 0 4vw;
  position: relative;
}
#hero {
  width: fit-content;
  margin: 0px;
}
.hero__pc {
  margin: 0;
  img {
    width: 35vw;
  }
}
.hero__sp {
  img {
    width: 100%;
  }
}
.fv_banner {
  position: absolute;
  top: 2vw;
  /* right: 6vw; */
  left: 80vw;
}

@media screen and (max-width: 1200px) {
  .hero__pc {
    img {
      width: 40vw;
    }
  }
  .fv_banner {
    left: 75vw;
  }
}

@media screen and (max-width: 900px) {
  .fv_banner {
    left: 65vw;
  }
}

@media screen and (max-width: 768px) {
  header {
    flex-direction: column;
    justify-content: space-between;
    padding: 0px;
    padding-bottom: 2vw;
  }
  #hero {
    width: 100%;
  }
  h1 {
    width: 100%;
  }
  .fv_banner__box {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 1vw 0 3vw;
    
  }
  .fv_banner {
    position: static;
  }
  .header_note {
    padding: 3.5vw 4vw;
  }
  .header_note__txt {
    font-size: 1.7vw;
    letter-spacing: normal;
  }
}




/* 20250207flexへ修正 とフィルタリング機能追加 */
.animate-house-box {
  opacity: 0;
}

.modelhouse-areas {
  margin-bottom: 5rem;
}

.modelhouse-areas_title {
  color: #c80a14;
  font-weight: 700;
  font-size: 2.3rem;
  text-align: center;
}

input[type="radio"] {
  display: none;
}
.modelhouse-areas__filters {
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  li {
    list-style-type: none;
  }
  label {
    margin: 0;
    padding: .2rem 2.5rem;
    color: #c80a14;
    font-size: 1.8rem;
    background: #fff;
    border-radius: 10rem;
    border: 1px solid #c80a14;
    cursor: pointer;
    transition: all 0.2s;
  }
}
.modelhouse-areas__filters label:hover {
  color: #fff;
  background: #c80a14;
}
/* [value="all"]:checked ~ .filters [for="all"], 
[value="sapporo"]:checked ~ .filters [for="sapporo"], 
[value="kitaku"]:checked ~ .filters [for="kitaku"], 
[value="toyohiraku"]:checked ~ .filters [for="toyohiraku"], 
[value="higashiku"]:checked ~ .filters [for="higashiku"], 
[value="atsubetsuku"]:checked ~ .filters [for="atsubetsuku"], 
[value="tomakomai"]:checked ~ .filters [for="tomakomai"] {
  background: #c80a14;
  color: #fff;
}
[value="all"]:checked ~ .targets [data-category] {
  display: block;
} */
/* [value="sapporo"]:checked ~ .targets .target:not([data-category~="sapporo"]), 
[value="kitaku"]:checked ~ .targets .target:not([data-category~="kitaku"]), 
[value="toyohiraku"]:checked ~ .targets .target:not([data-category~="toyohiraku"]), 
[value="higashiku"]:checked ~ .targets .target:not([data-category~="higashiku"]), 
[value="atsubetsuku"]:checked ~ .targets .target:not([data-category~="atsubetsuku"]),
[value="tomakomai"]:checked ~ .targets .target:not([data-category~="tomakomai"]) {
  display: none;
} */

.bukkenn-list {
  margin: 0 3.5%;
}
.bukken {
  display: flex;
  justify-content: flex-start;
  gap: 4%;
}
.bukkenn-list .target.odd .bukken {
  flex-direction: row; /* 偶数時 */
}
.bukkenn-list .target.even .bukken {
  flex-direction: row-reverse; /* 奇数時 */
}
.bukkenn-list div:nth-of-type(odd) {
  .bukken {
    flex-direction: row-reverse;
  }
}
.bukkenn-list div:nth-of-type(even) {
  .bukken {
    flex-direction: row;
  }
}
.bukkenn-list .bukkenn-img {
  margin: 0;
}
.text-box {
  width: 40%;
  margin: 0;
}
.text-box a {
  display: block;
  width: fit-content;
  margin: 0 auto;
  line-height: 0;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .modelhouse-areas_title {
    font-size: 1.5rem;
  }
  .modelhouse-areas {
    margin-bottom: 0;
  }
  .modelhouse-areas__filters {
    gap: .5rem;
    label  {
      padding: .1rem 1.5rem;
      font-size: .9rem;
    }
  }
  .bukkenn-list {
    margin: 0;
  }
  .bukkenn-list .target.odd .bukken,
  .bukkenn-list .target.even .bukken {
    flex-direction: column;
  }
  .bukkenn-list .bukkenn-img {
    margin: 0 auto;
  }
  .text-box {
    width: 90%;
    margin: 0 auto;
  }
}


/* 20250218 HPレイアウト合わせ */
.bukkenn-list {
  margin: 0 15%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5%;
}
.bukkenn-item {
  width: calc(50% - 5%);
  margin-bottom: 5rem;
}
.bukken {
  display: block;
}
.bukken-ttl {
  /* font-size: 2.8rem; */
  font-size: 2.3rem;
  font-weight: bold;
  text-align: center;
  span {
    vertical-align: middle;
    font-weight: bold;
    background: #efd670;
    padding: 0.5rem 2rem;
    /* font-size: 1.2rem; */
    font-size: 1.5rem;
    margin: 0 1rem 0 0;
  }
}
.bukkenn-list .bukkenn-img {
  width: auto;
  margin-bottom: 2rem;
}
.text-box {
  width: 100%;
}
.text-box .text_02 {
  /* padding-bottom: 2rem; */
  margin-bottom: 2rem;
  position: relative;
  font-size: 1.4rem;
  /* overflow: hidden; */
  height: 7.2em;/* 2em（行）x line-heightの1.8 */
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
/* .text-box .text_02::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  bottom: 0;
} */
.text-box .text_01 {
  margin-bottom: 3rem;
  font-size: 1.5rem;
}

.openhouse,
.maparea {
  margin: 0 3.5%;
}
@media screen and (max-width: 768px) {
  .bukkenn-list  {
    display: block;
    margin: 0;
  }
  .bukkenn-item {
    width: 90%;
    margin: 0 auto 6rem;
  }
  .bukken-ttl {
    /* text-align: left; */
    font-size: 2.2rem;
    span {
      padding: 0.5rem 1rem;
      font-size: 1rem;
    }
  }
  .text-box .text_02 {
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: normal;
    height: auto;
    overflow: auto;
    display: block;
    -webkit-box-orient: horizontal;
    -webkit-line-clamp: none;
  }
  .text-box .text_01 {
    font-size: 1.4rem;
    font-weight: 400;
  }
  .text-box a {
    font-size: 1.5rem;
  }
  .openhouse,
  .maparea {
    margin: 0;
  }
}



/* 特別価格の吹き出しレイアウト */
#fh5co-photos-section .bukken {
  padding-top: 60px;
}
.bukken-ttl {
  position: relative;
}

.bukken-ttl .balloon {
  display: inline-block;
  border: none;
  padding: 0.8rem 0rem;
  line-height: 1.2;
  /* font-size: 2.3rem; */
  font-size: calc((23 / 1920) * 100vw);
  margin-bottom: 1.2rem;
  margin-right: 0;
  background-color: #f05717;
  color: #fff;
  border-radius: 4px;
  transform: translateX(-50%);
  position: absolute;
  top: -6rem;
  left: 50%;
  width: 65%;
}

.bukken-ttl .balloon::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: 1rem solid transparent;
  border-top-color: #f05717;
  position: absolute;
  left: calc(50% - 1rem);
  bottom: -1.8rem;
}

@media screen and (max-width: 768px)  {
  #fh5co-photos-section .bukken {
  padding-top: 40px;
  }
  .bukken-ttl .balloon {
    width: 75%;
    padding: 0.6rem 0;
    /* font-size: 1.5rem; */
    font-size: calc((28 / 768) * 100vw);
    top: -4rem;
  }
}

/* 特別価格の吹き出しレイアウト（詳細） */
.detail_01 .detail_title .balloon {
  display: inline-block;
  border: none;
  padding: 0.8rem 2rem;
  line-height: 1.2;
  font-size: calc((24 / 1920) * 100vw);
  margin-bottom: 3rem;
  margin-right: 0;
  background-color: #f05717;
  color: #fff;
  border-radius: 4px;
  position: relative;
}
.detail_title .balloon::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: 1rem solid transparent;
  border-top-color: #f05717;
  position: absolute;
  left: calc(50% - 1rem);
  bottom: -1.8rem;
}
@media screen and (max-width: 768px) {
  .detail_01 .detail_title .balloon {
    font-size: calc((34 / 768) * 100vw);
  }
}

/* 同時見学バナーレイアウト */
.visit-banner {
  padding: 4rem 0;
}
.visit-banner__txt {
  font-size: 4rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  small {
    font-size: 55%;
  }
}
.visit-banner__top {
  width: 60rem;
  max-width: 100%;
  margin: 0 auto 4rem;
}
.visit-banner__top__img {
  display: block;
  width: 100%;
  height: auto;
}
.visit-banner__flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}
.visit-banner__btn {
  width: 35rem;
  max-width: 100%;
}
.visit-banner__btn__link {
  display: block;
  transition: .5s;
}
.visit-banner__btn__img {
  display: block;
  width: 100%;
  height: auto;
}
.visit-banner__btn__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .visit-banner {
    width: 90%;
    margin: 0 auto;
  }
  .visit-banner__txt {
    font-size: 2rem;
  }
  .visit-banner__top {
    margin-bottom: 2rem;
  }
  .visit-banner__flex  {
    flex-direction: column;
    gap: 1rem;
  }
  .visit-banner__btn {
    width: 100%;
  }
}

/* 北海道クラシアムbanner */
.event-banner.-classium {
  padding-top: 0;
  margin-bottom: 5rem;
}
.classium-banner__txt {
  margin-bottom: 2rem;
  font-size: 4.3rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: normal;
  font-weight: 700;
  line-height: 1.3;
  small {
    font-size: 55%;
  }
  @media screen and (max-width: 768px) {
    font-size: 2.3rem;
  }
}
.classium-banner__box {
  margin-bottom: 6rem;
  @media screen and (max-width: 768px) {
    margin-bottom: 4rem;
  }
}
.classium-banner__img {
  display: block;
  width: 100%;
  height: auto;
}
.classium-banner__btn {
  width: fit-content;
  margin: auto;
}
.classium-banner__link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 1rem 5rem;
  background: #5c9ead;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.2rem;
  @media screen and (max-width: 768px) {
    font-size: 1.5rem;
  }
}
.classium-banner__link::after {
  display: block;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
}
.classium-banner__link:hover {
  opacity: .7;
  color: #fff;
  text-decoration: none;
}
.classium-banner__link:focus {
  text-decoration: none;
    color: #fff;
}