@charset "UTF-8";
/*======================================
  ORDER FLOW
======================================*/
.orderflow-mainimg-top {
  background: url("../img/property/orderflow/mainimg.jpg") no-repeat center/cover;
  height: 60vw;
  margin-bottom: 25px;
}
.orderflow-mainimg-bottom {
  background: url("../img/property/orderflow/mainimg02.jpg") no-repeat center/cover;
  height: 40vw;
}

.orderflow-ttl {
  border: 1px solid #0B318E;
  text-align: center;
  color: #0B318E;
  padding: clamp(20px, 4.375vw, 35px) 0;
  margin: 0 auto 25px;
}
.orderflow-ttl .mainttl-ja {
  font-weight: bold;
  font-size: clamp(20px, 4.375vw, 28px);
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.orderflow-ttl .mainttl-en {
  font-weight: bold;
  font-size: clamp(14px, 3.6vw, 18px);
  letter-spacing: 0.4em;
  line-height: 1.2;
  margin-top: 10px;
}

.orderflow-maincts {
  color: #0B318E;
  padding: 25px 0;
}
.orderflow-maincts .main-txt {
  font-size: clamp(14px, 3.2vw, 16px);
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .orderflow-maincts .main-txt {
    background: #d6dcff;
    padding: 25px 4%;
    margin-left: -4%;
    margin-right: -4%;
  }
}
.orderflow-maincts .main-txt .bold {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .orderflow-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .orderflow-mainimg-top {
    width: 60%;
    max-width: 628px;
    margin-bottom: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    height: auto;
  }
  .orderflow-mainimg-bottom {
    width: 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 40px;
    height: 280px;
  }
  .orderflow-maincts {
    width: 35%;
    max-width: 399px;
    padding: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 992px) {
  .orderflow-ttl {
    margin-bottom: 40px;
    padding: 50px 0;
  }
  .orderflow-ttl .mainttl-ja {
    font-size: 40px;
  }
  .orderflow-ttl .mainttl-en {
    font-size: 22px;
    margin-top: 20px;
  }
  .orderflow-maincts .main-txt {
    line-height: 2;
  }
}
/*======================================
  SECTION TTL
======================================*/
.sec-ttl {
  color: #0B318E;
  text-align: center;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.2em;
}
.sec-ttl span {
  display: inline-block;
}

.sec-lead {
  font-weight: bold;
  color: #0B318E;
  letter-spacing: 0.1em;
  font-size: 14px;
  text-align: center;
}
.sec-lead span {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .sec-ttl {
    font-size: 38px;
  }
  .sec-lead {
    font-size: 18px;
  }
}
@media screen and (min-width: 992px) {
  .sec-ttl {
    font-size: 42px;
  }
  .sec-lead {
    font-size: 22px;
  }
}
/*======================================
  SEC-ORDER
======================================*/
.sec-order {
  margin: 120px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .sec-order {
    margin: clamp(40px, 10vw, 80px) auto;
  }
}
.sec-order_item {
  width: 47%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .sec-order_item {
    width: 100%;
    margin: 0 auto;
  }
  .sec-order_item:nth-child(n+2) {
    margin-top: clamp(80px, 16.67vw, 100px);
  }
}
.sec-order_head {
  height: 50px;
  margin-bottom: 30px;
  background: #0B318E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.sec-order_head-gray {
  margin-bottom: 10px;
  background: #a6a6a6;
}
.sec-order_ttl {
  font-size: clamp(14px, 1.8vw, 18px);
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .sec-order_ttl {
    font-size: clamp(14px, 3vw, 18px);
  }
}
.sec-order_ttl-sub {
  width: 100%;
  font-size: clamp(14px, 1.8vw, 18px);
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #0B318E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
}
@media screen and (max-width: 768px) {
  .sec-order_ttl-sub {
    font-size: clamp(14px, 3vw, 18px);
  }
}
.sec-order_img {
  position: relative;
}
.sec-order_annotation {
  width: 31.5%;
  font-size: clamp(10px, 1.166vw, 14px);
  line-height: 1.3;
  position: absolute;
  right: -8%;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .sec-order_annotation {
    width: 90%;
    margin: 20px auto 0;
    font-size: clamp(10px, 2.8vw, 14px);
    position: static;
  }
}

/*======================================
  SUPPORT TEAM
======================================*/
.support-team {
  margin: 60px auto;
}
.support-team-ttl {
  background: #9099c7;
  color: #fff;
  text-align: center;
  max-width: 481px;
  width: 100%;
  margin: 0 auto 20px;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.3em;
  border-radius: 50px;
}
.support-team-img {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .support-team {
    margin: 80px auto;
  }
  .support-team-ttl {
    margin: 0 auto 40px;
  }
}
/*======================================
  土地から始める家づくりの流れ
======================================*/
.step-list {
  margin-top: 40px;
  border-bottom: 1px dashed #0B318E;
  padding: 0 0 80px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .step-list {
    margin-top: 60px;
    padding: 0;
    border-bottom: none;
  }
  .step-list::after {
    content: "";
    display: block;
    background: url("../img/property/orderflow/balloon-line.svg") no-repeat center/contain;
    max-width: 1090px;
    width: 100%;
    padding-top: 3.5%;
    margin-top: 60px;
  }
}
.step-item {
  color: #0B318E;
  padding: 25px 0 0;
}
.step-item .item-head {
  margin: 0 auto 20px;
}
@media screen and (min-width: 992px) {
  .step-item .item-head .item-img {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .step-item .item-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .step-item .item-head .item-num {
    margin: 0;
  }
  .step-item .item-head .item-img {
    margin: 0 0 0 20px;
  }
}
@media screen and (max-width: 991px) {
  .step-item .item-body .item-img {
    display: none;
  }
}
.step-item .item-num {
  background: #0B318E;
  color: #fff;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto;
}
.step-item .item-num .num {
  font-size: 20px;
  margin-top: 0.3em;
}
.step-item .item-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.1em;
}
.step-item .item-ttl .line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #ffff99));
  background: linear-gradient(transparent 60%, #ffff99 60%);
}
.step-item .item-img {
  text-align: center;
  margin-top: 10px;
}
.step-item .item-txt {
  padding: 1.625em 1.875em;
  margin: 25px auto 0;
  font-size: clamp(14px, 3.2vw, 16px);
  font-weight: bold;
  border: 1px solid #0B318E;
  border-radius: 10px;
}
.step-item .item-txt.balloon {
  position: relative;
}
.step-item .item-txt.balloon::before, .step-item .item-txt.balloon::after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: calc(50% - 10px);
}
.step-item .item-txt.balloon::before {
  bottom: -25px;
  border-top: 25px solid #0B318E;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}
.step-item .item-txt.balloon::after {
  bottom: -23px;
  border-top: 25px solid #fff;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}
.step-item .item-txt-btn {
  text-align: right;
  margin-top: 15px;
}
.step-item .item-txt-btn a {
  display: inline-block;
  padding: 0 1em;
  background: #0B318E;
  color: #fff;
  border-radius: 20px;
}
.step-item .item-txt-btn a::after {
  content: "\f18e";
  font-family: "FontAwesome";
  font-weight: normal;
  font-size: 18px;
  margin: 0 0 0 0.3em;
}
.step-item .item-supporter {
  text-align: center;
  margin-top: 40px;
}
.step-list .step-item:not(:last-child) .item-body {
  border-bottom: 1px dashed #0B318E;
  padding: 0 0 25px;
}

@media screen and (min-width: 768px) {
  .step-item .body-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .step-item .item-txt.balloon::before, .step-item .item-txt.balloon::after {
    left: auto;
    top: calc(50% - 10px);
    bottom: auto;
  }
  .step-item .item-txt.balloon::before {
    right: -25px;
    border-left: 25px solid #0B318E;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: none;
  }
  .step-item .item-txt.balloon::after {
    right: -23px;
    border-left: 25px solid #fff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: none;
  }
  .step-item .item-txt-btn a:hover {
    opacity: 0.5;
  }
  .step-item .item-supporter {
    margin: 0;
  }
  .step-item.step01 .item-supporter, .step-item.step02 .item-supporter, .step-item.step04 .item-supporter, .step-item.step05 .item-supporter, .step-item.step06 .item-supporter, .step-item.step10 .item-supporter {
    min-width: 180px;
  }
  .step-item.step03 .item-supporter, .step-item.step08 .item-supporter, .step-item.step09 .item-supporter, .step-item.step11 .item-supporter {
    min-width: 270px;
    text-align: right;
  }
  .step-item.step07 .item-supporter {
    min-width: 280px;
    text-align: right;
  }
  .step-item.step12 .item-supporter {
    min-width: 270px;
    text-align: right;
  }
}
@media screen and (min-width: 992px) {
  .step-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
  }
  .step-item .item-head {
    min-width: 210px;
    position: relative;
  }
  .step-item .item-body {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .step-item .item-num {
    width: 138px;
    height: 138px;
    font-size: 25px;
    margin: 0;
  }
  .step-item .item-num .num {
    font-size: 36px;
  }
  .step-item .item-txt {
    padding: 25px 15px;
    margin: 0;
  }
  .step-list .step-item:nth-of-type(2n + 1) .item-head::before {
    content: "";
    display: block;
    background: url("../img/property/orderflow/line-right.svg") no-repeat center/contain;
    width: 74px;
    height: 226px;
    position: absolute;
    z-index: -1;
    top: 50%;
    right: calc(50% - 37px);
  }
  .step-list .step-item:nth-of-type(2n) .item-head::before {
    content: "";
    display: block;
    background: url("../img/property/orderflow/line-left.svg") no-repeat center/contain;
    width: 74px;
    height: 226px;
    position: absolute;
    z-index: -1;
    top: 50%;
    right: calc(50% - 37px);
  }
  .step-list .step-item:nth-of-type(2n) .item-num {
    margin: 0 0 0 auto;
  }
  .step-list .step-item:nth-last-of-type(2) .item-head::before {
    content: "";
    display: block;
    background: url("../img/property/orderflow/line.svg") no-repeat center/contain;
    width: 6px;
    height: 226px;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: calc(50% - 37px);
  }
  .step-list .step-item:last-child .item-head::before {
    display: none;
  }
  .step-list .step-item:last-child .item-num {
    margin: 0;
  }
  .step-item.step01 .body-top {
    min-width: 225px;
    padding: 0 25px 0 0;
  }
  .step-item.step02 .body-top {
    min-width: 255px;
  }
  .step-item.step03 .body-top {
    min-width: 180px;
    padding: 0 25px 0 0;
  }
  .step-item.step04 .body-top {
    min-width: 240px;
  }
  .step-item.step05 .body-top {
    min-width: 270px;
  }
  .step-item.step06 .body-top {
    min-width: 260px;
  }
  .step-item.step07 .body-top {
    min-width: 210px;
  }
  .step-item.step08 .body-top {
    min-width: 280px;
  }
  .step-item.step09 .body-top {
    min-width: 190px;
    padding: 0 25px 0 0;
  }
  .step-item.step10 .body-top {
    min-width: 230px;
    padding: 0 25px 0 0;
  }
  .step-item.step11 .body-top {
    min-width: 225px;
    padding: 0 25px 0 0;
  }
  .step-item.step12 .body-top {
    min-width: 165px;
    padding: 0 15px 0 0;
  }
}
@media screen and (min-width: 1141px) {
  .step-item {
    padding: 30px 0 0;
  }
  .step-item .item-txt {
    padding: 30px 35px;
  }
  .step-list .step-item:not(:last-child) .item-body {
    padding: 0 0 30px;
  }
  .step-item.step02 .item-supporter {
    min-width: 140px;
    text-align: right;
  }
  .step-item.step03 .body-top {
    min-width: 200px;
  }
  .step-item.step04 .item-txt {
    padding: 50px 35px;
  }
  .step-item.step05 .body-top {
    min-width: 240px;
    padding: 0 25px 0 0;
  }
  .step-item.step07 .item-supporter {
    min-width: 320px;
  }
  .step-item.step08 .item-txt {
    max-width: 463px;
    width: 100%;
  }
  .step-item.step10 .item-txt {
    padding: 50px 35px;
  }
  .step-item.step11 .item-supporter {
    min-width: 320px;
  }
  .step-item.step11 .item-txt {
    padding: 30px 40px;
  }
}
.flow-cnv {
  max-width: 783px;
  width: 100%;
  margin: 80px auto 0;
}
.flow-cnv li:not(:last-child) {
  margin-bottom: 25px;
}
.flow-cnv li a {
  max-width: 342px;
  height: 3em;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  border: 3px solid #0B318E;
  background: #0B318E;
  border-radius: 70px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (max-width: 768px) {
  .flow-cnv li a {
    max-width: 342px;
    margin: 0 auto;
  }
}
.flow-cnv li a::after {
  content: "\f18e";
  font-family: "FontAwesome";
  font-weight: normal;
  font-size: 20px;
  position: absolute;
  top: calc(50% - 1em);
  right: 25px;
}
.flow-cnv li .ttl-en {
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1;
}
.flow-cnv li .ttl-ja {
  margin-top: 10px;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 14px;
  line-height: 1.2;
}
.flow-cnv li .cnv-txt {
  color: #0B318E;
  font-weight: bold;
  margin-top: 1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .flow-cnv li .cnv-txt {
    font-size: 14px;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .flow-cnv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .flow-cnv li {
    width: 48%;
    max-width: 355px;
  }
  .flow-cnv li a:hover {
    background: #fff;
    color: #0B318E;
  }
}/*# sourceMappingURL=property_orderflow.css.map */