@charset "utf-8";

/* ビルドエフの家づくりについて */
.concept-area {
  padding: 100px 0 110px;
  position: relative;
  overflow: hidden;
}
.concept-area::before {
  content: "";
  width: 56.25%;
  background: var(--beige04);
  height: 775px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.concept-area .copy {
  padding: 60px 0 20px;
  font-family: var(--basefont-jp);
  font-size: 4.0rem;
  font-weight: 400;
  color: var(--gold02);
  line-height: 1.5;
  font-feature-settings: "palt";
}
.concept-area .txt {
  padding: 0 0 30px;
  font-feature-settings: "palt";
}
.concept-features-area .title {
  display: flex;
  align-items: center;
  position: relative;
}
.concept-features-area .title .en {
  font-size: 2.0rem;
  color: var(--gold03);
  line-height: 40px;
}
.concept-features-area .title .en .en-t {
  font-family: var(--basefont-en);
  display: inline-block;
  border: var(--gold03) solid 1px;
  border-bottom: #fff solid 1px;
  padding: 0 15px;
  height: 40px;
}
.concept-features-area .title .en .no-t {
  height: 40px;
  display: inline-block;
  font-family: var(--basefont-jp);
  border-bottom: var(--gold03) solid 1px;
  padding: 0 15px;
}
.concept-features-area .title h3::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 1px;
  right: 0;
  background: var(--gold03);
  z-index: -1;
}
.concept-features-area .title h3 {
  font-family: var(--basefont-jp);
  font-size: 2.4rem;
  font-weight: 400;
  color: #fff;
  line-height: 40px;
}
.concept-features-area .title h3 span {
  background: var(--gold03);
  display: inline-block;
  padding: 0 15px;
  height: 40px;
}
.concept-features-area .features-01 .flex,.features-02 .flex, .features-03 .flex, .features-04 .flex, .features-05 .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 70px 50px;
  padding: 40px 0 0;
}
.concept-features-area .features-01 .copy, .features-02 .copy,.features-03 .copy {
  padding: 0 0 20px 0;
}
.concept-features-area .features-03 .image, .features-04 .image {
  padding: 0 0 0 40px;
}
.concept-features-area .copy {
  font-size: 3.6rem;
  font-weight: 400;
  font-family: var(--basefont-jp);
  color: var(--gold02);
  line-height: 1.38;
}
@media screen and (max-width: 768px){
      .concept-area {
    padding: 50px 20px 35px;
  }
      .concept-area::before {
    width: 70%;
    height: 90%;
  }
  .concept-area .copy {
    padding: 30px 0 10px;
    font-size: 2.6rem;
  }
  .concept-area .txt {
    padding: 0 0 15px;
    font-feature-settings: "palt";
  }
.concept-features-area {
    padding: 0 20px;
  }
  .concept-features-area .features-02, .concept-features-area .features-03, .concept-features-area .features-04, .concept-features-area .features-05 {
    padding: 50px 0 0;
  }
  .concept-features-area .title {
    display: block;
  }
   .concept-features-area .title .en {
    font-size: 1.8rem;
    line-height: 30px;
    margin: 0 0 5px;
  }
  .concept-features-area .title .en .en-t {
    padding: 0 10px;
    height: 30px;
  }
  .concept-features-area .title .en .no-t {
    height: 30px;
    padding: 0 10px;
  }
  .concept-features-area .title h3 span {
    display: inline;
    padding: 0;
    height: auto;
  }
   .concept-features-area .features-01 .flex, .features-02 .flex, .features-03 .flex, .features-04 .flex, .features-05 .flex {
    display: block;
    padding: 20px 0 0;
  }
  .concept-features-area .features-03 .image, .features-04 .image {
    padding: 0 0 20px;
  }
  .concept-features-area .features-01 .image img, .features-03 .image img, .features-04 .image img {
    width: 100%;
  }
  .concept-features-area .features-02 .copy, .features-03 .copy, .features-04 .copy, .features-05 .copy {
    padding: 0 0 5px;
  }
.concept-features-area .copy {
    font-size: 2.6rem;
    line-height: 1.5;
    font-feature-settings: "palt";
  }
    .concept-features-area .title h3 {
    font-size: 2.0rem;
    padding: 5px 10px;
    line-height: 1.4;
    background: var(--gold03);
  }
  img {
    height: auto;
    margin: 0 auto;
  }
  .concept-features-area .features-01 .image, .features-02 .image, .features-03 .image, .features-04 .image {
  padding: 0 0 20px;
}
.concept-features-area .features-02 .copy, .features-03 .copy, .features-04 .copy, .features-05 .copy {
    padding: 0 0 5px;
  }
}

/* 無添加素材 */
/* ビルドエフの家づくりについて */
.mutenka-area {
  padding: 100px 0 0;
  position: relative;
  overflow: hidden;
}
.mutenka-area::before {
  content: "";
  width: 56.25%;
  background: var(--beige04);
  height: 775px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.mutenka-area .copy {
  padding: 60px 0 20px;
  font-family: var(--basefont-jp);
  font-size: 4.0rem;
  font-weight: 400;
  color: var(--gold02);
  line-height: 1.5;
  font-feature-settings: "palt";
}
.mutenka-area .txt {
  padding: 0 0 30px;
  font-feature-settings: "palt";
}
/* .mutenka-area::before {
  content: "";
  width: 56.25%;
  background: var(--beige04);
  height: 775px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
} */
 .mutenka-area::before {
  content: "";
  width: 56.25%;
  background: var(--beige04);
  height: 700px;
  position: absolute;
  right: 0;
  top: 60px;
  z-index: -1;
}
.mutenka-box {
  padding: 100px 0;
}
.mutenka-box .mutenka-flex.row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 50px;
}
.mutenka-box .mutenka-flex.row.normal {
  flex-direction: row;
}
.mutenka-box .mutenka-flex .box {
  padding: 0;
}
.mutenka-box .mutenka-flex .box .copy {
  font-family: var(--basefont-jp);
  color: var(--gold02);
  font-size: 4.0rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 0 0 20px;
}
.closing-area {
  padding: 80px 0 0;
}
.closing-area .mv-area {
  padding: 0 0 90px;
}
.closing-area .mv-area .pc-display.image {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.closing-area .mv-area .image .img-01::before {
  left: -30px;
  top: 30px;
}
.closing-area .mv-area .image .img-01::before, .closing-area .mv-area .image .img-02::before {
  display: block;
  content: "";
  position: absolute;
  width: 580px;
  height: 400px;
  background: #F7F6F4;
  z-index: -1;
}
.closing-area .mv-area .image .img-02::before {
  right: -30px;
  top: -30px;
}
.closing-area .mv-area .image .img-01::before, .closing-area .mv-area .image .img-02::before {
  display: block;
  content: "";
  position: absolute;
  width: 580px;
  height: 400px;
  background: #F7F6F4;
  z-index: -1;
}
.closing-area .mv-area .copy {
  font-size: 2.6rem;
  font-weight: 400;
  font-family: var(--basefont-jp);
  line-height: 1.5;
  padding: 30px 0 20px;
}

@media screen and (max-width: 768px) {
  .mutenka-area {
    padding: 50px 20px 0px;
  }
      .mutenka-area::before {
    width: 70%;
    height: 90%;
  }
  .mutenka-area .copy {
    padding: 30px 0 10px;
    font-size: 2.6rem;
  }
  .mutenka-area .txt {
    padding: 0 0 15px;
    font-feature-settings: "palt";
  }
  .mutenka-box {
    padding: 20px 0;
  }
  .mutenka-box.mutenka04 {
    padding: 0;
  }
  .mutenka-box .mutenka-flex.row {
    display: block;
  }
  .mutenka-box .mutenka-flex.row.normal {
  display: block;
  }
    .mutenka-box .mutenka-flex .image img {
    width: 100%;
  }
  .mutenka-box .mutenka-flex .box {
    padding: 20px 0 0;
  }
  .mutenka-box .mutenka-flex .box .copy {
    font-size: 2.2rem;
    padding: 0 0 10px;
  }
  .mutenka-box .mutenka-flex .box .txt {
  line-height: 1.7;
}
.mutenka-box.mutenka04 .txt {
  padding: 0;
}
.closing-area {
    padding: 50px 0 0;
  }
    .closing-area .mv-area {
    padding: 0 20px 30px;
  }
.closing-area .mv-area .copy {
    font-size: 2.0rem;
    padding: 20px 0 10px;
  }
.closing-area .mv-area p {
    text-align: left;
  }
 .closing-area .mv-area .sp-display-b.image img {
    width: 100%;
  }
  .closing-area .mv-area .pc-display.image {
    display: none;
  }
}
/* link-area */
.link-area {
	position: relative;
	padding: 100px 0;
}

.link-area::before {
	content: "";
	width: 100%;
	background: #F6F6F4;
	height: 500px;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.link-area .txt {
	font-size: 3.0rem;
	font-weight: 400;
	font-family: var(--basefont-jp);
	color: var(--gold02);
	line-height: 1.5;
	text-align: center;
}

.link-area ul {
	display: flex;
	/* justify-content: space-between; */
  justify-content: center;
}

.link-area ul li {
	width: 580px;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	height: 400px;
	margin: 30px 0 0;
}

.link-area ul li.free {
	background: url("../img/link-free.jpg");
}

.link-area ul li.beginner {
	background: url("../img/link-beginner.jpg");
}

.link-area ul li a {
	display: block;
	width: 100%;
	position: relative;
	height: 100%;
}

.link-area ul li a:hover::before {
	opacity: 0.9;
}

.link-area ul li a::before {
	content: "";
	width: 100%;
	height: 170px;
	background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));
	opacity: 0.7;
	/*! position: absolute; */
	bottom: 0;
}

.link-area ul li a .ttl-m {
	padding: 0 50px 0 0;
	display: block;
	position: absolute;
	left: 30px;
	bottom: 30px;
	z-index: 2;
	transition: 0.5s;
	background: url("../img/arrow-wht.svg") no-repeat right 20px top 20px / auto 16px;
}

.link-area ul li a:hover .ttl-m {
	background: url("../img/arrow-wht.svg") no-repeat right 0 top 20px / auto 16px;
}

.link-area ul li a .ttl-m .jp , 
.link-area ul li a .ttl-m .en {
	color: #fff;
}

@media screen and (max-width: 768px) {
.link-area::before {
    height: 300px;
  }
.link-area {
    padding: 50px 20px;
  }
    .link-area ul li a::before {
    height: 85px;
  }

.link-area ul li a {
  display: block;
  width: 100%;
  position: relative;
  height: 100%;
}
.link-area ul li a .ttl-m {
    padding: 0 0 0 20px;
    left: 0;
    bottom: 20px;
    width: 100%;
    background-position: right 20px top 10px;
  }
    .link-area ul li {
    width: 100%;
    height: 200px;
    margin: 20px 0 0;
  }
.ttl-m .jp {
    font-size: 2.0rem;
  }
  .ttl-m {
    font-size: 2.0rem;
  }
  .link-area .txt {
    font-size: 2.4rem;
  }
  .concept-features-area .features-02 .sp-display-b {
    width: 100%;
}
.link-area ul {
  display: block;
}
}

/* .mutenka-box .mutenka-flex .image {
  outline: 2px solid red;
}

.mutenka-box .mutenka-flex .box {
  outline: 2px solid blue;
} */
.mutenka-box .mutenka-flex {
  justify-content: flex-start;
}
.closing-area .copy {
  color: var(--gold02);
}
.closing-area p {
  text-align: center;
}