@charset "UTF-8";

@font-face {
  font-family: "PA1GothicStd-Bold";
  src: url("/fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Bold.woff2") format("woff2"),
       url("/fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PA1GothicStd-Medium";
  src: url("/fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Medium.woff2") format("woff2"),
       url("/fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Medium.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PA1GothicStd-Regular";
  src: url("/fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Regular.woff2") format("woff2"),
       url("/fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PShueiMGoStd-B";
  src: url("/fonts/ap-otf-shueimgostd/AP-OTF-ShueiMGoStd-B.woff2") format("woff2"),
       url("/fonts/ap-otf-shueimgostd/AP-OTF-ShueiMGoStd-B.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RodinPro-B";
  src: url("/fonts/fot-rodinpro/FOT-RodinPro-B.woff2") format("woff2"),
       url("/fonts/fot-rodinpro/FOT-RodinPro-B.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RodinPro-DB";
  src: url("/fonts/fot-rodinpro/FOT-RodinPro-DB.woff2") format("woff2"),
       url("/fonts/fot-rodinpro/FOT-RodinPro-DB.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RodinPro-EB";
  src: url("/fonts/fot-rodinpro/FOT-RodinPro-EB.woff2") format("woff2"),
       url("/fonts/fot-rodinpro/FOT-RodinPro-EB.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.font-pa-bold {
  font-family: "PA1GothicStd-Bold", sans-serif;
}

.font-pa-medium {
  font-family: "PA1GothicStd-Medium", sans-serif;
}

.font-pa-regular {
  font-family: "PA1GothicStd-Regular", sans-serif;
}

.font-pshuei-b {
  font-family: "PShueiMGoStd-B", sans-serif;
}

.font-rodin-b {
  font-family: "RodinPro-B", sans-serif;
}

.font-rodin-eb {
  font-family: "RodinPro-EB", sans-serif;
}

.font-rodin-db {
  font-family: "RodinPro-DB", sans-serif;
}

.is-italic {
  font-style: italic;
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .glb-pageWrapper {
    min-width: 1184px;
  }

  .glb-content {
    max-width: unset;
    padding: 0;
  }

  .m-nav-breadcrumb, .m-box-showroom-03 {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }

  .sp-only {
    display: none !important;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .glb-mainWrapper .glb-content {
    padding: 24px 0 0;
  }

  .m-nav-breadcrumb, .m-box-showroom-03 {
    margin: 0 15px;
  }

  .pc-only {
    display: none !important;
  }
}
.section-flow {
  z-index: 1;
  position: relative;
}
.section-flow .wrapper {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.section-flow .flow-image {
  position: absolute;
  border-radius: 50%;
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-flow {
    padding-top: 20px;
    margin-bottom: -85px;
  }
}
@media screen and (min-width: 769px) and (max-width: 9999px) and (min-width: 0px) and (max-width: 1240px) {
  .section-flow {
    overflow-x: hidden;
  }
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-flow .wrapper {
    width: 1200px;
  }
  .section-flow .flow-heading {
    margin-left: 96px;
    margin-right: 96px;
  }
  .section-flow .flow-image02 {
    top: 279px;
    left: 37px;
  }
  .section-flow .flow-image03 {
    top: 386px;
    left: 142px;
  }
  .section-flow .flow-image04 {
    top: 586px;
    left: 83px;
  }
  .section-flow .flow-image05 {
    top: 118px;
    right: -20px;
    width: 140px;
  }
  .section-flow .flow-image06 {
    top: 378px;
    right: 109px;
  }
  .section-flow .flow-image07 {
    top: 569px;
    right: -20px;
    width: 169px;
  }
  .section-flow .flow-image05, .section-flow .flow-image07 {
    background: #f2fbdb;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-flow {
    padding-top: 15px;
    margin-bottom: -45px;
  }
  .section-flow .flow-heading img {
    width: 100%;
    height: auto;
  }
}
.section-flow-content {
  position: relative;
}
.section-flow-content .wrapper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.section-flow-content .content-title {
  font-size: 5.942rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  display: inline-block;
  letter-spacing: -0.06em;
  color: #3b4043;
}
.section-flow-content .content-title .small-spacing {
  letter-spacing: -.2em;
}
.section-flow-content .content-banner {
  background: #00a000;
  text-align: center;
}
.section-flow-content .content-banner span {
  display: inline-block;
  color: #fff
}
.section-flow-content .content-banner .banner-subtitle {
  position: relative;
}
.section-flow-content .content-banner .banner-subtitle:before {
  content: '';
  position: absolute;
  background: #fff;
}
.section-flow-content .content-banner .banner-subtitle:after {
  content: '';
  position: absolute;
  background: #fff;
}
.section-flow-content .content-title:before {
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}
.section-flow-content .small-title {
  font-size: 4.7rem;
}
.section-flow-content .content-title:before, .section-flow-content .content-title:after, .section-flow-content .content-wrapper:before, .section-flow-content .content-wrapper:after {
  position: absolute;
  content: "";
}
.section-flow-content .content-wrapper {
  text-align: center;
  position: relative;
}
.section-flow-content .content-flow .flow-link {
  color: #3b4043;
  text-decoration: none;
  display: block;
  width: 100%;
  position: relative;
}
.section-flow-content .flow-item {
  background: #fff;
  font-size: 3rem;
  font-weight: bold;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  border: 1px solid #383636;
  position: relative;
}
.section-flow-content .flow-item:not(:last-child)::after {
  content: "";
  position: absolute;
}
.section-flow-content .flow-link:before {
  content: "";
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
}
.section-flow-content .content-note {
  font-size: 3.2rem;
  text-align: center;
  color: #000;
}
.section-flow-content .flow-number {
  position: absolute;
  pointer-events: none;
}
.section-flow-content .number-wrapper {
  background: #58b436;
  border: 1px solid #fff;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.section-flow-content .number-title {
  font-size: 2.768rem;
}
.section-flow-content .number-subtitle {
  font-size: 4.624rem;
}
.section-flow-content .text-long {
  letter-spacing: -0.1em;
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-flow-content {
    padding-top: 111px;
    background: url(/img/reform/contents/flow/flow_bg001.png) top 345px center/auto no-repeat, #a0e500;
  }
  .section-flow-content::before {
    content: "";
    width: 100%;
    height: calc(100% - 1431px);
    background-color: #a7ce4b;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  .section-flow-content::after {
    content: "";
    display: block;
    width: 3000px;
    height: 500px;
    background: url(/img/reform/contents/flow/flow_bg006.png) bottom center/auto no-repeat;
    position: absolute;
    bottom: -130px;
    left: 50%;
    transform: translateX(-50%);
  }
  .section-flow-content .wrapper {
    width: 908px;
  }
  .section-flow-content .content-banner {
    box-shadow: 7px 7px 0 #fff;
    padding: 30px;
    border-radius: 100px;
    margin-left: 8px;
    margin-bottom: 65px;
  }
  .section-flow-content .content-banner .banner-subtitle {
    font-size: 2.4rem;
    margin-bottom: 15px;
  }
  .section-flow-content .content-banner .banner-subtitle:before {
    height: 34px;
    width: 1px;
    top: -3px;
    left: -18px;
    transform: rotate(-34deg);
  }
  .section-flow-content .content-banner .banner-subtitle:after {
    height: 34px;
    width: 1px;
    top: -3px;
    right: -18px;
    transform: rotate(34deg);
  }
  .section-flow-content .content-banner .banner-title {
    font-size: 3.8rem;
  }
  .section-flow-content .content-title {
    margin: 19px 0 41px -33px;
  }
  .section-flow-content .content-title:before {
    background: url(/img/reform/contents/flow/flow_bnr002.png) center/contain no-repeat;
    top: -52px;
    width: 327px;
    height: 55px;
  }
  .section-flow-content .content-title::after {
    background: url(/img/reform/contents/flow/flow_bnr003.png) center/contain no-repeat;
    right: -49px;
    bottom: -2px;
    width: 174px;
    height: 85px;
  }
  .section-flow-content .small-spacing {
    letter-spacing: -0.2em;
  }
  .section-flow-content .content-wrapper {
    margin-bottom: 60px;
    padding: 100px 53px 56px;
    background: url(/img/reform/contents/flow/flow_bg002.png) top center/contain no-repeat;
  }
  .section-flow-content .content-wrapper:before {
    background: url(/img/reform/contents/flow/flow_bg003.png) top center/contain no-repeat;
    width: 142px;
    height: 156px;
    top: 43px;
    left: 40px;
  }
  .section-flow-content .content-wrapper:after {
    background: url(/img/reform/contents/flow/flow_bg004.png) top center/contain no-repeat;
    width: 148px;
    height: 154px;
    top: 64px;
    right: 30px;
  }
  .section-flow-content .content-flow {
    margin-bottom: 46px;
  }
  .section-flow-content .flow-item {
    border-radius: 50px;
    box-shadow: 7px 7px #7ac943;
    border: 2px solid #383636;
  }
  .section-flow-content .flow-item .flow-link{
    padding: 26px 22px 18px;
    border-radius: 50px;
  }
  .section-flow-content .flow-item:not(:last-child) {
    margin-bottom: 80px;
  }
  .section-flow-content .flow-item:not(:last-child)::after {
    bottom: -58px;
    width: 38px;
    height: 22px;
    background: url(/img/reform/contents/flow/flow_icon001.png) center/contain no-repeat;
  }
  .section-flow-content .flow-link:before {
    width: 53px;
    height: 53px;
    right: 25px;
    background: url(/img/reform/contents/flow/flow_icon002.png) center/contain no-repeat;
  }
  .section-flow-content .content-note {
    padding: 20px 0;
    margin-left: 21px;
    margin-right: 18px;
    background: url(/img/reform/contents/flow/flow_bg005.png) center/contain no-repeat;
  }
  .section-flow-content .flow-number {
    top: -50px;
    left: 35px;
    width: 148px;
  }
  .section-flow-content .number-wrapper {
    padding: 0 19px;
  }
  .section-flow-content .text-long {
    margin-left: -55px;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-flow-content {
    margin-bottom: -200px;
    padding: 61px 0 61px;
    background: url(/img/reform/contents/flow/flow_bg001_sp.png) bottom center/100% 100% no-repeat;
  }
  .section-flow-content .content-banner {
    text-align: center;
    margin: 0 40px 45px 35px;
    box-shadow: 4px 4px 0 #fff;
    padding: 16px 0 18px;
    border-radius: 9px;
  }
  .section-flow-content .content-banner .banner-subtitle {
    font-size: 1.1rem;
    margin-bottom: 9px;
  }
  .section-flow-content .content-banner .banner-subtitle:before {
    height: 16px;
    width: 1px;
    top: -1px;
    left: -7px;
    transform: rotate(-28deg);
  }
  .section-flow-content .content-banner .banner-subtitle:after {
    height: 16px;
    width: 1px;
    top: -1px;
    right: -7px;
    transform: rotate(28deg);
  }
  .section-flow-content .content-banner .banner-title {
    line-height: 1.3;
    font-size: 2rem;
  }
  .section-flow-content .content-title {
    font-size: 2.795rem;
    margin-bottom: 84px;
    margin-top: 19px;
  }
  .section-flow-content .content-title:before {
    background: url(/img/reform/contents/flow/flow_bnr002_sp.png) center/contain no-repeat;
    top: -22px;
    width: 154px;
    height: 27px;
  }
  .section-flow-content .content-title::after {
    background: url(/img/reform/contents/flow/flow_bnr003_sp.png) center/contain no-repeat;
    right: -37px;
    bottom: 0;
    width: 83px;
    height: 41px;
  }
  .section-flow-content .content-wrapper {
    margin: 0 30px 35px;
    padding: 29px 19.5px 7px 13.5px;
    background: url(/img/reform/contents/flow/flow_bg002_sp.png) top center/100% 100% no-repeat;
  }
  .section-flow-content .content-wrapper:before {
    background: url(/img/reform/contents/flow/flow_bg003.png) top center/contain no-repeat;
    width: 71px;
    height: 78px;
    top: 99px;
    left: 78px;
  }
  .section-flow-content .content-wrapper:after {
    background: url(/img/reform/contents/flow/flow_bg004.png) top center/contain no-repeat;
    width: 74px;
    height: 77px;
    top: 98px;
    right: 78px;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-flow-content .content-flow {
    margin-bottom: 6px;
  }
  .section-flow-content .flow-item {
    font-size: 1.7rem;
    border-radius: 50px;
    box-shadow: 5px 4px #7ac943;
  }
  .section-flow-content .flow-item .flow-link{
    padding: 12px 22px 8px;
    border-radius: 50px;
  }
  .section-flow-content .flow-item:not(:last-child) {
    margin-bottom: 31px;
  }
  .section-flow-content .flow-item:not(:last-child)::after {
    bottom: -23px;
    width: 16px;
    left: 50%;
    height: 10px;
    background: url(/img/reform/contents/flow/flow_icon001_sp.png) center/contain no-repeat;
  }
  .section-flow-content .flow-link:before {
    width: 21px;
    height: 21px;
    right: 15px;
    background: url(/img/reform/contents/flow/flow_icon002_sp.png) center/contain no-repeat;
  }
  .section-flow-content .content-note {
    font-size: 1.4rem;
    padding: 21px 0 20px;
    margin-left: 6px;
    background: url(/img/reform/contents/flow/flow_bg005_sp.png) center/contain no-repeat;
  }
  .section-flow-content .flow-number {
    top: 50%;
    left: -4px;
    width: 48px;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
  }
  .section-flow-content .number-title {
    font-size: 0.982rem;
  }
  .section-flow-content .number-subtitle {
    font-size: 1.746rem;
  }
  .section-flow-content .small-title {
    font-size: 2rem;
  }
  .section-flow-content .flow-item.two-row {
    font-size: 1.6rem;
    line-height: 1.08125;
  }
  .section-flow-content .flow-item.two-row .flow-link {
    padding: 8px 22px 7px;
  }
  .section-flow-content .flow-item.two-row .font-pa-bold {
    line-height: 1.08125;
  }
}
.section-step .wrapper {
  margin-left: auto;
  margin-right: auto;
}
.section-step .step-item {
  position: relative;
}
.section-step .step-item:not(:last-child):after {
  content: "";
  position: absolute;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}
.section-step .item-wrapper {
  position: relative;
}
.section-step .step-banner {
  position: relative;
  z-index: 1;
  display: inline-block;
}
.section-step .step-wrapper {
  background: #fff;
}
.section-step .step-title {
  font-size: 4.2rem;
  color: #3b4043;
  font-weight: bold;
  display: block;
  z-index: 1;
  text-align: center;
}
.section-step .step-content {
  display: -ms-flexbox;
  display: flex;
}
.section-step .step-text {
  font-size: 2rem;
  line-height: 1.9;
  color: #383636;
  text-align: justify;
  font-weight: bold;
}
.section-step .step-description {
  -ms-flex-positive: 1;
      flex-grow: 1;
}
.section-step .step-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.section-step .step-point {
  position: relative;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}
.section-step .point-text {
  color: #3b4043;
  letter-spacing: 0.08em;
  line-height: 1.556;
}
.section-step .point-title {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
}
.section-step .point-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.section-step .step-number {
  position: absolute;
}
.section-step .number-wrapper {
  background: #fff;
  border: 1px solid #58b436;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.section-step .number-title {
  color: #383636;
}
.section-step .number-subtitle {
  color: #58b436;
}
.section-step .banner-wrapper {
  text-align: center;
}
.section-step .step-link {
  font-weight: bold;
  color: #fff;
  background: #00a000;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
}
.section-step .step-link img {
  display: none;
}
.section-step .step-link .text-wrapper {
  text-align: center;
}
.section-step .step-link::after {
  content: "";
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
}
.section-step .step-link.is-orange {
  background: #ff8232;
}
.section-step .step-link .is-yellow {
  color: #ffff00;
}
.section-step .step-detail {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}
.section-step .detail-item {
  line-height: 1.25;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.section-step {
  background-blend-mode: multiply;
}
.section-step .point-text {
  text-align: justify;
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-step {
    padding: 281px 0 112px;
    background: url(/img/reform/contents/flow/step_bg001.png) top -13px left calc(50% + 256px)/auto, #58b436;
  }
  .section-step .wrapper {
    width: 986px;
  }
  .section-step .step-list {
    margin-bottom: 80px;
  }
  .section-step .step-item:not(:last-child) {
    margin-bottom: 111px;
  }
  .section-step .step-item:not(:last-child):after {
    bottom: -89px;
    width: 62px;
    height: 43px;
    background: url(/img/reform/contents/flow/step_icon001.png) center/contain no-repeat;
  }
  .section-step .item-wrapper {
    border-radius: 40px;
    border: 4px solid #fff;
  }
  .section-step .step-banner {
    bottom: -17px;
  }
  .section-step .step-wrapper {
    border-radius: 36px;
    border: 12px solid #58b436;
    padding: 45px 51px 48px;
  }
  .section-step .step-title {
    font-size: 4.2rem;
    margin-bottom: 21px;
    text-align: center;
  }
  .section-step .step-title .text-highlight {
    position: relative;
    z-index: 1;
  }
  .section-step .step-title .text-highlight::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 14px;
    z-index: -1;
    width: 100%;
    height: 12px;
    background-color: #fff462;
  }
  .section-step .step-content {
    margin-bottom: 36px;
  }
  .section-step .step-description {
    width: 506px;
  }
  .section-step .step-text {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .section-step .step-image {
    width: 316px;
    margin-top: 13px;
    margin-left: 39px;
  }
  .section-step .step-point {
    width: 516px;
    height: 157px;
    background: url(/img/reform/contents/flow/step_bg003.png) center/contain no-repeat;
    padding: 0 25px;
  }
  .section-step .point-text {
    font-size: 1.8rem;
    margin-left: 11px;
    padding-right: 11px;
    margin-top: -1px;
  }
  .section-step .point-title {
    background: url(/img/reform/contents/flow/step_bg002.png) center/contain no-repeat;
    width: 76px;
    height: 26px;
    top: -13px;
    left: 32px;
  }
  .section-step .point-image {
    width: 79px;
    margin-left: 10px;
  }
  .section-step .step-number {
    top: 21px;
    left: -106px;
    width: 149px;
  }
  .section-step .number-title {
    font-size: 2.768rem;
  }
  .section-step .number-subtitle {
    font-size: 4.624rem;
  }
  .section-step .step-link {
    padding-right: 15px;
    /* padding-top: 5px; */
    width: 604px;
    height: 69px;
    font-size: 2.5rem;
    border: 2px solid #fff;
    border-radius: 40px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
  .section-step .step-link:not(:last-child) {
    margin-bottom: 27px;
  }
  .section-step .step-link::after {
    right: 16px;
    width: 12px;
    height: 19px;
    background: url(/img/reform/contents/flow/step_icon002.png) center/contain no-repeat;
  }
  .section-step .step-detail {
    margin-top: 48px;
    padding: 0 28px 29px;
  }
  .section-step .detail-item:not(:last-child) {
    margin-right: 13px;
  }
  .section-step .detail-item:first-child {
    padding-top: 10px;
    font-size: 1.9rem;
    width: 129px;
    height: 109px;
    background: url(/img/reform/contents/flow/step_bg004.png) center/contain no-repeat;
    margin-right: 38px;
  }
  .section-step .detail-item:not(:first-child) {
    font-size: 1.6rem;
    width: 149px;
    height: 107px;
  }
  .section-step .detail-item:nth-of-type(2) {
    background: url(/img/reform/contents/flow/step_bg005.png) center/contain no-repeat;
  }
  .section-step .detail-item:nth-of-type(3) {
    background: url(/img/reform/contents/flow/step_bg006.png) center/contain no-repeat;
  }
  .section-step .detail-item:nth-of-type(4) {
    background: url(/img/reform/contents/flow/step_bg007.png) center/contain no-repeat;
  }
  .section-step .detail-item:nth-of-type(5) {
    background: url(/img/reform/contents/flow/step_bg008.png) center/contain no-repeat;
  }
  .section-step .step-item.step-02 .step-title {
    margin-top: 5px;
  }
  .section-step .step-item.step-02 .step-banner {
    margin-left: 16px;
  }
  .section-step .step-item.step-02 .step-number {
    top: 43px;
    left: -118px;
    width: 148px;
  }
  .section-step .step-item.step-02 .step-image {
    width: 322px;
    margin-left: 33px;
  }
  .section-step .step-item.step-02 .step-content {
    margin-bottom: 41px;
  }
  .section-step .step-item.step-02 .step-point {
    height: 241px;
    background: url(/img/reform/contents/flow/step_bg009.png) center/contain no-repeat;
  }
  .section-step .step-item.step-02 .point-image {
    float: right;
    margin: 21px 7px 0 12px;
  }
  .section-step .step-item.step-02 .point-text {
    padding-top: 24px;
  }
  .section-step .step-item.step-02 .step-point {
    display: block;
    padding: 0 18px 0 25px;
  }
  .section-step .step-item.step-03 .step-banner {
    margin-left: 17px;
  }
  .section-step .step-item.step-03 .step-number {
    top: 43px;
    left: -119px;
    width: 148px;
  }
  .section-step .step-item.step-03 .step-title {
    letter-spacing: -0.09em;
    margin: 10px -10px 0;
  }
  .step-item.step-03 .step-title .text-highlight-sp {
    letter-spacing: -.06em;
  }
  .section-step .step-item.step-03 .step-description {
    margin-left: 4px;
    margin-top: 47px;
  }
  .section-step .step-item.step-03 .step-image {
    width: 326px;
    margin-left: 71px;
    margin-right: 44px;
  }
  .section-step .step-item.step-03 .step-text {
    letter-spacing: -0.02em;
  }
  .section-step .step-item.step-03 .step-content {
    margin-bottom: 0;
  }
  .section-step .step-item.step-03 .step-wrapper {
    padding-bottom: 18px;
  }
  .section-step .step-item.step-04 .step-number {
    top: 25px;
    left: -130px;
  }
  .section-step .step-item.step-04 .step-image {
    margin-left: 72px;
    margin-right: 43px;
    margin-top: 29px;
    width: 340px;
  }
  .section-step .step-item.step-04 .step-text {
    margin: -3px 0 26px 5px;
  }
  .section-step .step-item.step-04 .step-point {
    width: 416px;
    background: url(/img/reform/contents/flow/step_bg010.png) center/contain no-repeat;
  }
  .section-step .step-item.step-04 .point-title {
    top: 1px;
  }
  .section-step .step-item.step-04 .step-content {
    margin-bottom: 26px;
  }
  .section-step .step-item.step-04 .text-long {
    padding-right: 25px;
    letter-spacing: -0.04em;
  }
  .section-step .step-item.step-05 .step-wrapper {
    padding-top: 60px;
  }
  .section-step .step-item.step-05 .step-number {
    top: 24px;
    left: -124px;
  }
  .section-step .step-item.step-05 .step-description {
    margin-left: 67px;
    width: 339px;
    margin-top: 54px;
    -ms-flex-positive: 0;
        flex-grow: 0;
  }
  .section-step .step-item.step-05 .step-image {
    width: 300px;
    margin-left: 73px;
    margin-top: 9px;
  }
  .section-step .step-item.step-05 .step-title {
    line-height: 1;
    padding-left: 16px;
    text-indent: -16px;
    margin-bottom: 31px;
  }
  .is-mac .section-step .step-item.step-05 .step-title {
    line-height: 1.3;
  }

  .section-step .step-item.step-05 .step-text {
    font-size: 2.5rem;
    margin-left: 16px;
    line-height: 1.52;
  }
  .section-step .step-item.step-05 .step-content {
    margin-bottom: 26px;
  }
  .section-step .step-item.step-06 .step-banner {
    margin-left: -7px;
  }
  .section-step .step-item.step-06 .step-number {
    left: -130px;
    top: 25px;
    width: 148px;
  }
  .section-step .step-item.step-06 .step-image {
    margin-top: 24px;
  }
  .section-step .step-item.step-06 .step-title {
    margin-top: 10px;
    margin-bottom: 19px;
  }
  .section-step .step-item.step-06 .step-point {
    background: url(/img/reform/contents/flow/step_bg011.png) center/contain no-repeat;
  }
  .section-step .step-item.step-06 .step-text {
    margin-bottom: 33px;
  }
  .section-step .step-item.step-06 .point-text {
    letter-spacing: -0.015em;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-step {
    padding: 246px 0 52px;
    background: url(/img/reform/contents/flow/step_bg001_sp.png) top left/360px 360px, #58b436;
  }
  .section-step .wrapper {
    padding: 0 27px;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) and (min-width: 0px) and (max-width: 320px) {
  .section-step .wrapper {
    padding: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-step .step-list {
    margin-bottom: 50px;
  }
  .section-step .step-item:not(:last-child) {
    margin-bottom: 54px;
  }
  .section-step .step-item:not(:last-child):after {
    bottom: -42px;
    width: 31px;
    height: 22px;
    background: url(/img/reform/contents/flow/step_icon001.png) center/contain no-repeat;
  }
  .section-step .item-wrapper {
    border-radius: 15px;
    border: 2px solid #fff;
  }
  .section-step .step-banner {
    width: 181px;
    height: 36px;
    bottom: -7px;
  }
  .section-step .step-banner img {
    width: 100%;
  }
  .section-step .step-wrapper {
    border-radius: 15px;
    border: 4px solid #58b436;
    padding: 29px 13px 22px;
  }
  .section-step .step-title {
    line-height: 1.2;
    font-size: 2.5rem;
    margin-bottom: 15px;
    text-align: center;
  }
  .section-step .step-title .text-highlight-sp {
    position: relative;
    z-index: 1;
    display: inline-block;
  }
  .section-step .step-title .text-highlight-sp::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 3px;
    z-index: -1;
    width: 100%;
    height: 5px;
    background-color: #fff462;
  }
  .section-step .step-content {
    margin-bottom: 12px;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
  .section-step .step-text {
    padding-left: 5px;
    padding-right: 5px;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: -0.02em;
  }
  .section-step .step-image {
    width: 158px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 14px;
  }
  .section-step .step-point {
    padding-top: 37px;
    padding-left: 5px;
    width: 288px;
    height: 155px;
    background: url(/img/reform/contents/flow/step_bg003_sp.png) center/contain no-repeat;
  }
  .section-step .point-text {
    font-size: 1.4rem;
    line-height: 1.4286;
    margin-left: 11px;
    padding-right: 11px;
    margin-top: -1px;
    letter-spacing: 0;
  }
  .section-step .step-04 .point-text {
    letter-spacing: -0.02em;
    margin-top: 5px;
  }
  .section-step .point-image {
    width: 79px;
  }
  .section-step .step-number {
    top: 11px;
    left: -53px;
    width: 65px;
  }
  .section-step .number-title {
    font-size: 1.35rem;
  }
  .section-step .number-subtitle {
    font-size: 2.4rem;
  }
  .section-step .point-title {
    display: none;
  }
  .section-step .step-link {
    line-height: 1.2;
    font-size: 1.5rem;
    padding-right: 15px;
    width: 282px;
    height: 52px;
    border: 1px solid #fff;
    border-radius: 40px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
  .section-step .step-link:not(:last-child) {
    margin-bottom: 15px;
  }
  .section-step .step-link::after {
    right: 16px;
    width: 7px;
    height: 11px;
    background: url(/img/reform/contents/flow/step_icon002_sp.png) center/contain no-repeat;
  }
  .section-step .step-detail {
    -ms-flex-direction: column;
        flex-direction: column;
    margin-top: 22px;
    padding: 0 16px;
  }
  .section-step .detail-item {
    width: 100%;
    margin: 0 auto;
  }
  .section-step .detail-item:first-child {
    font-size: 1.7rem;
    height: 34px;
    background: url(/img/reform/contents/flow/step_bg004_sp.png) center/contain no-repeat;
    margin-bottom: 21px;
  }
  .section-step .detail-item:not(:first-child) {
    font-size: 1.5rem;
    height: 43px;
    margin-bottom: 10px;
  }
  .section-step .detail-item:last-child {
    margin-bottom: 0;
  }
  .section-step .detail-item:nth-of-type(2) {
    background: url(/img/reform/contents/flow/step_bg005_sp.png) center/contain no-repeat;
  }
  .section-step .detail-item:nth-of-type(3) {
    background: url(/img/reform/contents/flow/step_bg006_sp.png) center/contain no-repeat;
  }
  .section-step .detail-item:nth-of-type(4) {
    background: url(/img/reform/contents/flow/step_bg007_sp.png) center/contain no-repeat;
  }
  .section-step .detail-item:nth-of-type(5) {
    background: url(/img/reform/contents/flow/step_bg008_sp.png) center/contain no-repeat;
  }
  .section-step .step-item.step-02 .step-banner {
    width: 233px;
    height: 41px;
  }
  .section-step .step-item.step-02 .step-number {
    top: 20px;
    left: -51px;
  }
  .section-step .step-item.step-02 .step-image {
    width: 161px;
  }
  .section-step .step-item.step-02 .step-point {
    height: 234px;
    background: url(/img/reform/contents/flow/step_bg009_sp.png) center/contain no-repeat;
  }
  .section-step .step-item.step-02 .point-text {
    letter-spacing: 0.01em;
  }
  .section-step .step-item.step-03 .step-banner {
    width: 233px;
    height: 41px;
  }
  .section-step .step-item.step-03 .step-number {
    top: 20px;
    left: -51px;
  }
  .section-step .step-item.step-03 .step-image {
    width: 163px;
  }
  .section-step .step-item.step-04 .step-banner {
    width: 193px;
    height: 34px;
  }
  .section-step .step-item.step-04 .step-number {
    top: 10px;
    left: -53px;
  }
  .section-step .step-item.step-04 .step-title {
    letter-spacing: -0.02em;
  }
  .section-step .step-item.step-04 .step-image {
    width: 170px;
  }
  .section-step .step-item.step-04 .step-point {
    height: 110px;
    background: url(/img/reform/contents/flow/step_bg010_sp.png) center/contain no-repeat;
  }
  .section-step .step-item.step-05 .step-banner {
    width: 233px;
    height: 30px;
  }
  .section-step .step-item.step-05 .step-number {
    top: 8px;
    left: -51px;
  }
  .section-step .step-item.step-05 .step-image {
    width: 150px;
  }
  .section-step .step-item.step-05 .step-text {
    text-align: center;
    font-size: 2rem;
  }
  .section-step .step-item.step-06 .step-banner {
    width: 183px;
    height: 33px;
  }
  .section-step .step-item.step-06 .step-number {
    top: 10px;
    left: -51px;
  }
  .section-step .step-item.step-06 .step-point {
    height: 169px;
    background: url(/img/reform/contents/flow/step_bg011_sp.png) center/contain no-repeat;
  }
  .section-step .step-item.step-06 .point-text {
    margin-top: 5px;
  }
}
.common-flow-banner {
  line-height: 1.75;
  display: block;
  margin: 0 auto;
}
.common-flow-banner .banner-wrapper {
  background: #ff8232;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
}
.common-flow-banner .banner-content {
  -ms-flex-positive: 1;
      flex-grow: 1;
}
.common-flow-banner .banner-title {
  font-weight: bold;
  color: #fff;
  display: block;
  position: relative;
  letter-spacing: 0.04em;
}
.common-flow-banner .banner-subtitle {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  letter-spacing: 0.1em;
  font-weight: bold;
  color: #ff8232;
  background: #fff;
}
.common-flow-banner .banner-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.common-flow-banner.trans {
  text-decoration: none;
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .common-flow-banner {
    border: 5px solid #ff8232;
    width: 750px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
  .common-flow-banner .banner-wrapper {
    border: 2px solid #fff;
    padding: 0 9px 0 20px;
    height: 111px;
  }
  .common-flow-banner .banner-title {
    font-size: 2.2rem;
    top: -1px;
    left: 4px;
    letter-spacing: 0.03em;
  }
  .common-flow-banner .banner-subtitle {
    font-size: 2.6rem;
    border-radius: 20px;
    display: block;
    padding: 5px 20px 6px;
    text-align: center;
    line-height: 1;
  }
  .common-flow-banner .banner-image {
    margin-left: 29px;
  }
  .is-mac .common-flow-banner .banner-subtitle {
    padding-bottom: 5px;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .common-flow-banner {
    border: 2px solid #ff8232;
    width: 314px;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  }
  .common-flow-banner .banner-wrapper {
    border: 1px solid #fff;
    padding: 0 4px 0 13px;
    height: 85px;
  }
  .common-flow-banner .banner-title {
    line-height: 1.2694;
    text-align: center;
    font-size: 1.418rem;
    top: -4px;
    left: 4px;
    margin-bottom: 2px;
    letter-spacing: 0.04em;
  }
  .common-flow-banner .banner-subtitle {
    font-size: 1.6rem;
    border-radius: 20px;
    height: 25px;
  }
  .common-flow-banner .banner-image {
    width: 12.3rem;
    margin-left: 11px;
  }
  .common-flow-banner .banner-image img {
    width: 100%;
  }
}
.section-flow .trans, .section-flow-content .trans, .section-step .trans, .section-constructor-information .trans {
  text-decoration: none;
}

@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-flow-content .wrapper, .section-step .wrapper {
    max-width: 375px;
  }
}
.section-constructor-information .constructor {
  text-align: center;
  position: relative;
}
.section-constructor-information .constructor:before {
  content: "";
  position: absolute;
}
.section-constructor-information .constructor:after {
  content: "";
  position: absolute;
  z-index: 1;
}
.section-constructor-information .constructor-title {
  color: #0071bc;
}
.section-constructor-information .constructor-title >span{
  position: relative;
  z-index: 1;
}
.section-constructor-information .constructor-title >span::before {
  content: '';
  position: absolute;
  z-index: -3;
  width: 100%;
  height: 10px;
  bottom: 0;
  left: 0;
  background: url(/img/reform/contents/flow/bg_dash.png) repeat-x bottom left/26px 10px;
}
.section-constructor-information .information-image {
  text-align: center;
  margin-bottom: 47px;
}
.section-constructor-information .constructor-text {
  font-weight: bold;
  letter-spacing: 0.01em;
  color: #3b4043;
}
.section-constructor-information .constructor-list {
  text-align: left;
}
.section-constructor-information .constructor-item {
  color: #3b4043;
  font-weight: bold;
  position: relative;
}
.section-constructor-information .constructor-item:before {
  content: "";
  position: absolute;
  border: 1px solid #3b4043;
}
.section-constructor-information .constructor-note {
  font-weight: 500;
  color: #3b4043;
  position: relative;
  z-index: 1;
}
.section-constructor-information .constructor-note:before {
  z-index: -1;
  position: absolute;
  content: "";
  width: 100%;
  background: url(/img/reform/contents/flow/constructor_bg002.png) center/cover no-repeat;
  top: 42%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
}
.section-constructor-information .constructor-note:after {
  position: absolute;
  content: "";
  background: url(/img/reform/contents/flow/constructor_icon002.png) center/contain no-repeat;
}
.section-constructor-information .information {
  background: #ffe8f0;
  position: relative;
}
.section-constructor-information .information:before {
  content: "";
  position: absolute;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  background: url(/img/reform/contents/flow/information_bg002.png) center/contain no-repeat;
}
.section-constructor-information .information:after {
  content: "";
  position: absolute;
  background: url(/img/reform/contents/flow/information_bg005.png) center/contain no-repeat;
}
.section-constructor-information .information .information-heading {
  position: absolute;
  left: 0;
}
.section-constructor-information .information-title {
  text-align: center;
  font-weight: bold;
  color: #ea6694;
}
.section-constructor-information .information-banner {
  text-align: center;
  color: #3b4043;
}
.section-constructor-information .information-banner .is-pink {
  color: #ea6694;
  line-height: 1;
}
.section-constructor-information .information-text {
  text-align: center;
  color: #3b4043;;
}
.section-constructor-information .remodeling-title {
  text-align: center;
  font-weight: 500;
  color: #3b4043;
}
.section-constructor-information .information-remodeling {
  background: url(/img/reform/contents/flow/information_bg003.png) top center/cover no-repeat;
  position: relative;
}
.section-constructor-information .information-remodeling:before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  background: url(/img/reform/contents/flow/information_bg004.png) center/contain no-repeat;
}
.section-constructor-information .remodeling-wrapper {
  background: #fff;
}
.section-constructor-information .detail-item {
  line-height: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  border-bottom: 1px solid #a8a8a8;
}
.section-constructor-information .detail-title {
  color: #3b4043;
  -ms-flex-positive: 1;
      flex-grow: 1;
}
.section-constructor-information .detail-percent {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.section-constructor-information .detail-number {
  position: relative;
}
.section-constructor-information .number {
  font-weight: bold;
  color: #fff;
}
.section-constructor-information .character {
  position: relative;
  font-weight: 500;
  color: #fff;
}
.section-constructor-information .information-link {
  display: block;
  margin: 0 auto;
  letter-spacing: 0.07em;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  color: #fff;
}
.section-constructor-information .information-link:after {
  content: "";
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(/img/reform/contents/flow/information_icon003.png) center/contain no-repeat;
}
.section-constructor-information .information-link .text {
  width: 100%;
  height: 100%;
  background: #ea6694;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.section-constructor-information .information-link img {
  display: none;
}
.section-constructor-information .reform-link {
  line-height: 1.75;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #10889c;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  position: relative;
}
.section-constructor-information .reform-link:before {
  content: "";
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  background: url(/img/reform/contents/flow/information_icon004.png) center/contain no-repeat;
}
.section-constructor-information .reform-title {
  text-align: center;
  color: #3b4043;
  letter-spacing: 0.01em;
}

@media print, screen and (min-width:769px) and (max-width:9999px) {
  .section-constructor-information {
    padding-top: 180px;
    padding-bottom: 85px;
    background: url(/img/reform/contents/flow/constructor_bg003.png) top -22px left calc(50% + 294px)/auto, #e5f5fb;
  }
  .section-constructor-information .wrapper {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }
  .section-constructor-information .information-text {
    line-height: 1.667;
    margin-bottom: 66px;
    letter-spacing: -0.06em;
    padding: 0 90px;
  }
  .section-constructor-information .constructor + .common-flow-banner {
    margin-bottom: 208px;
  }
  .section-constructor-information .constructor {
    padding-top: 233px;
    background: url(/img/reform/contents/flow/constructor_bg001.png) top center/contain no-repeat;
    width: 813px;
    height: 949px;
    margin: 0 auto 75px;
  }
  .section-constructor-information .constructor:before {
    width: 386px;
    height: 122px;
    background: url(/img/reform/contents/flow/constructor_img001.png) top center/contain no-repeat;
    top: -79px;
    right: 108px;
  }
  .section-constructor-information .constructor:after {
    width: 102px;
    height: 376px;
    background: url(/img/reform/contents/flow/constructor_bg004.png) top center/contain no-repeat;
    bottom: -11px;
    left: -40px;
  }
  .section-constructor-information .constructor-title {
    font-size: 5.2rem;
    margin-bottom: 48px;
    line-height: 1;
  }
  .section-constructor-information .constructor-text {
    font-size: 2.485rem;
    padding: 0 100px;
    margin-bottom: 42px;
  }
  .section-constructor-information .constructor-list {
    padding: 0 74px 0 167px;
    margin-bottom: 102px;
  }
  .section-constructor-information .constructor-item {
    font-size: 2.821rem;
    letter-spacing: -0.07em;
  }
  .section-constructor-information .constructor-item:not(:last-child) {
    margin-bottom: 21px;
  }
  .section-constructor-information .constructor-item:before {
    width: 24px;
    height: 24px;
    background: url(/img/reform/contents/flow/constructor_icon001.png) center/15px no-repeat;
    top: 8px;
    left: -31px;
  }
  .section-constructor-information .constructor-note {
    line-height: 1.25;
    font-size: 2.6rem;
    letter-spacing: -.02em;
  }
  .section-constructor-information .constructor-note:before {
    height: 118px;
    top: 42%;
  }
  .section-constructor-information .constructor-note:after {
    width: 131px;
    height: 129px;
    top: -125px;
    right: 81px;
  }
  .section-constructor-information .common-flow-banner {
    margin-bottom: 57px;
  }
  .section-constructor-information .information {
    padding: 150px 0 79px;
    margin-bottom: 133px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
  }
  .section-constructor-information .information:before {
    top: 65px;
    width: 136px;
    height: 137px;
  }
  .section-constructor-information .information:after {
    top: 317px;
    right: 21px;
    width: 81px;
    height: 423px;
  }
  .section-constructor-information .information .information-heading {
    top: -59px;
    width: 311px;
  }
  .section-constructor-information .information-title .custom-spacing {
    letter-spacing: -0.07em;
  }
  .section-constructor-information .information-title {
    font-size: 4.7rem;
    margin-bottom: 14px;
    letter-spacing: -0.03em;
  }
  .section-constructor-information .information-banner {
    font-size: 3rem;
    border-top: 4px solid #fff;
    border-bottom: 4px solid #fff;
    margin: 0 75px 47px;
    letter-spacing: -0.02em;
    padding: 40px 0 33px;
    line-height: 1.35;
  }
  .section-constructor-information .information-banner .is-pink {
    font-size: 3.8rem;
    letter-spacing: -0.14em;
    margin: 0 -12px;
  }
  .section-constructor-information .information-text {
    font-size: 2.1rem;
    margin-bottom: 66px;
  }
  .section-constructor-information .remodeling-title {
    margin-bottom: 26px;
    font-size: 3.17rem;
    line-height: 1.25;
  }
  .section-constructor-information .small-title {
    font-size: 2.5rem;
  }
  .section-constructor-information .detail-percent {
    width: 92px;
    position: relative;
    top: -2px;
  }
  .section-constructor-information .percent-tail {
    font-size: 3.4rem;
  }
  .section-constructor-information .information-remodeling {
    width: 751px;
    margin: 0 auto 70px;
    padding: 15px;
  }
  .section-constructor-information .information-remodeling:before {
    top: -25px;
    width: 161px;
    height: 49px;
  }
  .section-constructor-information .remodeling-wrapper {
    padding: 53px 0 38px;
  }
  .section-constructor-information .remodeling-detail {
    padding: 0 65px;
  }
  .section-constructor-information .remodeling-detail li:nth-child(2) {
    margin-top: 2px;
  }
  .section-constructor-information .detail-item {
    padding-bottom: 4px;
  }
  .section-constructor-information .detail-item:not(:last-child) {
    margin-bottom: 10px;
  }
  .section-constructor-information .detail-title {
    font-size: 2.5rem;
    padding-left: 12px;
    letter-spacing: -0.04em;
  }
  .section-constructor-information .detail-number {
    margin-left: -5px;
    top: -3px;
    width: 57px;
  }
  .section-constructor-information .number {
    font-size: 3rem;
  }
  .section-constructor-information .character {
    top: 3px;
    font-size: 1.7rem;
  }
  .section-constructor-information .information-link {
    width: 700px;
    height: 80px;
    font-size: 3.2rem;
    border: 4px solid #ea6694;
    border-radius: 40px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
  .section-constructor-information .information-link:after {
    right: 27px;
    width: 18px;
    height: 28px;
  }
  .section-constructor-information .information-link .text {
    padding-right: 20px;
    border-radius: 40px;
    border: 2px solid #fff;
  }
  .section-constructor-information .reform-link {
    width: 752px;
    height: 171px;
    padding: 20px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
  .section-constructor-information .reform-link:before {
    right: 287px;
    width: 55px;
    height: 55px;
  }
  .section-constructor-information .reform-link img {
    width: 250px;
  }
  .section-constructor-information .reform-title {
    margin-top: 10px;
    font-size: 2.7rem;
    line-height: 1.407407;
  }
  .section-constructor-information .last-banner {
    margin-bottom: 57px;
  }
}

@media screen and (min-width:0px) and (max-width:768px) {
  .section-step .step-title {
    letter-spacing: -.05em;
  }
  .section-step .step-03 .step-title {
    letter-spacing: -.1em;
  }
  .section-constructor-information {
    margin: 0 -15px;
    padding-top: 78px;
    padding-bottom: 43px;
    background: url(/img/reform/contents/flow/constructor_bg003_sp.png) top left/320px 320px, #e5f5fb;
  }
  .section-constructor-information .constructor {
    padding-top: 125px;
    padding-bottom: 54px;
    background: url(/img/reform/contents/flow/constructor_bg001_sp.png) top center/contain no-repeat;
    margin: 0 auto 62px;
  }
  .section-constructor-information .constructor:before {
    width: 193px;
    height: 61px;
    background: url(/img/reform/contents/flow/constructor_img001.png) top center/contain no-repeat;
    top: -36px;
    right: calc(50% - 152px);
  }
  .section-constructor-information .constructor:after {
    width: 42px;
    height: 155px;
    background: url(/img/reform/contents/flow/constructor_bg004_sp.png) top center/contain no-repeat;
    bottom: -25px;
    left: calc(50% - 150px);
  }
  .section-constructor-information .constructor-title {
    margin-bottom: 14px;
    font-size: 2.7rem;
    line-height: 1.17;
    position: relative;
  }
  .section-constructor-information .constructor-title small {
    font-size: 2.3rem;
  }
  
  .section-constructor-information .constructor-title:before {
    content: '';
    position: absolute;
    width: 108px;
    height: 75px;
    background: url(/img/reform/contents/flow/constructor_bg005_sp.png) top center/contain no-repeat;
    top: -91px;
    left: 50%;
    transform: translateX(-50%);
  }
  .section-constructor-information .constructor-text {
    font-size: 1.246rem;
    margin-bottom: 18px;
  }
  .section-constructor-information .constructor-list {
    padding: 0 75px 0 107px;
    width: 405px;
    margin: 0 auto 38px;
  }
  .section-constructor-information .constructor-item {
    font-size: 1.7rem;
    line-height: 1.3;
    letter-spacing: -0.05em;
  }
  .section-constructor-information .constructor-item:not(:last-child) {
    margin-bottom: 13px;
  }
  .section-constructor-information .constructor-item:before {
    width: 15px;
    height: 15px;
    background: url(/img/reform/contents/flow/constructor_icon001.png) center/8px no-repeat;
    top: 3px;
    left: -18px;
  }
  .section-constructor-information .constructor-note {
    width: 305px;
    margin: 0 auto;
    line-height: 1.25;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
  }
  .section-constructor-information .constructor-note:before {
    height: 80px;
    top: 46%;
  }
  .section-constructor-information .constructor-note:after {
    width: 68px;
    height: 66px;
    top: -39px;
    right: calc(50% - 142px);
  }
  .section-constructor-information .common-flow-banner {
    margin-bottom: 72px;
  }
  .section-constructor-information .information {
    width: 100%;
    max-width: 314px;
    margin: 0 auto 50px;
    padding: 57px 16px 27px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
  }
  .section-constructor-information .information + .common-flow-banner {
    margin-bottom: 17px;
  }
  .section-constructor-information .information:before {
    top: 14px;
    width: 60px;
    height: 61px;
  }
  .section-constructor-information .information:after {
    top: 9px;
    right: -3px;
    width: 33px;
    height: 173px;
  }
  .section-constructor-information .information .information-heading {
    top: -23px;
    width: 125px;
  }
  .section-constructor-information .information-title {
    font-size: 2.9rem;
    margin-bottom: 25px;
    line-height: 1.25;
    letter-spacing: -0.1em;
  }
  .section-constructor-information .information-text {
    font-size: 1.45rem;
    margin: 0 7px 33px;
    line-height: 1.656;
    letter-spacing: -0.07em;
  }
  .section-constructor-information .information-banner {
    font-size: 1.7rem;
    line-height: 1.4;
    border-top: 4px solid #fff;
    border-bottom: 4px solid #fff;
    letter-spacing: -0.02em;
    padding: 21px 0 8px;
    margin: 0 5px 28px;
  }
  .section-constructor-information .information-banner .is-pink {
    font-size: 2.2rem;
    letter-spacing: -0.2em;
  }
  .section-constructor-information .remodeling-title {
    font-size: 1.8rem;
    margin-bottom: 6px;
    line-height: 1.16;
    letter-spacing: -0.06em;
  }
  .section-constructor-information .small-title {
    font-size: 1.26rem;
  }
  .section-constructor-information .detail-percent {
    width: 57px;
    position: relative;
    top: 1px;
  }
  .section-constructor-information .percent-tail {
    font-size: 2.24rem;
  }
  .section-constructor-information .information-remodeling {
    max-width: 500px;
    margin: 0 auto 24px;
    padding: 7px 7px 7px 4px;
    background-image: url(/img/reform/contents/flow/information_bg003_sp.png);
  }
  .section-constructor-information .information-remodeling:before {
    top: -12px;
    width: 81px;
    height: 24px;
  }
  .section-constructor-information .remodeling-wrapper {
    padding: 28px 0 14px;
  }
  .section-constructor-information .remodeling-detail {
    padding: 0 15px;
  }
  .section-constructor-information .detail-item {
    margin: 0 -5px 5px;
    padding-bottom: 6px;
  }
  .section-constructor-information .detail-item:first-child .detail-title {
    flex-basis: 60%;
    padding-right: 2px;
    margin-right: 0;
  }
  .section-constructor-information .detail-title {
    flex: 55% 0 0;
    margin-right: 10px;
    margin-top: 3px;
    font-size: 1.4rem;
    letter-spacing: -0.1em;
    padding-left: 7px;
    line-height: 1.2;
  }
  .section-constructor-information .detail-number {
    flex: 32px 0 0;
  }
  .section-constructor-information .number {
    font-size: 1.67rem;
  }
  .section-constructor-information .character {
    top: 3px;
    font-size: 0.95rem;
  }
  .section-constructor-information .information-link {
    height: 56px;
    font-size: 1.6rem;
    border: 2px solid #ea6694;
    border-radius: 40px;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    text-align: center;
  }
  .section-constructor-information .information-link:after {
    right: 13px;
    width: 7px;
    height: 14px;
  }
  .section-constructor-information .information-link .text {
    padding-right: 30px;
    padding-left: 20px;
    border-radius: 40px;
    border: 1px solid #fff;
    letter-spacing: 0;
  }
  .section-constructor-information .reform-link {
    width: 314px;
    height: 90px;
    margin-bottom: 43px;
    padding: 20px 8px 20px 4px;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  }
  .section-constructor-information .reform-link:before {
    right: 142px;
    width: 20px;
    height: 20px;
    background-image: url(/img/reform/contents/flow/information_icon004_sp.png);
  }
  .section-constructor-information .reform-link img {
    width: 125px;
  }
  .section-constructor-information .reform-title {
    margin-right: 30px;
    font-size: 1.4rem;
    line-height: 1.357;
    letter-spacing: 0;
  }
  .section-constructor-information .reform-link img {
    width: 125px;
  }
  .section-constructor-information .last-banner {
    margin-bottom: 17px;
  }
}

@media screen and (min-width:0px) and (max-width:374px) {
  .common-flow-banner .banner-title {
    letter-spacing: 0;
  }
  .section-step .step-item.step-02  .step-link:not(:last-child) {
    letter-spacing: -0.1em;
  }
  .common-flow-banner .banner-subtitle {
    letter-spacing: 0;
  }
  .section-flow-content .wrapper, .section-step .wrapper {
    max-width: 290px;
    padding: 0;
  }
  .section-constructor-information .reform-link,
  .common-flow-banner,
  .section-constructor-information .common-flow-banner,
  .section-constructor-information .constructor-note,
  .section-constructor-information .information + .common-flow-banner {
    width: 290px;
  }
  .section-flow-content .content-banner img {
    width: 290px;
    height: auto;
  }
  .section-flow-content .content-wrapper {
    margin-left: auto;
    margin-right: auto;
    max-width: 290px;
  }
  .section-flow-content .content-banner {
    margin-left: auto;
    margin-right: auto;
    max-width: 290px;
  }
  .section-flow-content .content-wrapper:before {
    left: 74px;
  }
  .section-flow-content .content-wrapper:after {
    right: 58px;
  }
  .section-flow-content .content-title::after {
    right: auto;
    left: calc(50% + 60px);
    width: 70px;
  }
  .section-step .step-item.step-02 .step-number,
  .section-step .step-item.step-03 .step-number,
  .section-step .step-item.step-05 .step-number {
    left: -43px;
  }
  .section-constructor-information .reform-title {
    font-size: 1.16rem;
  }
  .section-constructor-information .information-text {
    margin-left: 0;
    margin-right: 0;
  }
  .common-flow-banner .banner-title {
    font-size: 1.2rem;
  }
  .section-step .step-text,
  .common-flow-banner .banner-subtitle {
    font-size: 1.4rem;
  }
  .section-flow-content .flow-item {
    font-size: 1.4rem;
  }
  .section-flow-content .content-note,
  .section-flow-content .flow-item.two-row {
    font-size: 1.3rem;
  }
  .section-constructor-information .information-banner {
    margin-left: auto;
    margin-right: auto;
  }
  .section-step .step-number {
    width: 57px;
    height: 28px;
  }
  .section-step .number-title {
    font-size: 1.3rem;
  }
  .section-step .number-subtitle {
    font-size: 2rem;
  }
  .section-step .step-point {
    max-width: calc(100% + 4px);
  }
  .section-step .step-title {
    font-size: 2.2rem;
  }
  .section-step .step-link {
    max-width: 100%;
    font-size: 1.4rem;
  }
  .section-step .point-text {
    font-size: 1.2rem;
  }
  .section-constructor-information .information {
    width: 290px;
    padding-right: 10px;
    padding-left: 10px;
  }
  .section-constructor-information .detail-title {
    font-size: 1.3rem;
  }
  .section-constructor-information .information-title {
    padding: 0 24px;
    font-size: 2.5rem;
  }
  .section-constructor-information .constructor {
    width: 300px;
  }
  .section-constructor-information .constructor-list {
    width: 100%;
    padding-right: 20px;
    padding-left: 42px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .is-mac .common-flow-banner .banner-title {
    letter-spacing: -0.01em;
  }
  .is-mac .section-step .step-title {
    letter-spacing: -0.04em;
  }
  .is-mac .section-flow-content .text-long {
    letter-spacing: -0.15em;
  }
  .is-mac .section-flow-content .flow-item {
    letter-spacing: -0.05em;
  }
  .is-mac .section-step .step-title .text-highlight::before {
    bottom: -2px;
  }
  .is-mac .section-step .step-item.step-04 .text-long {
    letter-spacing: -0.08em
  }
  .is-mac .section-step .point-text {
    letter-spacing: 0.08em
  }
  .is-mac .section-step .step-item.step-06 .point-text {
    letter-spacing: -0.015em
  }
  .is-mac .section-constructor-information .constructor-item::before {
    top: 13px;
  }
  .is-firefox .section-constructor-information .constructor-item::before {
    top: 10px;
  }
}

.floating-begin {
  position: fixed;
  z-index: 100010;
}
.floating-begin a {
  display: block;
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .floating-begin {
    width: 100%;
    left: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .26s ease, visibility .26s ease;
  }
  .floating-begin a {
    background: #ff8232;
    text-align: center;
  }
  .floating-begin img {
    margin: -18px auto 0;
    height: auto;
    position: relative;
    left: 3px;
  }
  .floating-begin.is-show {
    opacity: 1;
    visibility: visible;
  }
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .floating-begin {
    width: 140px;
    right: -170px;
    top: 160px;
    transition: right .3s
  }
  .floating-begin.is-show {
    right: 10px;
  }
}
.glb-pageWrapper > .banner-common + .mt100 {
  display: none;
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .m-box-showroom-03 + .m-box-showroom-04 {
    margin-left: 15px;
    margin-right: 15px;
  }
  .banner-common {
    bottom: 95px;
  }
  .floating-begin {
    z-index: 100011;
  }
  .floating-begin img {
    pointer-events: none;
  }
  .is-has-banner footer {
    padding-bottom: calc(23vw + 95px);
  }
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .m-box-showroom-03 + .m-box-showroom-04 {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 374px) {
  .banner-common {
    bottom: 25.3125vw;
  }
  .is-has-banner footer {
    padding-bottom: 50vw;
  }
}