@charset "UTF-8";
/***********************共通設定************************/
/*----------------------------------------------------
fix
----------------------------------------------------*/
#footer {
  margin-top: 0px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #footer {
    margin-top: 0px;
  }
}

/*----------------------------------------------------
main
----------------------------------------------------*/
main {
  margin-top: 40px;
  /* 751- */
}
@media all and (min-width: 751px) {
  main {
    margin-top: 60px;
  }
}

/*----------------------------------------------------
pageHead
----------------------------------------------------*/
#pageHead {
  padding-bottom: 45px;
  text-align: left;
  /* 751- */
}
#pageHead .catch {
  font-size: 19px;
  line-height: 1.7368;
  font-weight: 500;
}
#pageHead .lead {
  margin-top: 1em;
  font-size: 14px;
  line-height: 2.14;
}
@media all and (min-width: 751px) {
  #pageHead {
    padding-bottom: 110px;
    text-align: center;
  }
  #pageHead .catch {
    font-size: 26px;
    line-height: 1.769;
  }
  #pageHead .lead {
    margin-top: 1.7em;
    font-size: 16px;
    line-height: 2.1875;
  }
}

/*----------------------------------------------------
anchor
----------------------------------------------------*/
#anchor {
  position: relative;
  /* 751- */
  padding: 90px 0 60px;
  /* 751- */
}
#anchor::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../images/color_line_sp.png) no-repeat center top;
  background-size: 100% 100%;
}
@media all and (min-width: 751px) {
  #anchor::before {
    height: 2px;
    background-image: url(../images/color_line_pc.png);
  }
}
#anchor li {
  margin-top: 55px;
  position: relative;
  padding: 6px;
  background: url(../images/ptn_1.png) repeat 0 0;
  background-size: 3px 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#anchor li:first-child {
  margin-top: 0;
}
#anchor li:nth-child(2) {
  background-image: url(../images/ptn_2.png);
}
#anchor li:nth-child(3) {
  background-image: url(../images/ptn_3.png);
}
#anchor li:nth-child(4) {
  background-image: url(../images/ptn_4.png);
}
#anchor li:nth-child(5) {
  background-image: url(../images/ptn_5.png);
}
#anchor li:nth-child(6) {
  background-image: url(../images/ptn_6.png);
}
#anchor li a {
  position: relative;
  display: block;
}
#anchor li a:hover {
  text-decoration: none;
}
#anchor li a:hover {
  text-decoration: none;
}
#anchor li a::before, #anchor li a::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 32px;
  right: 50%;
  width: 24px;
  height: 24px;
  margin-right: -12px;
}
#anchor li a::before {
  border-radius: 100vh;
  background: #000000;
}
#anchor li a::after {
  background: url(../images/arrow_white.svg) no-repeat center center;
  background-size: 7px auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#anchor li .wrap {
  background: #FFFFFF;
  padding: 30px 20px 70px;
}
#anchor li .num {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 60px;
  height: 40px;
  background: #FFFFFF;
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 40px;
  font-weight: 400;
  text-align: center;
  margin: -20px 0 0 -30px;
  z-index: 2;
}
#anchor li h2 {
  margin-top: 1em;
  font-size: 19px;
  line-height: 1.5;
  font-weight: 500;
}
#anchor li p {
  margin-top: 1em;
  font-size: 14px;
  line-height: 2.14;
  text-align: left;
}
@media all and (min-width: 751px) {
  #anchor {
    padding: 145px 0 120px;
  }
  #anchor ul {
    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;
  }
  #anchor li {
    margin-top: 50px;
    width: 31.739%;
    min-height: 100%;
    padding: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #anchor li:nth-child(1), #anchor li:nth-child(2), #anchor li:nth-child(3) {
    margin-top: 0;
  }
  #anchor li a {
    height: 100%;
  }
  #anchor li a::before, #anchor li a::after {
    bottom: 30px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #anchor li a .image {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #anchor li a:hover::before, #anchor li a:hover::after {
    bottom: 15px;
  }
  #anchor li a:hover .image {
    opacity: 0.75;
  }
  #anchor li .wrap {
    min-height: 100%;
    padding: 30px 20px 70px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #anchor li .num {
    font-size: 26px;
  }
  #anchor li h2 {
    margin-top: 1.3em;
    font-size: 20px;
  }
  #anchor li p {
    margin-top: 1.2em;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0.02em;
  }
}

/*----------------------------------------------------
section
----------------------------------------------------*/
main .section {
  position: relative;
  /* 751- */
  padding: 60px 0;
  /* 751- */
  /* 1017- */
}
main .section::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../images/color_line_sp.png) no-repeat center top;
  background-size: 100% 100%;
}
@media all and (min-width: 751px) {
  main .section::before {
    height: 2px;
    background-image: url(../images/color_line_pc.png);
  }
}
main .section .main {
  position: relative;
  padding: 6px;
  background: url(../images/ptn_1.png) repeat 0 0;
  background-size: 3px 3px;
}
main .section .main .num {
  position: absolute;
  top: 0;
  left: 0;
  height: 60px;
  font-size: 50px;
  line-height: 60px;
  font-weight: 400;
  margin: -32px 0 0 20px;
}
main .section .main .wrap {
  background: #FFFFFF;
  text-align: left;
  padding: 35px 20px 30px;
}
main .section .main h2 {
  font-size: 19px;
  line-height: 1.3;
  font-weight: 500;
}
main .section .main .catch {
  margin-top: 1em;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}
main .section .main .text {
  margin-top: 1em;
  font-size: 14px;
  line-height: 2.14;
}
main .section .main .image {
  margin-top: 15px;
  width: calc(100% + 46px);
}
main .section .main.rev .num {
  left: auto;
  right: 0;
  margin-left: auto;
  margin-right: 20px;
}
main .section .main.rev .image {
  margin-left: -46px;
}
main .section#renewal .main {
  background-image: url(../images/ptn_2.png);
}
main .section#management .main {
  background-image: url(../images/ptn_3.png);
}
main .section#custom .main {
  background-image: url(../images/ptn_4.png);
}
main .section#renovation .main {
  background-image: url(../images/ptn_5.png);
}
main .section#brokerage .main {
  background-image: url(../images/ptn_6.png);
}
@media all and (min-width: 751px) {
  main .section {
    padding: 145px 0 120px;
  }
  main .section .main {
    padding: 10px;
  }
  main .section .main .num {
    height: 90px;
    font-size: 81px;
    line-height: 90px;
    margin: -48px 0 0 40px;
  }
  main .section .main .wrap {
    padding: 50px 40px;
  }
  main .section .main .body {
    padding-right: 62%;
  }
  main .section .main h2 {
    font-size: 26px;
  }
  main .section .main .catch {
    margin-top: 1.5em;
    font-size: 20px;
  }
  main .section .main .text {
    margin-top: 1.2em;
    font-size: 16px;
    line-height: 2.1875;
  }
  main .section .main .image {
    position: absolute;
    top: 65px;
    left: 45%;
    margin-top: 0;
    width: calc(55% + 40px);
  }
  main .section .main.rev .num {
    right: 38%;
    margin-right: -68px;
  }
  main .section .main.rev .body {
    padding: 0 0 0 62%;
  }
  main .section .main.rev .image {
    left: auto;
    right: 45%;
    width: calc(55% + 40px);
  }
}
@media all and (min-width: 1017px) {
  main .section .main .image {
    width: calc(50vw + 38px);
    max-width: 710px;
  }
  main .section .main.rev .image {
    width: calc(50vw + 38px);
  }
}
main .section .achievement {
  margin-top: 30px;
  /* 751- */
}
main .section .achievement li {
  margin-top: 20px;
}
main .section .achievement .caption {
  margin-top: 0.8em;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.039em;
  font-weight: 500;
}
@media all and (min-width: 751px) {
  main .section .achievement {
    margin-top: 60px;
  }
  main .section .achievement ul {
    padding-top: 10px;
    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;
  }
  main .section .achievement li {
    margin-top: 35px;
    width: 48.17%;
  }
  main .section .achievement .caption {
    margin-top: 1.1em;
    font-size: 20px;
  }
}
main .section .strength {
  background: #ffefef;
  margin-top: 30px;
  padding: 30px 20px 25px;
  /* 751- */
}
main .section .strength .colTitle.mgn {
  margin-top: 30px;
}
main .section .strength ul {
  margin-top: 1.4em;
  text-align: left;
}
main .section .strength li {
  font-size: 14px;
  line-height: 1.78;
  font-weight: 500;
}
main .section .strength li::before {
  content: "・";
}
main .section .strength .text {
  margin-top: 1.4em;
  text-align: left;
  font-size: 14px;
  line-height: 1.78;
  font-weight: 500;
}
@media all and (min-width: 751px) {
  main .section .strength {
    margin-top: 60px;
    padding: 55px 60px;
  }
  main .section .strength .colTitle.mgn {
    margin-top: 55px;
  }
  main .section .strength ul {
    margin-top: 2.6em;
  }
  main .section .strength li {
    margin-top: 0.5em;
    font-size: 16px;
  }
  main .section .strength .text {
    margin-top: 2.6em;
    font-size: 16px;
  }
}
main .section#renewal .strength {
  background: #fef3fa;
}
main .section#management .strength {
  background: #f6f2f8;
}
main .section#custom .strength {
  background: #eff4fc;
}
main .section#renovation .strength {
  background: #eaf7f8;
}
main .section#brokerage .strength {
  background: #edf9f0;
}