@charset "UTF-8";

main section:not(.b-innermain) {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  main section:not(.b-innermain) {
    margin-bottom: 0;
  }
}

main .b-sec01 {
  margin-bottom: 0;
  padding: 150px 0 100px;
  background: linear-gradient(
    180deg,
    rgba(145, 192, 247, 0.5) 0%,
    rgba(145, 192, 247, 0) 100%
  );
}
@media screen and (max-width: 768px) {
  main .b-sec01 {
    padding: 100px 0;
  }
}
main .b-sec01 .e-edu {
  opacity: 0.4;
  color: #fff;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 768px) {
  main .b-sec01 .e-edu {
    margin-bottom: 10px;
  }
}
main .b-sec01 h2 {
  margin-bottom: 30px;
}
main .b-sec01 p.-l-bold {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  main .b-sec01 p.-l-bold {
    margin-bottom: 50px;
  }
}
main .b-sec01 .e-buttonWrap {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 40px;
}
@media screen and (max-width: 480px) {
  main .b-sec01 .e-buttonWrap {
    gap: 20px 0;
  }
}
main .b-sec01 .e-buttonWrap li {
  width: calc(50% - 20px);
}
@media screen and (max-width: 768px) {
  main .b-sec01 .e-buttonWrap li {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  main .b-sec01 .e-buttonWrap li {
    width: 100%;
  }
}
main .b-sec01 .e-buttonWrap li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #0f2c4b;
  padding: 28px 10px;
  border-radius: 45px;
  position: relative;
}
@media screen and (max-width: 600px) {
  main .b-sec01 .e-buttonWrap li a:hover {
    opacity: 1;
  }
}
main .b-sec01 .e-buttonWrap li a::after {
  content: "";
  transform: rotate(90deg);
  position: absolute;
  top: 2px;
  bottom: 0;
  right: calc(24.5% / 2.86);
  margin: auto;
  width: 10px;
  height: 10px;
  background-image: url("../images/common/arrow01_w.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 1000px) and (max-width: 1250px) {
  main .b-sec01 .e-buttonWrap li a::after {
    right: 20px;
  }
}
main .b-sec02 {
  padding: 200px 0 150px;
  background: #f4f9fe;
}
@media screen and (max-width: 768px) {
  main .b-sec02 {
    padding: 200px 0 100px;
  }
}
@media screen and (max-width: 600px) {
  main .b-sec02 .e-inner {
    width: calc(100% - 100px);
  }
}
main .b-sec02 .e-box01 {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 600px) {
  main .b-sec02 .e-box01 {
    flex-direction: column;
    gap: 30px 0;
  }
}
main .b-sec02 .e-box01 > div {
  width: calc(410% / 9);
  padding: 50px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  border: 1px solid #2365b1;
}
@media screen and (max-width: 1000px) {
  main .b-sec02 .e-box01 > div {
    padding: 20px;
  }
}
@media screen and (max-width: 600px) {
  main .b-sec02 .e-box01 > div {
    padding: 50px;
    width: 100%;
  }
}
main .b-sec02 .e-box01 > div h3 {
  text-align: center;
  line-height: 1;
  padding-bottom: 25px;
  margin-bottom: 20px;
  position: relative;
}
main .b-sec02 .e-box01 > div h3::after {
  content: "";
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  border-bottom: none;
  background-image: linear-gradient(
    to right,
    #2365b1 0,
    #2365b1 2px,
    transparent 2px,
    transparent 8px
  );
  background-repeat: repeat-x;
  background-size: 8px 2px;
  background-position: left bottom;
}
main .b-sec03 {
  padding: 200px 0;
  background-image: url("../images/house-renovation/bg_02.png");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  main .b-sec03 {
    padding-bottom: 100px;
    margin-bottom: 0 !important;
  }
}
main .b-sec03 h2 + p.-xl {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  main .b-sec03 h2 + p.-xl {
    margin-bottom: 50px;
  }
}
main .b-sec03 .e-box01 {
  max-width: 1260px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  main .b-sec03 .e-box01 {
    flex-direction: column;
    gap: 30px 0;
  }
}
main .b-sec03 .e-box01 .e-item01 {
  width: calc(590% / 12.6);
  background: #ffffff;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  main .b-sec03 .e-box01 .e-item01 {
    display: flex;
    align-items: stretch;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  main .b-sec03 .e-box01 .e-item01 {
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  main .b-sec03 .e-box01 .e-item01-image {
    width: 50%;
    overflow: hidden;
  }
  main .b-sec03 .e-box01 .e-item01-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
main .b-sec03 .e-box01 .e-item01-txt {
  background: #ffffff;
  padding: 50px 48px 30px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  main .b-sec03 .e-box01 .e-item01-txt {
    width: 50%;
    padding: 15px;
  }
}
@media screen and (max-width: 768px) {
  main .b-sec03 .e-box01 .e-item01-txt {
    padding: 40px 0 30px;
  }
}
main .b-sec03 .e-box01 .e-item01-txt h3 {
  text-align: center;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 5px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  main .b-sec03 .e-box01 .e-item01-txt h3 {
    padding: 0 30px;
  }
}
main .b-sec03 .e-box01 .e-item01-txt h3 .e-icoTtl-ico {
  width: 30px;
  height: 30px;
  display: inline-block;
  border-radius: 15px;
  background: linear-gradient(
    145deg,
    #0053a4 0%,
    #016ebb 20%,
    #41ac3b 80%,
    #8bc11f 100%
  );
  position: relative;
}
main .b-sec03 .e-box01 .e-item01-txt h3 .e-icoTtl-ico::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: #fff;
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  main .b-sec03 .e-box01 .e-item01-txt p.-l {
    padding: 0 50px;
  }
}
main .b-sec03 .e-box01 .e-item01-txt .-s {
  margin-top: 10px;
  color: #6f6f6f;
}
@media screen and (max-width: 768px) {
  main .b-sec03 .e-box01 .e-item01-txt .-s {
    padding: 0 50px;
  }
}
main .b-sec04 {
  padding-top: 200px;
}
@media screen and (max-width: 768px) {
  main .b-sec04 {
    margin-bottom: 20px !important;
  }
}
main .b-sec04 .e-inner {
  max-width: 1300px;
}
main .b-sec04 .e-item01 {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  main .b-sec04 .e-item01 {
    margin-bottom: 20px;
  }
}
main .b-sec04 .e-item01 > .-xl {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  main .b-sec04 .e-item01 > .-xl {
    margin-bottom: 50px;
  }
}
main .b-sec04 .e-item01-box1 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  main .b-sec04 .e-item01-box1 {
    flex-direction: column;
    gap: 50px 0;
  }
}
main .b-sec04 .e-item01-box1-txt {
  width: calc(625% / 13);
}
@media screen and (max-width: 1000px) {
  main .b-sec04 .e-item01-box1-txt {
    width: 100%;
  }
}
main .b-sec04 .e-item01-box1-txt > h1 {
  margin-bottom: 40px;
}
@media screen and (max-width: 1000px) {
  main .b-sec04 .e-item01-box1-txt > h1 {
    text-align: center;
  }
}
main .b-sec04 .e-item01-box1-txt > .-l-bold {
  line-height: 1.8;
}
main .b-sec04 .e-item01-box1-image {
  width: calc(625% / 13);
}
@media screen and (max-width: 1000px) {
  main .b-sec04 .e-item01-box1-image {
    width: calc(100% + 40px);
    margin: 0 -20px;
  }
}
main .b-sec04 .e-item02 {
  margin: 0 auto;
  background: #f4f9fe;
  padding: 100px 15px 50px;
}
@media screen and (max-width: 768px) {
  main .b-sec04 .e-item02 {
    padding: 50px 20px;
  }
}
main .b-sec04 .e-item02 .e-list {
  max-width: 1000px;
  margin: 0 auto 80px;
  display: flex;
  gap: 40px 0;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  main .b-sec04 .e-item02 .e-list {
    flex-direction: column;
    gap: 35px 0;
  }
}
main .b-sec04 .e-item02 .e-list li {
  width: 48%;
  color: #2365b1;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
@media screen and (max-width: 768px) {
  main .b-sec04 .e-item02 .e-list li {
    width: 100%;
  }
}
main .b-sec04 .e-item02 .e-list li::before {
  content: "■";
  margin-right: 0.5em;
}
main .b-sec04 .e-item02 .-s {
  color: #6f6f6f;
}
main .b-sec05 {
  margin-bottom: 0 !important;
  padding: 200px 0 150px;
  background: #f4f4f4;
}
@media screen and (max-width: 768px) {
  main .b-sec05 {
    padding: 180px 0 100px;
  }
}
@media screen and (max-width: 768px) {
  main .b-sec05 p.-xl {
    text-align: left;
  }
}
main .b-sec05 .e-support {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1260px;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  main .b-sec05 .e-support {
    flex-direction: column;
    gap: 30px 0;
  }
}
main .b-sec05 .e-support-item01 {
  width: calc(605% / 12.6);
  background: #ffffff;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  main .b-sec05 .e-support-item01 {
    width: 100%;
  }
}
main .b-sec05 .e-support-item01 > .-xxl {
  background: #0f2c4b;
  color: #ffffff;
  text-align: center;
  padding: 10px 5px;
}
main .b-sec05 .e-support-item01 > figure {
  margin-bottom: 20px;
}

#buttonFixed.-Fixed {
  max-width: 750px;
  flex-wrap: nowrap;
  gap: 10px;
}
@media screen and (max-width: 1000px) {
  #buttonFixed.-Fixed {
    flex-wrap: wrap;
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 1000px) {
  #buttonFixed.-Fixed li {
    width: calc(50% - 5px);
  }
}
#buttonFixed.-Fixed li a {
  padding: 6px;
  font-size: 13px;
}
@media screen and (max-width: 400px) {
  #buttonFixed.-Fixed li a {
    font-size: calc(13vw / 4);
  }
}
#buttonFixed.-Fixed li a::after {
  display: none;
}

.e-center {
  text-align: center;
}
.e-inner {
  width: calc(100% - 40px);
  margin: 0 auto;
}

footer {
  position: relative;
  z-index: 12;
}
