@charset "UTF-8";
/* Font Size ----- */
:root {
  --color-txt: #3e3a39;
  --color-white: #fff;
  --color-deep-orange: #df671b;
  --color-purple: #7d80ce;
  --color-deep-purple: #655dac;
  --color-main: var(--color-txt);
  --color-accent: var(--color-deep-orange);
  --color-sub: var(--color-purple);
}

.type-ttl-obj {
  position: relative;
}
.type-ttl-obj::before, .type-ttl-obj::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
  width: 20vw;
}
@media screen and (max-width:767px) {
  .type-ttl-obj::before, .type-ttl-obj::after {
    width: 12rem;
  }
}
.type-ttl-obj::before {
  left: 0;
  aspect-ratio: 349/279;
  background: url(../img/top/strength-color-block01.svg) no-repeat center/contain;
}
.type-ttl-obj::after {
  right: 0;
  aspect-ratio: 349/279;
  background: url(../img/top/strength-color-block02.svg) no-repeat center/contain;
}
@media screen and (min-width:768px) {
  .type-ttl-obj .main-ttl .ttl .txt {
    font-size: 2.7rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (min-width:1200px) {
  .type-ttl-obj .main-ttl .ttl .txt {
    font-size: 4rem;
    margin-bottom: 2rem;
  }
}
.type-ttl-obj .description {
  font-size: 1.4rem;
}
@media screen and (min-width:768px) {
  .type-ttl-obj .description {
    font-size: 1.6rem;
  }
}
@media screen and (min-width:1200px) {
  .type-ttl-obj .description {
    font-size: 2rem;
  }
}

.main-ttl-02 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
.main-ttl-02 .ttl {
  font-size: 2.8rem;
  line-height: 1.5;
}
@media screen and (min-width:992px) {
  .main-ttl-02 .ttl {
    font-size: 4.8rem;
  }
}
.main-ttl-02 .ttl.en {
  letter-spacing: -0.02em;
}
.main-ttl-02 .sub-ttl {
  font-size: 1.6rem;
}
@media screen and (min-width:992px) {
  .main-ttl-02 .sub-ttl {
    font-size: 2rem;
  }
}

.type-obj-wave {
  position: relative;
  margin-top: 1.0980966325%;
}
@media screen and (max-width:767px) {
  .type-obj-wave {
    margin-top: 2.196193265%;
  }
}
.type-obj-wave::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  aspect-ratio: 91.0666666667/1;
  width: 100%;
  margin-top: calc(-1.0980966325% + 1px);
  background-color: inherit;
  -webkit-mask-image: url(../img/service/mask_wave_s.svg);
  mask-image: url(../img/service/mask_wave_s.svg);
  -webkit-mask-position: center top;
  mask-position: center top;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100vw;
  mask-size: 100vw;
}
@media screen and (max-width:767px) {
  .type-obj-wave::before {
    aspect-ratio: 45.5333333333/1;
    margin-top: calc(-2.196193265% + 1px);
    -webkit-mask-size: 200vw;
            mask-size: 200vw;
  }
}

/* ソーラー事業 */
.service-section .service-row {
  padding-inline: 30px;
}
@media screen and (min-width:768px) {
  .service-section .service-row {
    display: grid;
    grid-template-columns: 1fr 42%;
    -webkit-column-gap: 1.0248901903%;
       -moz-column-gap: 1.0248901903%;
            column-gap: 1.0248901903%;
    min-height: 400px;
    padding-inline: 0;
  }
}
@media screen and (min-width:992px) {
  .service-section .service-row {
    grid-template-columns: 1fr 37.4084919473%;
  }
}
.service-section .service-row ~ .service-row {
  margin-top: 60px;
}
@media screen and (max-width:767px) {
  .service-section .service-row ~ .service-row {
    margin-top: 50px;
  }
}
.service-section .service-row .img-box {
  overflow: hidden;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}
@media screen and (max-width:767px) {
  .service-section .service-row .img-box {
    aspect-ratio: 840/422;
    border-radius: 12px;
  }
}
.service-section .service-row .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-section .service-row .text-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 25px;
  background-color: #fbd9bf;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  font-size: clamp(1.2rem, 1vw, 1.6rem);
}
@media screen and (max-width:767px) {
  .service-section .service-row .text-box {
    min-height: 250px;
    padding: 15px;
    border-radius: 12px;
    margin-top: 10px;
    font-size: 1.1rem;
  }
}
.service-section .service-row .text-box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  aspect-ratio: 1;
  width: 3.75%;
  background-color: inherit;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width:767px) {
  .service-section .service-row .text-box::before {
    top: 0;
    left: 50%;
    width: 12px;
  }
}
.service-section .service-row .text-box .ico {
  position: absolute;
  inset: 0;
  aspect-ratio: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 85%;
  max-height: 85%;
  margin: auto;
}
@media screen and (max-width:767px) {
  .service-section .service-row .text-box .ico {
    height: 75%;
  }
}
.service-section .service-row .text-box .ico img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.service-section .service-row .text-box .ico .ico-obj {
  position: absolute;
  right: -10%;
  bottom: 0;
  aspect-ratio: 1;
  width: 42.0731707317%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.15));
}
@media screen and (min-width:1100px) {
  .service-section .service-row .text-box .ico .ico-obj {
    right: -10%;
  }
}
@media screen and (min-width:768px) and (max-width:1099px) {
  .service-section .service-row .text-box .ico .ico-obj {
    right: -5%;
  }
}
.service-section .service-row .text-box .title, .service-section .service-row .text-box .description {
  position: relative;
  z-index: 1;
}
.service-section .service-row .text-box .title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: top;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.2em;
     -moz-column-gap: 0.2em;
          column-gap: 0.2em;
  padding-block: 6px;
  padding-inline: 30px;
  font-size: 2.5em;
  line-height: 1.4;
  background-color: #fff;
  border: 4px solid #fbd9bf;
  border-radius: 100vmax;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width:1366px) {
  .service-section .service-row .text-box .title {
    margin-top: 1%;
    margin-left: 4%;
  }
}
@media screen and (max-width:767px) {
  .service-section .service-row .text-box .title {
    padding-inline: 20px;
    font-size: 2em;
    border-width: 3px;
  }
  .service-section .service-row .text-box .title:has(.title-sub) {
    padding-inline: 15px;
  }
}
.service-section .service-row .text-box .title-sub {
  display: inline-block;
  vertical-align: top;
  font-size: 0.4em;
  line-height: 1.5em;
}
@media screen and (max-width:767px) {
  .service-section .service-row .text-box .title-sub {
    font-size: 0.5454545455em;
    margin-right: -2%;
  }
}
.service-section .service-row .text-box .description {
  font-size: 1.25em;
  line-height: 1.8;
  padding-left: min(1.5625em, 1.35vw);
}
@media screen and (min-width:1366px) {
  .service-section .service-row .text-box .description {
    margin-left: 2%;
  }
}
@media screen and (min-width:768px) {
  .service-section .service-row.reverse {
    grid-template-columns: 42% 1fr;
  }
  .service-section .service-row.reverse .text-box {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    border-radius: 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
  }
  .service-section .service-row.reverse .text-box::before {
    left: auto;
    right: 0;
    -webkit-transform: translate(50%, -50%) rotate(45deg);
            transform: translate(50%, -50%) rotate(45deg);
  }
  .service-section .service-row.reverse .img-box {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    border-radius: 0;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
  }
}
@media screen and (min-width:992px) {
  .service-section .service-row.reverse {
    grid-template-columns: 37.4084919473% 1fr;
  }
}

/* 選ばれる理由 */
@media screen and (min-width:992px) {
  .reason-section .reason-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-column-gap: clamp(25px, 4vw, 60px);
       -moz-column-gap: clamp(25px, 4vw, 60px);
            column-gap: clamp(25px, 4vw, 60px);
  }
}
.reason-section .reason-row ~ .reason-row {
  margin-top: clamp(40px, 6.5vw, 80px);
}
.reason-section .reason-row .img-box {
  border-radius: 12px;
  overflow: hidden;
}
.reason-section .reason-row .text-box {
  font-size: 1.6rem;
}
@media screen and (min-width:1200px) {
  .reason-section .reason-row .text-box {
    font-size: 1.8rem;
  }
}
.reason-section .reason-row .text-box .title {
  font-size: 2.2rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width:768px) {
  .reason-section .reason-row .text-box .title {
    font-size: 3rem;
  }
}
@media screen and (min-width:1200px) {
  .reason-section .reason-row .text-box .title {
    font-size: 4.2rem;
  }
}
.reason-section .reason-row .text-box .notice-area {
  display: inline-block;
  vertical-align: top;
  margin-top: 20px;
  padding-block: 15px;
  padding-inline: 25px;
  background-color: #fef1e5;
  border-radius: 12px;
}
@media screen and (min-width:992px) {
  .reason-section .reason-row .text-box .notice-area {
    margin-top: 30px;
  }
}

/* 取扱メーカー */
.manufacturers-section {
  background-color: #efeff0;
}

.manufacturers-info .info-title {
  position: relative;
  padding-left: 0.8333333333em;
  font-size: 2.4rem;
  line-height: 1.6;
}
@media screen and (max-width:991px) {
  .manufacturers-info .info-title {
    font-size: 1.8rem;
  }
}
.manufacturers-info .info-title .obj {
  position: absolute;
  left: 0;
  top: 0.15lh;
  width: 3px;
  height: 1.25em;
}
.manufacturers-info .info-title .obj > span {
  display: block;
  width: 100%;
  height: 33.3333333333%;
}
.manufacturers-info .info-title .obj > span:nth-child(1) {
  background-color: #ffb93b;
}
.manufacturers-info .info-title .obj > span:nth-child(2) {
  background-color: #f7931e;
}
.manufacturers-info .info-title .obj > span:nth-child(3) {
  background-color: #f66a0f;
}
.manufacturers-info .info-title .title {
  font-size: 1em;
}

.maker-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width:991px) {
  .maker-list {
    gap: 20px;
  }
}
@media screen and (max-width:639px) {
  .maker-list {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.maker-list .maker-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 320/110;
  background-color: #fff;
  text-align: center;
}
@media screen and (max-width:767px) {
  .maker-list .maker-item {
    aspect-ratio: 16/9;
  }
}
.maker-list .maker-item > img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.maker-list .maker-item .company {
  padding-inline: 15px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}/*# sourceMappingURL=style-service.css.map */