@charset "UTF-8";
/*$breakpoints: (
	"xl-over": "screen and (min-width: 1760px)",
	"lg-over": "screen and (min-width: 1520px)",
	"md-over": "screen and (min-width: 1280px)",
	"sm-over": "screen and (min-width: 1024px)",
	"xs-over": "screen and (min-width: 768px)",
	"lg-xl": "screen and (max-width: 1759px) and (min-width: 1520px)",
	"md-lg": "screen and (max-width: 1519px) and (min-width: 1280px)",
	"sm-md": "screen and (max-width: 1279px) and (min-width: 1024px)",
	"xs-sm": "screen and (max-width: 1023px) and (min-width: 768px)",
	"xl-under": "screen and (max-width: 1759px)",
	"lg-under": "screen and (max-width: 1519px)",
	"md-under": "screen and (max-width: 1279px)",
	"sm-under": "screen and (max-width: 1023px)",
	"xs-under": "screen and (max-width: 767px)"
) !default;*/
.interval5em > *:not(:last-child) {
  margin-bottom: 0.5em;
}

.interval10em > *:not(:last-child) {
  margin-bottom: 1em;
}

.interval15em > *:not(:last-child) {
  margin-bottom: 1.5em;
}

.interval20em > *:not(:last-child) {
  margin-bottom: 2em;
}

.interval25em > *:not(:last-child) {
  margin-bottom: 2.5em;
}

.interval30em > *:not(:last-child) {
  margin-bottom: 3em;
}

.interval35em > *:not(:last-child) {
  margin-bottom: 3.5em;
}

.interval40em > *:not(:last-child) {
  margin-bottom: 4em;
}

.interval45em > *:not(:last-child) {
  margin-bottom: 4.5em;
}

.interval50em > *:not(:last-child) {
  margin-bottom: 5em;
}

.frame {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2.5em;
  padding: 1em;
  border: 9px solid #d6e2f3;
}

* + .frame {
  margin-top: 75px;
}

@media screen and (max-width: 640px) {
  * + .frame {
    margin-top: 10vw;
  }
}

.frame__text {
  font-size: 27px;
  font-family: "リュウミン M-KL", "Ryumin Medium KL";
  color: #0052a4;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .frame__text {
    font-size: 4.5vw;
  }
}

.main-service {
  display: flex;
  margin-bottom: 2em;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .main-service {
    flex-flow: column nowrap;
  }
}

.main-service__head {
  display: flex;
  align-items: center;
  padding: 40px 20px 40px 40px;
  width: 250px;
  font-size: 31px;
  font-weight: bold;
  color: #fff;
  line-height: 1.25;
  background-color: #0052a4;
  box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .main-service__head {
    padding: 0.5em 1em;
    width: 100%;
    font-size: 5vw;
  }
}

.main-service__img {
  width: calc(100% - 250px);
}

@media screen and (max-width: 640px) {
  .main-service__img {
    width: 100%;
    height: auto;
  }
}

.service-text {
  margin-bottom: 1.5em;
  font-size: 27px;
  color: #0052a4;
  line-height: 1.5;
  text-align: center;
}

.solar-wrapper > *:not(:last-child) {
  margin-bottom: 150px;
}

@media screen and (max-width: 640px) {
  .solar-wrapper > *:not(:last-child) {
    margin-bottom: 20vw;
  }
}

.solar-box:not(:last-child) {
  margin-bottom: 3em;
}

.solar-box__head {
  margin-bottom: 1em;
  padding: 0.5em 1em;
  font-size: 25px;
  font-weight: bold;
  color: #0052a4;
  line-height: 1.5;
  background-color: #d6e2f3;
}

@media screen and (max-width: 640px) {
  .solar-box__head {
    font-size: 5vw;
  }
}

.solar-box__text {
  font-size: 17px;
  line-height: 1.75;
}

.solar-box__text:not(:last-child) {
  margin-bottom: 1em;
}

.solar-box__text--blue {
  color: #0052a4;
}

.solar-box__images {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: -1em 0;
}

@media screen and (max-width: 640px) {
  .solar-box__images {
    justify-content: center;
    gap: 3vw;
    margin: 0;
  }
}

.solar-box__images__item {
  margin: 1em 0;
}

@media screen and (max-width: 640px) {
  .solar-box__images__item {
    margin: 0;
  }
}

.solar-box__img {
  margin-bottom: 0.75em;
}

@media screen and (max-width: 640px) {
  .solar-box__img {
    margin-bottom: 0.5em;
    max-width: 100%;
    height: auto;
  }
}

.solar-box__caption {
  font-size: 17px;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .solar-box__caption {
    font-size: 3vw;
  }
}
