@charset "UTF-8";
/*==========================================
変数 inc.scss
===========================================*/
.flex {
  display: flex;
  flex-wrap: wrap;
}

/*==========================================
 オプション仕様
===========================================*/
.ttl_area {
  padding: 20px 0;
  text-align: center;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1.3;
}

.ttl_area .ttl_ja, .ttl_area .ttl_en {
  color: #164B8B;
}

.ttl_area .ttl_ja {
  font-size: 5rem;
  line-height: 1.2;
}

.ttl_area .ttl_en {
  font-size: 2rem;
  margin-bottom: 15px;
}

.lead01 {
  background: linear-gradient(to right, #3B76AF 30%, #1B3375);
  color: #FFF;
  padding: 5px 0 5px 40px;
  font-size: 3rem;
  margin-bottom: 30px;
}

.box01 {
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 40px;
}

.box01 .text01 {
  font-size: 6rem;
  font-weight: bold;
  padding-bottom: 20px;
  margin-right: 20px;
}

.text02 {
  font-size: 20px;
}

.box02 {
  justify-content: center;
  align-items: center;
  margin: 40px 0;
}

.box02 .text03 {
  margin-left: 40px;
  font-size: 4rem;
  font-weight: bold;
  color: #0096DF;
  letter-spacing: 0.1em;
}

.box03 {
  margin-top: 40px;
}

.lead_area {
  align-items: center;
  margin-bottom: 15px;
}

.lead_area div {
  margin-right: 20px;
}

.lead_area p {
  font-size: 3rem;
  font-weight: bold;
}

.summer {
  color: #0096DF;
}

.winter {
  color: #EA5E00;
}

.option_b {
  margin-top: 40px;
  background-color: #F9F9F9;
  padding: 60px 0;
}

.lead02 {
  margin-bottom: 20px;
}

.lead02 span {
  font-size: 2.8rem;
  border-bottom: 3px solid;
  box-sizing: border-box;
  padding: 1rem;
}

.box04 {
  position: relative;
}

.box04 p {
  position: absolute;
  right: 0;
  top: -20px;
  color: #0C6F38;
  font-size: 3.2rem;
}

.box04 p span {
  border: 4px solid;
  padding: 10px;
}

.lead02 span, .box04 p span {
  color: #ffffff;
  background-image: linear-gradient(to right, #57B669 0%, #0C6F38 100%);
  border-image-slice: 1;
  display: inline-block;
}

.box05 {
  margin-top: 30px;
  justify-content: space-between;
  margin-bottom: 50px;
}

.box05 .child {
  width: 48%;
}

.box05 .child p {
  font-size: 1.8rem;
}

.mB50 {
  margin-bottom: 50px;
}

@media screen and (max-width: 840px) {
  .ttl_area .ttl_ja {
    font-size: 4rem;
  }
  .ttl_area .ttl_en {
    font-size: 2.4rem;
    margin-bottom: 10px;
  }
  .lead01 {
    padding: 5px 0 5px 30px;
    font-size: 3rem;
  }
  .box01 .text01 {
    font-size: 4rem;
    margin: 0;
    padding: 0;
  }
  .box02 div {
    width: 30%;
  }
  .box02 .text03 {
    margin-left: 2%;
    font-size: 2.8rem;
    width: 68%;
  }
  .lead02 span {
    font-size: 2rem;
  }
  .box04 p {
    position: relative;
    font-size: 2.8rem;
    text-align: center;
  }
}
@media screen and (max-width: 420px) {
  .ttl_area .ttl_ja {
    font-size: 3rem;
  }
  .ttl_area .ttl_en {
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
  .ttl_area p {
    padding: 0 2%;
  }
  .lead01 {
    padding: 7px 0 7px 20px;
    font-size: 2rem;
  }
  .box01 {
    text-align: center;
  }
  .box01 .text01 {
    font-size: 3rem;
  }
  .box01 div img {
    width: 70%;
    height: auto;
  }
  .box02 .text03 {
    font-size: 1.6rem;
  }
  .lead_area div {
    width: 20%;
    margin-right: 2%;
  }
  .lead_area p {
    width: 78%;
    font-size: 1.8rem;
  }
  .box05 .child {
    width: 100%;
    margin-bottom: 10px;
  }
  .lead02 span {
    font-size: 1.8rem;
  }
  .box05 .child p {
    font-size: 1.6rem;
  }
  .box04 p {
    font-size: 2.4rem;
    margin-top: 5px;
  }
  .box04 p span {
    padding: 7px 10px;
  }
}
/*==========================================
 安心の長期保証
===========================================*/
.after_box01 {
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
}

.after_box01 div, .after_box01 p {
  width: 40%;
  margin: 0 1%;
}

.after_box01 p {
  font-size: 18px;
  line-height: 2;
}

.after_box02 {
  background-color: #EEF7FF;
  padding: 50px 0;
}

.lead03 {
  text-align: center;
  margin-bottom: 20px;
}

.lead03 .parts01 {
  display: inline-block;
  padding: 0 50px;
  border-bottom: 1px solid #211815;
  font-size: 4rem;
  font-weight: bold;
}

.lead03 .parts01 .blue {
  font-size: 5.5rem;
  color: #274A8E;
  letter-spacing: 0.1em;
  display: inline-block;
  margin: 0 5px;
  line-height: 1;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.lead03 .parts01 span {
  vertical-align: bottom;
}

.text04 {
  font-size: 1.8rem;
  margin-bottom: 15px;
}

.lead04 {
  font-size: 2.8rem;
  font-weight: bold;
  margin: 40px 0 10px;
}

.lead04 i {
  color: #274A8E;
}

.lead05 {
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  color: #FFF;
  background-color: #4B6BB6;
  padding: 10px 0;
  margin: 40px 0 20px;
}

.after_box03 .flex {
  justify-content: space-between;
}

.after_box03 .flex .after_img01 {
  width: 15%;
}

.after_box03 .flex .text07 {
  width: 80%;
  background-color: #FFF;
  padding: 30px;
  border-radius: 20px;
  position: relative;
}

.after_box03 .flex .text07 .red {
  font-size: 2rem;
  color: #F2032B;
}

.text07::after {
  content: "";
  position: absolute;
  top: 35%;
  left: -32px;
  width: 0;
  height: 0;
  border-right: 34px solid #FFF;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
}

.after_box06 {
  background-color: #F7F7F7;
  padding: 50px 0;
}
.after_box06 .subject img {
  max-width: 80%;
  margin: 0 auto;
}

.after_box04, .after_box05 {
  justify-content: space-between;
}

.after_box04 p {
  font-size: 2rem;
}

.after_box04 p, .after_box04 div {
  width: 49%;
}

.after_box05 {
  align-items: center;
  margin-top: 20px;
}

.after_box05 .text05 {
  width: 40%;
  text-align: center;
  background-color: #FFF;
  border: 1px solid #1D769E;
  padding: 20px 0;
  font-size: 2.4rem;
}

.after_box05 .text05 span, .after_box05 .text06 span {
  font-size: 3.6rem;
}

.after_box05 .text06 {
  width: 57%;
  font-size: 2.4rem;
}

.mT0 {
  margin-top: 0 !important;
}

@media screen and (max-width: 840px) {
  .lead05 {
    font-size: 2.2rem;
    margin: 30px 0 15px;
  }
  .after_box05 .text05 {
    padding: 15px;
    font-size: 1.8rem;
  }
  .after_box05 .text05 span, .after_box05 .text06 span {
    font-size: 2.2rem;
  }
  .after_box05 .text06 {
    font-size: 1.8rem;
  }
  .after_box04 p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 420px) {
  .after_box01 div, .after_box01 p {
    width: 100%;
    margin: 0;
    margin-bottom: 10px;
  }
  .after_box01 p {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .lead03 .parts01 {
    padding: 0 10px;
    font-size: 2.5rem;
  }
  .lead03 .parts01 .blue {
    font-size: 4rem;
  }
  .after_box03 .flex .after_img01 {
    width: 25%;
  }
  .after_box03 .flex .text07 {
    width: 70%;
    padding: 10px;
  }
  .after_box06 .subject img {
    max-width: 100%;
  }
  .text07::after {
    content: "";
    position: absolute;
    top: 10%;
    left: -18px;
    width: 0;
    height: 0;
    border-right: 20px solid #FFF;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }
  .lead04 {
    font-size: 2.2rem;
  }
  .after_box04 p, .after_box04 div, .after_box05 .text06, .after_box05 .text05 {
    width: 100%;
    margin-bottom: 15px;
  }
}
/*==========================================
 家づくりの流れ
===========================================*/
.mB10 {
  margin-bottom: 10px;
}

.flow_box01 {
  position: relative;
}

.flow_box01 img {
  position: absolute;
  top: -50px;
  left: 140px;
  width: 100px;
  height: auto;
}

.page-flow .sec01_item.flow_box03 {
  padding-bottom: 0;
}

.flow_box02 {
  display: flex;
  justify-content: center;
  padding-bottom: 70px;
  position: relative;
}

.page-flow .flow_box02::before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background-image: linear-gradient(to top, #c1c1c1, #c1c1c1 10px, transparent 10px, transparent 20px);
  background-size: 3px 20px;
  background-position: left bottom;
  background-repeat: repeat-y;
  position: absolute;
  top: 0;
  left: clamp(62px, 15.5vw, 124px);
  z-index: -20;
}

.sec_07 {
  padding-top: 270px;
}

.flow_box04 {
  position: relative;
  margin-left: 30px;
  margin-bottom: 30px;
}

.flow_box04 img {
  width: 400px;
  height: auto;
}

.flow_box04 .flow_text01 {
  position: absolute;
  top: 40%;
  left: -200px;
  color: #FFF;
  background: linear-gradient(to right, #003387, #187fc2);
  padding: 10px 0;
  text-align: center;
  width: 170px;
  font-size: 2rem;
  font-weight: bold;
  border-radius: 15px;
}

.flow_box04 .flow_text01::after {
  content: "";
  position: absolute;
  top: 45%;
  left: -32px;
  width: 0;
  height: 0;
  border-right: 34px solid #003387;
  border-top: 10px solid transparent;
  border-bottom: 2px solid transparent;
}

.mT30 {
  margin-top: 30px;
}

.flow_text01 {
  font-size: 1.6rem;
}

.flow_text02, .flow_text01 {
  letter-spacing: 0;
}

@media screen and (max-width: 576px) {
  .page-flow .sec01_item_ttl_ja {
    margin-left: calc(clamp(125px, 31.25vw, 250px) + 4vw);
  }
  .page-flow .sec01_item_ttl {
    margin-bottom: 0 !important;
    margin-top: -15px;
  }
  .page-flow .sec01_item_ttl_ja {
    padding-top: 0 !important;
  }
  .flow_text02, .flow_text01 {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .flow_box01 img {
    display: none;
  }
  .flow_box04 {
    text-align: right;
    margin-left: 0;
  }
  .flow_box04 img {
    width: 250px;
    height: auto;
  }
  .flow_box04 .flow_text01 {
    position: absolute;
    top: 40%;
    left: 0;
    color: #FFF;
    background: linear-gradient(to right, #003387, #187fc2);
    padding: 10px 0;
    text-align: center;
    width: 130px;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 15px;
  }
  .flow_box04 .flow_text01::after {
    content: none;
  }
  .sec_07 {
    padding-top: 170px;
  }
}
@media screen and (max-width: 420px) {
  .flow_box01 img {
    top: -15px;
    width: 90px;
  }
  .page-flow .sec01_item::before, .page-flow .flow_box02::before {
    width: 0;
  }
  .page-flow .sec01_item_ttl_ja {
    padding-top: 25px;
  }
}
/*==========================================
 標準仕様
===========================================*/
.standard h2 {
  width: 40%;
}

.standard section {
  margin-bottom: 80px;
}

.standard_box01 {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
}

.standard_box01 .standard_img_box01 {
  width: 30%;
}

.standard_box01 .standard_text_box01 {
  width: 67%;
}

.standard_box01 .standard_text_box01 p {
  margin-bottom: 1em;
}

.standard_box02 .child {
  width: 30%;
  margin-right: 5%;
  border: 1px solid #333;
}

.standard_box02 .child:last-of-type {
  margin-right: 0;
}

.maker_box h3 {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.standard_lead {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.standard_box03 {
  justify-content: space-between;
}

.standard_box03 .child {
  width: 23.5%;
}

.standard_box03 .movie {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.standard_box03 .movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 840px) {
  .standard h2 {
    width: 100%;
  }
  .standard_box03 .child {
    width: 49%;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 420px) {
  .standard section {
    margin-bottom: 50px;
  }
  .position_box {
    position: relative;
  }
  .standard_box01 .standard_img_box01, .standard_box01 .standard_text_box01 {
    width: 100%;
  }
  .standard_img_box01 {
    margin-bottom: 25px;
  }
  .standard_img_box01 img {
    width: 50%;
    height: auto;
  }
  .maker_box {
    position: absolute;
    top: -16px;
    left: 55%;
    width: 42%;
  }
  .standard_box02 .child {
    width: 100%;
    margin-bottom: 5px;
    margin-right: 0;
  }
  .maker_box h3 {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
  .standard_lead {
    font-size: 2rem;
  }
}
/*==========================================
 暮らしやすさへのこだわり
===========================================*/
.design_box01 {
  margin-bottom: 70px;
}

.design_img01 {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
  max-width: 600px;
  margin: 0 auto;
}

.design_box01 p {
  margin-bottom: 3rem;
  line-height: 2;
  letter-spacing: 0.05;
  font-size: 16px;
}

.design_box01 .mB40 {
  margin-bottom: 40px;
}

.design_box01 .design_text01 {
  font-size: 2.4rem;
  margin-bottom: 0;
  text-align: center;
}

.design_text02 {
  font-size: 5rem;
  font-weight: bold;
  text-align: center;
}

.bg_yellow {
  background-color: #FFF034;
}

.bg_yellow .red {
  color: #D22D25;
  padding: 0 5px;
}

.design_lead02 span {
  border: 4px solid;
  -o-border-image: linear-gradient(to right, #187fc2 0%, #003387 100%);
     border-image: linear-gradient(to right, #187fc2 0%, #003387 100%);
  border-image-slice: 1;
  display: inline-block;
  font-weight: bold;
  font-size: 2.8rem;
  width: 200px;
  padding: 7px 0;
  text-align: center;
  margin-bottom: 20px;
  color: #003387;
}

.design_text04 {
  font-size: 2rem;
  margin-top: -90px;
  line-height: 1.2;
}

.design_text04 span {
  display: block;
}

.design_text04 .bText {
  font-size: 3.2rem;
  font-weight: bold;
}

.design_lead03 {
  font-size: 2.4rem;
}

@media screen and (max-width: 520px) {
  .design_lead01 {
    width: 100%;
  }
}
@media screen and (max-width: 420px) {
  .design_lead01 {
    font-size: 3rem;
  }
  .design_box01 .design_text01 {
    font-size: 1.6rem;
    text-align: left;
  }
  .design_text02 {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
  }
  .design_text04 {
    margin-top: 0;
    text-align: center;
  }
}/*# sourceMappingURL=concept_low.css.map */