@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Regular.woff") format("woff"),
    url("../fonts/NotoSansJP-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Medium.woff") format("woff"),
    url("../fonts/NotoSansJP-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Bold.woff") format("woff"),
    url("../fonts/NotoSansJP-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Black.woff") format("woff"),
    url("../fonts/NotoSansJP-Black.ttf") format("truetype");
}

.reform-rebuilding {
  font-family: "NotoSansJP", sans-serif;
}

.reform-rebuilding h2 {
  background: none;
  margin: 0;
}

.reform-rebuilding .container {
  max-width: 277.333vw;
  width: 100%;
  margin: 0 auto;
}

.reform-rebuilding .text-red {
  color: #74001A;
}

.reform-rebuilding .marker-blue {
  position: relative;
  display: inline-block;
}

.reform-rebuilding .marker-blue::after {
  content: '';
  position: absolute;
  bottom: 1.333vw;
  left: 0;
  display: block;
  background: rgba(20,132,194,0.15);
  width: 100%;
  height: 4.267vw;
  z-index: -1;
}

.reform-rebuilding .marker-yellow01 {
  position: relative;
  display: inline-block;
}

.reform-rebuilding .marker-yellow01::after {
  content: '';
  position: absolute;
  bottom: 1.333vw;
  left: 0;
  display: block;
  background: rgba(245,197,0,0.15);
  width: 100%;
  height: 4.267vw;
  z-index: -1;
}

.reform-rebuilding .marker-yellow02 {
  position: relative;
  display: inline-block;
}

.reform-rebuilding .marker-yellow02::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background: #FFE780;
  width: 100%;
  height: 4.267vw;
  z-index: -1;
}

.reform-rebuilding .reform-rebuilding-heading {
  position: relative;
  padding: 15.2vw 6.667vw;
  text-align: center;
}

.reform-rebuilding .reform-rebuilding-heading::before,
.reform-rebuilding .reform-rebuilding-heading::after {
  content: '';
  position: absolute;
  top: 0;
  display: block;
}

.reform-rebuilding .reform-rebuilding-heading::before {
  left: 0;
  background: url(../image_page/reform-rebuilding/bg_top_left_01_sp.png) no-repeat;
  background-size: contain;
  width: 26.4vw;
  height: 15.2vw;
}

.reform-rebuilding .reform-rebuilding-heading::after {
  right: 0;
  background: url(../image_page/reform-rebuilding/bg_top_right_01_sp.png) no-repeat;
  background-size: contain;
  width: 18.4vw;
  height: 17.333vw;
}

.reform-rebuilding .reform-rebuilding-heading .title {
  color: #231815;
  font-size: 5.867vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.reform-rebuilding .reform-rebuilding-heading .title::before,
.reform-rebuilding .reform-rebuilding-heading .title::after {
  content: '';
  position: absolute;
  bottom: 0;
  display: block;
}

.reform-rebuilding .reform-rebuilding-heading .title::before {
  left: 0;
  background: url(../image_page/reform-rebuilding/bg_bottom_left_01_sp.png) no-repeat;
  background-size: contain;
  width: 9.867vw;
  height: 17.333vw;
}

.reform-rebuilding .reform-rebuilding-heading .title::after {
  right: 0;
  background: url(../image_page/reform-rebuilding/bg_bottom_right_01_sp.png) no-repeat;
  background-size: contain;
  width: 38.667vw;
  height: 15.467vw;
}

.reform-rebuilding .mv-image {
  position: relative;
  height: 124vw;
}

.reform-rebuilding .mv-image img {
  height: 100%;
  object-fit: cover;
}

.reform-rebuilding .mv-image .title {
  position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80vw;
  color: #231815;
  font-size: 8vw;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
}

.reform-rebuilding .mv-image .title > span {
  color: #74001A;
  font-size: 9vw;
}

@media screen and (max-width: 767px) {
  .sp--none {
    display: none;
  }
  .reform-rebuilding .reform-rebuilding-heading {
    width: 82vw;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .pc--none {
    display: none;
  }

  .reform-rebuilding .container {
    max-width: 100vw;
  }

  .reform-rebuilding .marker-blue::after {
    bottom: 0.962vw;
    height: 1.538vw;
  }
  
  .reform-rebuilding .marker-yellow01::after {
    bottom: 0.962vw;
    height: 1.538vw;
  }
  
  .reform-rebuilding .marker-yellow02::after {
    bottom: 0.481vw;
    height: 1.538vw;
  }
  
  .reform-rebuilding .reform-rebuilding-heading {
    position: relative;
    padding: 8.558vw 0 8.75vw;
    text-align: center;
  }
  
  .reform-rebuilding .reform-rebuilding-heading::before,
  .reform-rebuilding .reform-rebuilding-heading::after {
    content: '';
    position: absolute;
    top: 0;
    display: block;
  }
  
  .reform-rebuilding .reform-rebuilding-heading::before {
    left: -3.846vw;
    background: url(../image_page/reform-rebuilding/bg_top_left_01.png) no-repeat;
    background-size: contain;
    width: 35.481vw;
    height: 7.308vw;
  }
  
  .reform-rebuilding .reform-rebuilding-heading::after {
    right: -3.846vw;
    background: url(../image_page/reform-rebuilding/bg_top_right_01.png) no-repeat;
    background-size: contain;
    width: 12.404vw;
    height: 8.269vw;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title {
    font-size: 3.462vw;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title::before,
  .reform-rebuilding .reform-rebuilding-heading .title::after {
    content: '';
    position: absolute;
    bottom: 0;
    display: block;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title::before {
    left: -3.846vw;
    background: url(../image_page/reform-rebuilding/bg_bottom_left_01.png) no-repeat;
    background-size: contain;
    width: 13.269vw;
    height: 8.269vw;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title::after {
    right: -3.846vw;
    background: url(../image_page/reform-rebuilding/bg_bottom_right_01.png) no-repeat;
    background-size: contain;
    width: 38.077vw;
    height: 7.308vw;
  }
  
  .reform-rebuilding .mv-image {
    height: 57.692vw;
  }
  
  .reform-rebuilding .mv-image .title {
    width: 86.538vw;
    font-size: 5.769vw;
    line-height: 1.8;
  }
  
  .reform-rebuilding .mv-image .title > span {
    display: inline-block;
    margin: 0 1.923vw;
    font-size: 6.731vw;
  }
}

@media screen and (min-width: 1040px) {
  .reform-rebuilding .container {
    max-width: 1040px;
  }

  .reform-rebuilding .marker-blue::after {
    bottom: 10px;
    height: 16px;
  }
  
  .reform-rebuilding .marker-yellow01::after {
    bottom: 10px;
    height: 16px;
  }
  
  .reform-rebuilding .marker-yellow02::after {
    bottom: 5px;
    height: 16px;
  }
  
  .reform-rebuilding .reform-rebuilding-heading {
    padding: 89px 0 91px;
  }
  
  .reform-rebuilding .reform-rebuilding-heading::before {
    left: -40px;
    width: 369px;
    height: 76px;
  }
  
  .reform-rebuilding .reform-rebuilding-heading::after {
    right: -40px;
    width: 129px;
    height: 86px;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title {
    font-size: 36px;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title::before {
    left: -40px;
    width: 138px;
    height: 86px;
  }
  
  .reform-rebuilding .reform-rebuilding-heading .title::after {
    right: -40px;
    width: 396px;
    height: 76px;
  }
  
  .reform-rebuilding .mv-image {
    height: 600px;
  }
  
  .reform-rebuilding .mv-image .title {
    width: 900px;
    font-size: 60px;
  }
  
  .reform-rebuilding .mv-image .title > span {
    margin: 0 20px;
    font-size: 70px;
  }
}

.reform-rebuilding .renov {
  margin-top: 12.267vw;
}

.reform-rebuilding .renov .renov-heading {
  text-align: center;
}

.reform-rebuilding .renov .renov-heading .title {
  color: #231815;
  font-size: 6.4vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 2;
}

.reform-rebuilding .renov .renov-heading .title .text-red {
  display: block;
}

.reform-rebuilding .renov .renov-area {
  margin-top: 10.933vw;
}

.reform-rebuilding .renov .renov-area .icon {
  width: 38.133vw;
}

.reform-rebuilding .renov .renov-area .title {
  color: #231815;
  font-size: 6.133vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.75;
  text-align: center;
}

.reform-rebuilding .renov .renov-flow {
  width: 100%;
  margin: 5.867vw auto 0;
}

@media screen and (max-width: 767px) {
  .reform-rebuilding .renov .renov-inner {
    padding: 0 4vw;
  }
  .reform-rebuilding .renov .renov-area .icon {
    margin: 0 auto;
  }
  .reform-rebuilding .renov .renov-area .area {
    margin-top: 5.333vw;
  }
}

@media screen and (min-width: 768px) {
  .reform-rebuilding .renov {
    margin-top: 7.5vw;
  }
  
  .reform-rebuilding .renov .renov-heading .title {
    font-size: 3.462vw;
  }
  
  .reform-rebuilding .renov .renov-area {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5.673vw;
  }
  
  .reform-rebuilding .renov .renov-area .icon {
    margin-right: 2.5vw;
    width: 20.192vw;
  }
  
  .reform-rebuilding .renov .renov-area .title {
    font-size: 3.173vw;
    line-height: 1.75;
    text-align: center;
  }
  
  .reform-rebuilding .renov .renov-flow {
    max-width: 96.154vw;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1040px) {
  .reform-rebuilding .renov {
    margin-top: 78px;
  }
  
  .reform-rebuilding .renov .renov-heading .title {
    font-size: 36px;
  }
  
  .reform-rebuilding .renov .renov-area {
    margin-top: 59px;
  }
  
  .reform-rebuilding .renov .renov-area .icon {
    margin-right: 26px;
    width: 210px;
  }
  
  .reform-rebuilding .renov .renov-area .title {
    font-size: 33px;
  }
  
  .reform-rebuilding .renov .renov-flow {
    max-width: 1000px;
  }
}

.reform-rebuilding .judgement {
  margin-top: 20.933vw;
}

.reform-rebuilding .judgement .judgement-desc {
  margin-top: 7.2vw;
  font-size: 4.8vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: left;
}

.reform-rebuilding .judgement .judgement-area {
  margin-top: 10.667vw;
}

.reform-rebuilding .judgement .judgement-box:not(:first-of-type) {
  margin-top: 26.667vw;
}

.reform-rebuilding .judgement .judgement-box.is-yellow .area {
  margin-top: -16vw;
}

.reform-rebuilding .judgement .judgement-box .title {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 56.8vw;
  color: #231815;
  font-size: 4.8vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 2.4;
  text-align: center;
}

.reform-rebuilding .judgement .judgement-box .title::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 23.467vw;
  z-index: -1;
}

.reform-rebuilding .judgement .judgement-box.is-blue .title::after {
  background: url(../image_page/reform-rebuilding/bg_speech_blue_01.png) no-repeat;
  background-size: contain;
}

.reform-rebuilding .judgement .judgement-box.is-yellow .title::after {
  background: url(../image_page/reform-rebuilding/bg_speech_yellow_01.png) no-repeat;
  background-size: contain;
}

.reform-rebuilding .judgement .judgement-box .list li {
  position: relative;
  padding-left: 6.933vw;
  color: #231815;
  font-size: 4.533vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
}

.reform-rebuilding .judgement .judgement-box .list li::before {
  content: '';
  position: absolute;
  display: block;
  top: 1.6vw;
  left: 0;
  width: 5.867vw;
  height: 5.6vw;
  background: url(../image_page/reform-rebuilding/icon_check_01.svg) no-repeat;
  background-size: contain;
}

.reform-rebuilding .judgement .judgement-box .image {
  width: 83.2vw;
}

.reform-rebuilding .judgement .judgement-box .image img {
  position: relative;
  bottom: 4vw;
  right: 4vw;
}

.reform-rebuilding .judgement .judgement-box.is-blue .image {
  background-color: #DCEDF6;
}

.reform-rebuilding .judgement .judgement-box.is-yellow .image {
  background-color: rgba(245,197,0,0.15);
}

@media screen and (max-width: 767px) {
  .reform-rebuilding .judgement .judgement-desc {
    padding: 0 5.333vw;
  }
  .reform-rebuilding .judgement .judgement-area {
    padding: 0 5.333vw;
  }
  .reform-rebuilding .judgement .judgement-box .list {
    margin: 8vw auto 0;
  }
  .reform-rebuilding .judgement .judgement-box .image {
    margin: 9.333vw 0 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .reform-rebuilding .judgement {
    margin-top: 14.038vw;
  }
  
  .reform-rebuilding .judgement .judgement-desc {
    margin-top: 5.096vw;
    font-size: 2.5vw;
    line-height: 2;
    text-align: center;
  }
  
  .reform-rebuilding .judgement .judgement-area {
    margin-top: 8.654vw;
  }
  
  .reform-rebuilding .judgement .judgement-box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  
  .reform-rebuilding .judgement .judgement-box:not(:first-of-type) {
    margin-top: 9.615vw;
  }
  
  .reform-rebuilding .judgement .judgement-box .area {
    width: 51.923vw;
  }

  .reform-rebuilding .judgement .judgement-box.is-blue .area {
    margin-top: -2.404vw;
  }
  
  .reform-rebuilding .judgement .judgement-box.is-yellow .area {
    margin-top: -5.769vw;
  }
  
  .reform-rebuilding .judgement .judgement-box .title {
    width: 31.346vw;
    font-size: 2.692vw;
    line-height: 2.2;
  }
  
  .reform-rebuilding .judgement .judgement-box .title::after {
    height: 8.462vw;
  }
  
  .reform-rebuilding .judgement .judgement-box.is-blue .title::after {
    background: url(../image_page/reform-rebuilding/bg_speech_blue_01.png) no-repeat;
    background-size: contain;
  }
  
  .reform-rebuilding .judgement .judgement-box.is-yellow .title::after {
    background: url(../image_page/reform-rebuilding/bg_speech_yellow_01.png) no-repeat;
    background-size: contain;
  }
  
  .reform-rebuilding .judgement .judgement-box .list {
    margin-top: 3.173vw;
  }
  
  .reform-rebuilding .judgement .judgement-box .list li {
    padding-left: 3.462vw;
    font-size: 2.5vw;
    line-height: 2;
  }
  
  .reform-rebuilding .judgement .judgement-box .list li::before {
    top: 0.577vw;
    left: 0;
    width: 3.269vw;
    height: 3.173vw;
  }
  
  .reform-rebuilding .judgement .judgement-box .image {
    width: 40.673vw;
  }
  
  .reform-rebuilding .judgement .judgement-box .image img {
    bottom: 1.923vw;
    right: 1.923vw;
  }
}

@media screen and (min-width: 1040px) {
  .reform-rebuilding .judgement {
    margin-top: 146px;
  }
  
  .reform-rebuilding .judgement .judgement-desc {
    margin-top: 53px;
    font-size: 26px;
  }
  
  .reform-rebuilding .judgement .judgement-area {
    margin-top: 90px;
  }

  .reform-rebuilding .judgement .judgement-box:not(:first-of-type) {
    margin-top: 100px;
  }
  
  .reform-rebuilding .judgement .judgement-box .area {
    width: 540px;
  }
    
  .reform-rebuilding .judgement .judgement-box.is-blue .area {
    margin-top: -25px;
  }
  
  .reform-rebuilding .judgement .judgement-box.is-yellow .area {
    margin-top: -60px;
  }
  
  .reform-rebuilding .judgement .judgement-box .title {
    width: 326px;
    font-size: 28px;
  }
  
  .reform-rebuilding .judgement .judgement-box .title::after {
    height: 88px;
  }
  
  .reform-rebuilding .judgement .judgement-box .list {
    margin-top: 33px;
  }
  
  .reform-rebuilding .judgement .judgement-box .list li {
    padding-left: 36px;
    font-size: 26px;
  }
  
  .reform-rebuilding .judgement .judgement-box .list li::before {
    top: 6px;
    left: 0;
    width: 34px;
    height: 33px;
  }
  
  .reform-rebuilding .judgement .judgement-box .image {
    width: 423px;
  }
  
  .reform-rebuilding .judgement .judgement-box .image img {
    bottom: 20px;
    right: 20px;
  }
}

.reform-rebuilding .merit {
  margin-top: 13.333vw;
}

.reform-rebuilding .merit-table {
  margin-top: 8vw;
}

.reform-rebuilding .merit-table .table {
  width: 182.133vw;
  border-collapse: collapse;
  table-layout: fixed;
}

.reform-rebuilding .merit-table .table .bg_blue {
  background-color: rgba(20, 132, 194, 0.15);
}

.reform-rebuilding .merit-table .table .bg_yellow {
  background-color: rgba(245,197,0,0.15);
}

.reform-rebuilding .merit-table .table thead th {
  border: 0.8vw solid #74001A;
}

.reform-rebuilding .merit-table .table thead .none {
  width: 21.333vw;
  border: none;
}

.reform-rebuilding .merit-table .table thead .title {
  padding: 5.333vw 0;
  color: #231815;
  font-size: 4.8vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 2.5;
}

.reform-rebuilding .merit-table .table tbody th,
.reform-rebuilding .merit-table .table tbody td {
  border: 0.8vw solid #74001A;
}

.reform-rebuilding .merit-table .table tbody .area .title {
  position: relative;
  top: 0;
  display: inline-block;
  padding-top: 12vw;
  color: #231815;
  font-size: 4.8vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 2.5;
  writing-mode: vertical-rl;
}

.reform-rebuilding .merit-table .table tbody .area .title::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 9.867vw;
  height: 9.333vw;
}

.reform-rebuilding .merit-table .table tbody .area.is-merit .title::before {
  background: url(../image_page/reform-rebuilding/icon_merit.svg) no-repeat;
  background-size: contain;
}

.reform-rebuilding .merit-table .table tbody .area.is-demerit .title::before {
  background: url(../image_page/reform-rebuilding/icon_demerit.svg) no-repeat;
  background-size: contain;
}

.reform-rebuilding .merit-table .table tbody td {
  padding: 5.867vw;
  vertical-align: baseline;
}

.reform-rebuilding .merit-table .table tbody .list li {
  position: relative;
  padding-left: 4.267vw;
  color: #231815;
  font-size: 3.2vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.8;
}

.reform-rebuilding .merit-table .table tbody .area.is-merit .list li::before {
  content: '〇';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  color: #74001A;
}

.reform-rebuilding .merit-table .table tbody .area.is-demerit .list li::before {
  content: '×';
  position: absolute;
  display: block;
  top: -0.533vw;
  left: 0;
  color: #000;
}

@media screen and (max-width: 767px) {
  .reform-rebuilding .merit-table {
    padding-left: 6.667vw;
    overflow-x: auto;
  }
  .reform-rebuilding .merit-table .table tbody th {
    height: 57.333vw;
  }
}

@media screen and (min-width: 768px) {
  .reform-rebuilding .merit {
    margin-top: 11.25vw;
  }
  
  .reform-rebuilding .merit-table {
    margin-top: 3.846vw;
  }
  
  .reform-rebuilding .merit-table .table {
    width: 100%;
  }
  
  .reform-rebuilding .merit-table .table thead th {
    border: 0.288vw solid #74001A;
  }
  
  .reform-rebuilding .merit-table .table thead .none {
    width: 11.538vw;
  }
  
  .reform-rebuilding .merit-table .table thead .title {
    padding: 1.923vw 0;
    font-size: 2.692vw;
    line-height: 2.5;
  }
  
  .reform-rebuilding .merit-table .table tbody th,
  .reform-rebuilding .merit-table .table tbody td {
    border: 0.288vw solid #74001A;
  }
  
  .reform-rebuilding .merit-table .table tbody .area .title {
    top: -1.923vw;
    padding-top: 6.731vw;
    font-size: 2.692vw;
    line-height: 2.5;
  }
  
  .reform-rebuilding .merit-table .table tbody .area .title::before {
    width: 5.481vw;
    height: 5.192vw;
  }
  
  .reform-rebuilding .merit-table .table tbody td {
    padding: 3.173vw;
  }
  
  .reform-rebuilding .merit-table .table tbody .list li {
    padding-left: 2.308vw;
    font-size: 1.731vw;
    line-height: 1.8;
  }
  
  .reform-rebuilding .merit-table .table tbody .area.is-merit .list li::before {
    top: 0;
    left: 0;
  }
  
  .reform-rebuilding .merit-table .table tbody .area.is-demerit .list li::before {
    top: -0.192vw;
  }
}

@media screen and (min-width: 1040px) {
  .reform-rebuilding .merit {
    margin-top: 117px;
  }
  
  .reform-rebuilding .merit-table {
    margin-top: 40px;
  }
  
  .reform-rebuilding .merit-table .table thead th {
    border: 3px solid #74001A;
  }
  
  .reform-rebuilding .merit-table .table thead .none {
    width: 120px;
  }
  
  .reform-rebuilding .merit-table .table thead .title {
    padding: 20px 0;
    font-size: 28px;
  }
  
  .reform-rebuilding .merit-table .table tbody th,
  .reform-rebuilding .merit-table .table tbody td {
    border: 3px solid #74001A;
  }
  
  .reform-rebuilding .merit-table .table tbody .area .title {
    top: -20px;
    padding-top: 70px;
    font-size: 28px;
  }
  
  .reform-rebuilding .merit-table .table tbody .area .title::before {
    width: 57px;
    height: 54px;
  }

  .reform-rebuilding .merit-table .table tbody td {
    padding: 33px;
  }
  
  .reform-rebuilding .merit-table .table tbody .list li {
    padding-left: 24px;
    font-size: 18px;
  }
  
  .reform-rebuilding .merit-table .table tbody .area.is-demerit .list li::before {
    top: -2px;
  }
}

.reform-rebuilding .point {
  margin-top: 22.133vw;
}

.reform-rebuilding .point .point-inner {
  padding: 22.4vw 4vw 8vw 4.267vw;
  background: rgba(116, 0, 26, 0.07);
}

.reform-rebuilding .point .point-heading::before {
  content: '';
  position: absolute;
  display: block;
  top: -11.467vw;
  width: 27.733vw;
  height: 24.8vw;
  background: url(../image_page/reform-rebuilding/icon_point_01.png) no-repeat;
  background-size: 100%;
}

.reform-rebuilding .point .point-heading::after {
  content: '';
  position: absolute;
  display: block;
  top: -3.733vw;
  width: 13.867vw;
  height: 20vw;
  background: url(../image_page/reform-rebuilding/icon_point_02_sp.svg) no-repeat;
  background-size: 100%;
}

.reform-rebuilding .point .point-heading .title {
  color: #231815;
  font-size: 5.6vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: center;
}

.reform-rebuilding .point .point-list {
  margin-top: 8vw;
}

.reform-rebuilding .point .point-list li {
  position: relative;
  padding-left: 9.6vw;
  color: #231815;
  font-size: 4.267vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.reform-rebuilding .point .point-list li::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 6.933vw;
  height: 7.2vw;
  background: url(../image_page/reform-rebuilding/icon_check_02.svg) no-repeat;
  background-size: 100%;
}

.reform-rebuilding .point .point-list li:not(:first-of-type) {
  margin-top: 1.333vw;
}

@media screen and (max-width: 767px) {
  .reform-rebuilding .point {
    padding: 0 6.933vw;
  }
  .reform-rebuilding .point .point-inner {
    position: relative;
  }
  .reform-rebuilding .point .point-heading::before {
    right: 19.2vw;
  }
  .reform-rebuilding .point .point-heading::after {
    left: 21.867vw;
  }
}

@media screen and (min-width: 768px) {
  .reform-rebuilding .point {
    margin-top: 10.288vw;
  }

  .reform-rebuilding .point .point-inner {
    padding: 6.827vw 10.192vw 2.885vw 10.096vw;
  }

  .reform-rebuilding .point .point-heading {
    position: relative;
    padding: 0 6.635vw 0 21.154vw;
  }

  .reform-rebuilding .point .point-heading::before {
    top: -2.981vw;
    left: 0;
    width: 18.269vw;
    height: 16.25vw;
  }

  .reform-rebuilding .point .point-heading::after {
    top: 0;
    right: 0;
    width: 6.635vw;
    height: 9.615vw;
    background: url(../image_page/reform-rebuilding/icon_point_02.svg) no-repeat;
    background-size: 100%;
  }

  .reform-rebuilding .point .point-heading .title {
    font-size: 3.462vw;
    line-height: 1.7;
  }

  .reform-rebuilding .point .point-list {
    margin-top: 2.885vw;
  }

  .reform-rebuilding .point .point-list li {
    padding-left: 5.288vw;
    font-size: 2.212vw;
    line-height: 1.8;
  }

  .reform-rebuilding .point .point-list li::before {
    top: 0;
    left: 0;
    width: 3.558vw;
    height: 3.654vw;
    background: url(../image_page/reform-rebuilding/icon_check_02.svg) no-repeat;
    background-size: 100%;
  }

  .reform-rebuilding .point .point-list li:not(:first-of-type) {
    margin-top: 0.481vw;
  }
}

@media screen and (min-width: 1040px) {
  .reform-rebuilding .point {
    margin-top: 107px;
  }
  
  .reform-rebuilding .point .point-inner {
    padding: 71px 106px 30px 105px;
  }
  
  .reform-rebuilding .point .point-heading {
    padding: 0 69px 0 220px;
  }
  
  .reform-rebuilding .point .point-heading::before {
    top: -31px;
    left: 0;
    width: 190px;
    height: 169px;
  }
  
  .reform-rebuilding .point .point-heading::after {
    top: 0;
    right: 0;
    width: 69px;
    height: 100px;
  }
  
  .reform-rebuilding .point .point-heading .title {
    font-size: 36px;
  }
  
  .reform-rebuilding .point .point-list {
    margin-top: 30px;
  }
  
  .reform-rebuilding .point .point-list li {
    padding-left: 55px;
    font-size: 23px;
  }
  
  .reform-rebuilding .point .point-list li::before {
    top: 0;
    left: 0;
    width: 37px;
    height: 38px;
  }
  
  .reform-rebuilding .point .point-list li:not(:first-of-type) {
    margin-top: 5px;
  }
}

.reform-rebuilding .consultation {
  margin-top: 14.4vw;
}

.reform-rebuilding .consultation .consultation-inner {
  padding: 6.667vw 3.467vw 6.4vw;
  border: 1.333vw solid #74001A;
}

.reform-rebuilding .consultation .consultation-box .area .title {
  font-size: 5.6vw;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.reform-rebuilding .consultation .consultation-box .area .text {
  margin-top: 5.333vw;
  color: #231815;
  font-size: 4.8vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.reform-rebuilding .consultation .consultation-box .image {
  width: 59.733vw;
}

.reform-rebuilding .bnr {
  margin: 15vw auto 13.333vw;
  width: 100%;
}

.reform-rebuilding .bnr .bnr_area:not(:first-child) {
  margin-top: 8vw;
}

@media screen and (max-width: 767px) {
  .reform-rebuilding .consultation {
    padding: 0 6.933vw;
  }
  .reform-rebuilding .consultation .consultation-box .area .title {
    text-align: center;
  }
  .reform-rebuilding .consultation .consultation-box .image {
    margin: 5.333vw auto 0;
  }
  .reform-rebuilding .bnr {
    padding: 0 6.933vw;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 768px) {
  .reform-rebuilding .consultation {
    margin-top: 8.846vw;
  }
  
  .reform-rebuilding .consultation .consultation-inner {
    padding: 4.327vw 2.596vw 3.654vw 2.788vw;
    border: 0.962vw solid #74001A;
  }
  
  .reform-rebuilding .consultation .consultation-box {
    display: flex;
  }
  
  .reform-rebuilding .consultation .consultation-box .area {
    order: 2;
    width: 67.788vw;
  }
  
  .reform-rebuilding .consultation .consultation-box .area .title {
    font-size: 3.077vw;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.7;
  }
  
  .reform-rebuilding .consultation .consultation-box .area .text {
    margin-top: 1.923vw;
    color: #231815;
    font-size: 2.115vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  
  .reform-rebuilding .consultation .consultation-box .image {
    order: 1;
    margin-right: 2.308vw;
    width: 22.5vw;
  }
  
  .reform-rebuilding .bnr {
    margin: 19.231vw auto 50px;
    max-width: 98.077vw;
    width: 100%;
  }
  
  .reform-rebuilding .bnr .bnr_area:not(:first-child) {
    margin-top: 2.885vw;
  }
}

@media screen and (min-width: 1040px) {
  .reform-rebuilding .consultation {
    margin-top: 92px;
  }
  
  .reform-rebuilding .consultation .consultation-inner {
    padding: 45px 27px 38px 29px;
    border: 10px solid #74001A;
  }
  
  .reform-rebuilding .consultation .consultation-box .area {
    width: 705px;
  }
  
  .reform-rebuilding .consultation .consultation-box .area .title {
    font-size: 32px;
  }
  
  .reform-rebuilding .consultation .consultation-box .area .text {
    margin-top: 20px;
    font-size: 22px;
  }
  
  .reform-rebuilding .consultation .consultation-box .image {
    margin-right: 24px;
    width: 234px;
  }
  
  .reform-rebuilding .bnr {
    margin: 200px auto 50px;
    max-width: 1020px;
  }
  
  .reform-rebuilding .bnr .bnr_area:not(:first-child) {
    margin-top: 30px;
  }
}

.reform-rebuilding .tel_contact_box {
  border: 2px solid #fa2d00;
  padding: 4.6vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position:relative;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}

.reform-rebuilding .tel_contact_box .tel_img{
  width:17.5552vw;
}

.reform-rebuilding .tel_contact_box .tel_txt{
  font-size: 3vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 0!important;
}

.reform-rebuilding .tel_contact_box .tel_txt span{
  font-size: 7vw;
  font-weight: 700;
}

.reform-rebuilding .tel_contact_box .ct_btn{
  width:100%;
  background-color: #fa2d00;
  border-radius: 5px;
  padding: 2.6vw;
  text-align: center;
  color:#fff;
  font-size:5.120vw;
  font-weight:700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0!important;
  margin-top: 2vw;
  text-decoration: none;
}

.reform-rebuilding .tel_contact_box .ct_btn:hover{
  background-color: #fb5e3c;
}

@media screen and (min-width: 768px) { 
  .reform-rebuilding .tel_contact_box {
    padding: 1.9230vw;
  }
  .reform-rebuilding .tel_contact_box .tel_img{
    width:12.980vw;
    height:7.6923vw;
  }
  .reform-rebuilding .tel_contact_box .tel_txt{
    font-size: 1.7307vw;
  }
  .reform-rebuilding .tel_contact_box .tel_txt span{
    font-size: 4.8077vw;
  }
  .reform-rebuilding .tel_contact_box .ct_btn{
    width:34.6153vw;
    padding: 1.9230vw;
    font-size:2.3076vw;
    margin-top: 0;
  }
}

@media screen and (min-width: 1040px) { 
  .reform-rebuilding .tel_contact_box {
    padding: 20px;
  }
  .reform-rebuilding .tel_contact_box .tel_img{
    width:135px;
    height: 80px;
  }
  .reform-rebuilding .tel_contact_box .tel_txt{
    font-size: 18px;
  }
  .reform-rebuilding .tel_contact_box .tel_txt span{
    font-size: 50px;
  }
  .reform-rebuilding .tel_contact_box .ct_btn{
    width:360px;
    padding: 20px;
    font-size:24px;
  }
}