@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

.banner {
  display: block;
  max-width: 484px;
  width: 100%;
  margin: 100px auto 100px;
}
@media screen and (max-width: 768px) {
  .banner {
    margin-top: 50px;
  }
}

body {
  position: relative;
}
body::before {
  content: "";
  opacity: 0.2;
  position: absolute;
  display: block;
  width: 100%;
  height: 720px;
}
body.product-template-single-product-qcells-php::before {
  background: transparent linear-gradient(180deg, #3366aa 0%, transparent 100%) 0% 0% no-repeat padding-box;
}
body.product-template-single-product-hems-php::before, body.product-template-single-product-e_storage_system-php::before, body.product-template-single-product-power-conditioner-php:before {
  background: transparent linear-gradient(180deg, #999999 0%, transparent 100%) 0% 0% no-repeat padding-box;
}
body.product-template-single-product-rerise-php::before {
  background: transparent linear-gradient(180deg, #ee7744 0%, transparent 100%) 0% 0% no-repeat padding-box;
}
body .site-content-contain {
  background-color: transparent;
}

/* --- テンプレート共通 --- */
main.single-products {
  --fw-reg: 400;
  --fw-med: 500;
  --fw-bold: 700;
  --col-orange: #ee7744;
  --col-lit-orange: #ee77441a;
  --col-navy: #3366aa;
  --col-gray: #ccc;
  --col-black: #333;
  --window-width: (100vw - 17px);
  --compare-section-gradation: linear-gradient(to bottom, #3366aa, #fff);
  --feature-section-gradation: linear-gradient(136deg, #fff, var(--col-navy));
}
main.single-products p,
main.single-products h2,
main.single-products h3,
main.single-products h4,
main.single-products h5,
main.single-products ul {
  margin: 0;
  padding: 0;
  font-weight: var(--fw-reg);
  color: var(--col-black);
  line-height: 1.6;
}
main.single-products img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
main.single-products table th,
main.single-products table td {
  padding: 0;
}
main.single-products .fs-8 {
  font-size: 8px;
}
main.single-products .fs-10 {
  font-size: 10px;
}
main.single-products .wrapper {
  max-width: 1000px;
  width: calc(100% - 30px);
  margin: auto;
  padding: 0;
}
main.single-products .sec-ttl {
  text-align: center;
  font-size: 32px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  main.single-products .sec-ttl {
    font-size: 24px;
  }
}
main.single-products .note {
  font-size: 10px;
  margin-top: 5px;
  color: var(--col-black);
  font-weight: 400;
}
main.single-products .accordion .accordion-content {
  display: none;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item {
  display: flex;
  align-items: center;
  column-gap: 32px;
  font-size: 12px;
  line-height: 2;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item + .spec03-item {
  margin-top: 10px;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item .label {
  align-self: flex-start;
  font-weight: var(--fw-bold);
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:not(:has(.detail-label)) > * {
  width: 50%;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) {
  display: flex;
  column-gap: 32px;
}
@media screen and (max-width: 768px) {
  main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) {
    flex-wrap: wrap;
  }
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .label {
  width: calc(50% - 102px);
}
@media screen and (max-width: 768px) {
  main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .label {
    width: 100%;
  }
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .detail {
  flex: 1;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .detail .detail-row {
  display: flex;
  column-gap: 32px;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .detail .detail-row .detail-label {
  align-self: flex-start;
  width: 54px;
  font-size: 10px;
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 768px) {
  main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .detail .detail-row .detail-label {
    flex: 1;
  }
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.detail-label) .detail .detail-row .detail-data {
  flex: 1;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-1col) {
  flex-direction: column;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-1col) .label {
  width: 100%;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-1col) .data-1col {
  width: 100%;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-2cols) {
  flex-direction: column;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-2cols) .label {
  width: 100%;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-2cols) .data-2cols {
  display: flex;
  align-items: center;
  gap: 32px;
  width: 100%;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-2cols) .data-2cols > * {
  flex: 1;
}
main.single-products .accordion .accordion-content .spec03 .spec03-item:has(.data-2cols) .data-2cols .d2-label {
  align-self: flex-start;
}
main.single-products .accordion .accordion-content .note {
  margin-top: 20px;
  font-size: 10px;
}
main.single-products .accordion .accordion-content .note + .note {
  margin-top: 5px;
}
main.single-products .accordion .accordion-btn {
  cursor: pointer;
  position: relative;
  padding: 12px 0 11px;
  border: solid 1px var(--col-gray);
  text-align: center;
  font-size: 12px;
  line-height: 1;
}
main.single-products .accordion .accordion-btn .icon {
  position: absolute;
  right: 20px;
  top: 15px;
  width: 12px;
  height: 12px;
}
main.single-products .accordion .accordion-btn .icon::before, main.single-products .accordion .accordion-btn .icon::after {
  content: "";
  position: absolute;
  top: 6px;
  display: block;
  width: 12px;
  height: 1px;
  background-color: var(--col-gray);
}
main.single-products .accordion .accordion-btn .icon::after {
  transform: rotate(90deg);
}
main.single-products .accordion.open .accordion-btn .icon::after {
  transform: rotate(0deg);
}
main.single-products .accordion.typeB .accordion-btn {
  padding: 7px 0 6px;
}
main.single-products .accordion.typeB .accordion-btn .icon {
  top: 10px;
  right: 10px;
}
main.single-products section.top_product_logo {
  padding: 110px 0 145px;
}
@media screen and (max-width: 768px) {
  main.single-products section.top_product_logo {
    padding: 50px 0;
  }
}
main.single-products section.top_product_logo .wrapper img {
  display: block;
  max-width: 212px;
  width: calc(100% - 40px);
  margin: auto;
}
@media screen and (max-width: 768px) {
  main.single-products section.top_product_logo .wrapper img {
    max-width: 150px;
  }
}
main.single-products section.top_product_logo .wrapper .logo-txt {
  text-align: center;
  font-size: 48px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
}
@media screen and (max-width: 768px) {
  main.single-products section.top_product_logo .wrapper .logo-txt {
    font-size: 35px;
  }
}
@media screen and (max-width: 425px) {
  main.single-products section.top_product_logo .wrapper .logo-txt {
    font-size: 30px;
  }
}
main.single-products section.overview .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 118px;
}
main.single-products section.overview .wrapper > .left {
  width: 398px;
}
main.single-products section.overview .wrapper > .left .per_page {
  text-align: right;
}
main.single-products section.overview .wrapper > .left .gallery {
  display: grid;
  grid-template-columns: 250px 1fr;
  grid-template-rows: auto;
  grid-template-areas: "slider-l slider-l" "slider-s web-ar";
  gap: 50px 20px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .left .gallery {
    grid-template-columns: 1fr;
    grid-template-areas: "slider-l" "slider-s" "web-ar";
    gap: 20px;
    margin-top: 18px;
  }
}
main.single-products section.overview .wrapper > .left .gallery #splide-L {
  grid-area: slider-l;
}
main.single-products section.overview .wrapper > .left .gallery #splide-L .splide__arrow {
  background-color: transparent;
  width: fit-content;
}
main.single-products section.overview .wrapper > .left .gallery #splide-L .splide__arrow--prev {
  left: 0;
}
main.single-products section.overview .wrapper > .left .gallery #splide-L .splide__arrow--next {
  right: 0;
}
main.single-products section.overview .wrapper > .left .gallery #splide-L .splide__track {
  width: calc(100% - 60px);
  height: 210px;
  margin: auto;
}
main.single-products section.overview .wrapper > .left .gallery #splide-L .splide__track .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
main.single-products section.overview .wrapper > .left .gallery #splide-S {
  grid-area: slider-s;
}
main.single-products section.overview .wrapper > .left .gallery #splide-S .splide__slide {
  aspect-ratio: 1;
  padding: 2px;
  border: solid 1px var(--col-gray);
}
main.single-products section.overview .wrapper > .left .gallery #splide-S .splide__slide.is-active.is-visible {
  border-color: #999;
}
main.single-products section.overview .wrapper > .left .gallery #splide-S .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
main.single-products section.overview .wrapper > .left .gallery .web-ar {
  grid-area: web-ar;
  cursor: pointer;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin-right: 0;
  margin-left: auto;
  background-color: rgba(51, 102, 170, 0.1019607843);
  border: solid 1px #3366aa;
  border-radius: 5px;
}
main.single-products section.overview .wrapper > .left .gallery .web-ar:hover {
  background-color: rgba(51, 102, 170, 0.2);
}
main.single-products section.overview .wrapper > .left .gallery .web-ar img {
  width: 36px;
}
main.single-products section.overview .wrapper > .left .certification {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}
main.single-products section.overview .wrapper > .left .certification .ctf-item-1 {
  width: 97px;
}
main.single-products section.overview .wrapper > .left .certification .ctf-item-2 {
  width: 63px;
}
main.single-products section.overview .wrapper > .right {
  width: 484px;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right {
    max-width: 484px;
    width: 100%;
  }
}
main.single-products section.overview .wrapper > .right .new {
  width: 54px;
  padding: 8px 0;
  background-color: var(--col-orange);
  font-family: "Figtree", serif !important;
  text-align: center;
  font-size: 12px;
  font-weight: var(--fw-bold);
  line-height: 1;
  color: #fff;
  display: inline-block;
  margin-right: 10px;
}
main.single-products section.overview .wrapper > .right .format {
  min-width: 140px;
  width: fit-content;
  padding: 8px 10px;
  background-color: var(--col-black);
  text-align: center;
  font-size: 12px;
  font-weight: var(--fw-bold);
  line-height: 1;
  color: #fff;
  display: inline-block;
  vertical-align: middle;
}
main.single-products section.overview .wrapper > .right .product-name {
  margin-top: 20px;
  font-family: "Figtree", "Noto Sans JP" !important;
  font-size: 48px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right .product-name {
    font-size: 30px;
  }
}
main.single-products section.overview .wrapper > .right .product-maker {
  font-size: 12px;
  font-weight: var(--fw-bold);
}
main.single-products section.overview .wrapper > .right .description {
  margin-top: 10px;
  font-size: 20px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right .description {
    font-size: 16px;
  }
}
main.single-products section.overview .wrapper > .right .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 6.6%;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right .tag {
    justify-content: flex-start;
  }
}
main.single-products section.overview .wrapper > .right .tag .tag-item {
  flex: 1;
  padding: 12px 4px;
  background-color: rgba(51, 102, 170, 0.0784313725);
  border-radius: 5px;
  text-align: center;
  font-size: 12px;
  font-weight: var(--fw-med);
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right .tag .tag-item {
    padding: 12px;
    flex: 0 0 fit-content;
  }
}
main.single-products section.overview .wrapper > .right .tag .tag-item .tag-item-small {
  font-size: 10px;
  margin-top: 5px;
}
main.single-products section.overview .wrapper > .right .spec01 {
  display: flex;
  gap: 6.6%;
  margin-top: 20px;
}
main.single-products section.overview .wrapper > .right .spec01 .spec01-item {
  flex: 1;
}
main.single-products section.overview .wrapper > .right .spec01 .spec01-item:first-child {
  border-right: solid 1px var(--col-gray);
}
main.single-products section.overview .wrapper > .right .spec01 .spec01-item .bold {
  font-weight: var(--fw-bold);
}
main.single-products section.overview .wrapper > .right .spec01 .spec01-item .sm {
  font-size: 12px;
}
main.single-products section.overview .wrapper > .right .spec01 .spec01-item .xsm {
  font-size: 10px;
}
main.single-products section.overview .wrapper > .right .spec02 {
  margin-top: 30px;
}
main.single-products section.overview .wrapper > .right .spec02 .spec02-item {
  display: flex;
  gap: 6.6%;
  padding-bottom: 10px;
  border-bottom: solid 1px var(--col-gray);
  font-size: 12px;
}
main.single-products section.overview .wrapper > .right .spec02 .spec02-item + .spec02-item {
  margin-top: 10px;
}
main.single-products section.overview .wrapper > .right .spec02 .spec02-item * {
  flex: 1;
}
main.single-products section.overview .wrapper > .right .spec02 .spec02-item .label {
  font-weight: var(--fw-bold);
}
main.single-products section.overview .wrapper > .right .accordion.typeA {
  margin-top: 20px;
}
main.single-products section.overview .wrapper > .right .accordion.typeA .accordion-content {
  padding-bottom: 20px;
}
main.single-products section.overview .wrapper > .right .info-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 32px;
  margin-top: 30px;
  font-size: 12px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right .info-links {
    gap: 20px;
  }
}
main.single-products section.overview .wrapper > .right .info-links .link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 140px;
  padding: 12px 0;
  border-radius: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  main.single-products section.overview .wrapper > .right .info-links .link {
    width: calc((100% - 20px) / 2);
  }
}
main.single-products section.overview .wrapper > .right .info-links .link img {
  width: 14px;
}
main.single-products section.overview .wrapper > .right .info-links .link.web {
  background-color: var(--col-orange);
  color: #fff;
}
main.single-products section.overview .wrapper > .right .info-links .link.pdf {
  border: solid 1px var(--col-orange);
  background-color: var(--col-lit-orange);
  color: var(--col-orange);
}
main.single-products section.overview .wrapper > .right .info-links .share {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-right: 0;
  margin-left: auto;
}
main.single-products section.overview .wrapper > .right .info-links .share .round {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background-color: #eee;
  border-radius: 50%;
}
main.single-products section.overview .wrapper > .right .info-links .share .round img {
  width: 12px;
}
main.single-products section.feature {
  padding-top: 100px;
}
main.single-products section.feature > .feature_list {
  margin-top: 43px;
}
main.single-products section.feature > .feature_list > .item + .item {
  margin-top: 143px;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item + .item {
    margin-top: 100px;
  }
}
main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl {
  position: relative;
  padding: 30px 0 30px 86px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl {
    padding: 12px 0 12px 60px;
  }
}
main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: calc((var(--window-width) - 100%) / 2 * -1);
  display: block;
  width: calc((var(--window-width) - 100%) / 2);
  height: 100%;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl::before {
    width: 15px;
    left: -15px;
  }
}
main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl .no {
  position: absolute;
  top: -70px;
  left: 0;
  font-family: "Figtree", sans-serif;
  font-size: 130px;
  font-weight: var(--fw-bold);
  font-style: italic;
  color: var(--col-gray);
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl .no {
    top: -60px;
    font-size: 90px;
  }
}
main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl .txt {
  font-family: "Figtree", "Noto Sans JP", sans-serif !important;
  font-size: 28px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl .txt {
    font-size: 20px;
  }
}
main.single-products section.feature > .feature_list > .item .wrapper .feature-ttl + .note {
  margin-top: 10px;
  font-size: 10px;
  text-align: right;
}
main.single-products section.feature > .feature_list > .item .wrapper .lead {
  position: relative;
  margin-top: 30px;
  padding-bottom: 5px;
  border-bottom: solid 2px var(--col-black);
}
main.single-products section.feature > .feature_list > .item .wrapper .lead::before {
  content: "";
  position: absolute;
  display: block;
  bottom: -2px;
  right: calc((var(--window-width) - 100%) / 2 * -1);
  width: calc((var(--window-width) - 100%) / 2);
  height: 2px;
  background-color: var(--col-black);
}
main.single-products section.feature > .feature_list > .item .primary {
  padding: 0 15px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  max-width: calc((100% - 1000px) / 2 + 1000px);
  width: 100%;
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .primary .primary-wrapper {
    flex-direction: column;
    align-items: center;
  }
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .left {
  width: 570px;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .left {
    width: 100%;
    padding-top: 40px;
  }
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .left .point + .point {
  margin-top: 40px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .left .point .ttl {
  width: 100%;
  padding: 3px 7px;
  background-color: #f5f5f5;
  font-family: "Figtree", "Noto Sans JP", sans-serif !important;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .left .point .imgc {
  margin-top: 10px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .left .note {
  margin-top: 10px;
  font-size: 10px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right {
  flex: 1;
  position: relative;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right {
    padding-bottom: 40px;
  }
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right::before {
  content: "";
  position: absolute;
  display: block;
  opacity: 0.2;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--feature-section-gradation);
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right::before {
    left: -15px;
    width: calc(100% + 30px);
  }
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap {
  position: relative;
  min-width: 400px;
  width: 67%;
  padding-left: 17%;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap {
    max-width: 100%;
    width: 100%;
    min-width: 0;
    padding-left: 0;
    padding-top: 40px;
  }
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap .outline {
  font-family: "Figtree", "Noto Sans JP", sans-serif !important;
  font-size: 20px;
  font-weight: var(--fw-med);
}
@media screen and (max-width: 768px) {
  main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap .outline {
    font-size: 16px;
  }
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap .outline + .note {
  margin-top: 12px;
  font-size: 10px;
  font-weight: var(--fw-med);
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap > .right_point_list {
  margin-top: 100px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap > .right_point_list > .item {
  position: relative;
  padding-left: 16px;
  font-size: 14px;
  font-weight: var(--fw-bold);
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap > .right_point_list > .item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--col-orange);
  border-radius: 50%;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap > .right_point_list > .item + .item {
  margin-top: 40px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap .note {
  position: relative;
  margin-top: 100px;
  padding-left: 12px;
  font-size: 10px;
}
main.single-products section.feature > .feature_list > .item .primary .primary-wrapper > .right .right-wrap .note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
main.single-products section.warranty {
  padding: 100px 0;
}
main.single-products section.warranty .wrapper > .warranty_list {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  main.single-products section.warranty .wrapper > .warranty_list {
    margin-top: 40px;
  }
}
main.single-products section.warranty .wrapper > .warranty_list > .item + .item {
  margin-top: 80px;
}
main.single-products section.warranty .wrapper > .warranty_list > .item.item-1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 20px 11.8%;
}
@media screen and (max-width: 768px) {
  main.single-products section.warranty .wrapper > .warranty_list > .item.item-1 {
    flex-direction: column;
    align-items: center;
  }
}
main.single-products section.warranty .wrapper > .warranty_list > .item .detail {
  max-width: 828px;
  flex: 1;
  min-width: 400px;
  display: grid;
  grid-template-columns: 140px 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas: "imgc heading" "imgc txt";
  gap: 20px 32px;
}
@media screen and (max-width: 768px) {
  main.single-products section.warranty .wrapper > .warranty_list > .item .detail {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
  }
}
main.single-products section.warranty .wrapper > .warranty_list > .item .detail .imgc {
  grid-area: imgc;
  width: 140px;
}
main.single-products section.warranty .wrapper > .warranty_list > .item .detail .heading {
  grid-area: heading;
  font-size: 28px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
}
@media screen and (max-width: 768px) {
  main.single-products section.warranty .wrapper > .warranty_list > .item .detail .heading {
    font-size: 20px;
  }
}
main.single-products section.warranty .wrapper > .warranty_list > .item .detail .txt {
  grid-area: txt;
  font-size: 20px;
  font-weight: var(--fw-med);
}
@media screen and (max-width: 768px) {
  main.single-products section.warranty .wrapper > .warranty_list > .item .detail .txt {
    font-size: 16px;
  }
}
main.single-products section.warranty .wrapper > .warranty_list > .item .graph {
  width: 400px;
}
@media screen and (max-width: 768px) {
  main.single-products section.warranty .wrapper > .warranty_list > .item .graph {
    max-width: 400px;
    width: 100%;
  }
}
main.single-products section.warranty .wrapper > .warranty_list > .item .note {
  margin-top: 40px;
  font-size: 10px;
}
main.single-products section.simulator {
  padding-bottom: 100px;
}
main.single-products section.simulator .wrapper .simulator-content {
  max-width: 656px;
  width: 100%;
  margin: 80px auto 0;
  display: grid;
  grid-template-columns: 21.3% 73.7%;
  grid-template-rows: auto 1fr;
  grid-template-areas: "img txt" "img link";
  gap: 40px 4.8%;
}
@media screen and (max-width: 768px) {
  main.single-products section.simulator .wrapper .simulator-content {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "img" "txt" "link";
  }
}
main.single-products section.simulator .wrapper .simulator-content .img {
  grid-area: img;
}
@media screen and (max-width: 768px) {
  main.single-products section.simulator .wrapper .simulator-content .img {
    max-width: 140px;
    width: 100%;
    margin: auto;
  }
}
main.single-products section.simulator .wrapper .simulator-content .txt {
  grid-area: txt;
  font-size: 20px;
  font-weight: var(--fw-med);
}
@media screen and (max-width: 768px) {
  main.single-products section.simulator .wrapper .simulator-content .txt {
    font-size: 18px;
  }
}
main.single-products section.simulator .wrapper .simulator-content .simulator-link {
  grid-area: link;
  max-width: 310px;
  width: 100%;
  padding: 18px 10px;
  background-color: var(--col-navy);
  box-shadow: rgba(0, 0, 0, 0.3019607843) 0px 3px 6px;
  border-radius: 5px;
  text-align: center;
  font-weight: var(--fw-bold);
  color: #fff;
  display: block;
}
@media screen and (max-width: 768px) {
  main.single-products section.simulator .wrapper .simulator-content .simulator-link {
    margin: auto;
  }
}
main.single-products section.guide {
  padding: 80px 0;
  background-color: #f5f5f5;
}
main.single-products section.guide .flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 30px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  main.single-products section.guide .flow {
    row-gap: 20px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 425px) {
  main.single-products section.guide .flow {
    flex-direction: column;
    align-items: center;
  }
}
main.single-products section.guide .flow .step {
  position: relative;
  width: 226px;
}
@media screen and (max-width: 425px) {
  main.single-products section.guide .flow .step {
    max-width: 226px;
    width: 100%;
  }
}
main.single-products section.guide .flow .step:not(:last-child) {
  margin-right: 32px;
}
@media screen and (max-width: 425px) {
  main.single-products section.guide .flow .step:not(:last-child) {
    margin-right: 0;
    margin-bottom: 40px;
  }
}
main.single-products section.guide .flow .step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 120px;
  right: -20px;
  display: block;
  width: 17.5px;
  height: 17.5px;
  border-top: solid 2px var(--col-orange);
  border-right: solid 2px var(--col-orange);
  transform: rotate(45deg);
}
@media screen and (max-width: 425px) {
  main.single-products section.guide .flow .step:not(:last-child)::before {
    top: auto;
    right: auto;
    bottom: -30px;
    left: 50%;
    transform-origin: left;
    transform: rotate(135deg) translateX(-50%);
  }
}
main.single-products section.guide .flow .step .no {
  font-size: 12px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
  line-height: 1;
}
main.single-products section.guide .flow .step .step-ttl {
  margin-top: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 768px) {
  main.single-products section.guide .flow .step .step-ttl {
    font-size: 16px;
  }
}
main.single-products section.guide .flow .step .imgc {
  width: 120px;
  aspect-ratio: 1;
  margin: 20px auto 0;
}
main.single-products section.guide .flow .step .accordion.typeB {
  margin-top: 20px;
}
main.single-products section.guide .flow .step .accordion.typeB .accordion-btn .txt {
  font-weight: var(--fw-bold);
  color: #666;
}
main.single-products section.guide .flow .step .accordion.typeB .accordion-content {
  padding-top: 20px;
}
main.single-products section.guide .flow .step .accordion.typeB .accordion-content .txt {
  font-size: 12px;
  font-weight: var(--fw-med);
  line-height: 2;
}
main.single-products section.support {
  padding: 100px 0;
}
main.single-products section.support .wrapper > .support_list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 85px;
}
@media screen and (max-width: 768px) {
  main.single-products section.support .wrapper > .support_list {
    flex-direction: column;
    gap: 20px;
    margin-top: 40px;
  }
}
main.single-products section.support .wrapper > .support_list .item {
  flex: 1;
  margin-left: 9%;
}
@media screen and (max-width: 768px) {
  main.single-products section.support .wrapper > .support_list .item {
    margin-left: 0;
  }
}
main.single-products section.support .wrapper > .support_list .item a {
  display: flex;
  align-items: center;
  gap: 23px;
}
@media screen and (max-width: 768px) {
  main.single-products section.support .wrapper > .support_list .item a {
    gap: 15px;
  }
}
main.single-products section.support .wrapper > .support_list .item .imgc {
  display: block;
  width: 70px;
}
@media screen and (max-width: 768px) {
  main.single-products section.support .wrapper > .support_list .item .imgc {
    width: 40px;
  }
}
main.single-products section.support .wrapper > .support_list .item .txt {
  flex: 1;
  font-size: 20px;
  font-weight: var(--fw-med);
}
@media screen and (max-width: 768px) {
  main.single-products section.support .wrapper > .support_list .item .txt {
    font-size: 16px;
  }
}
main.single-products section.support .wrapper > .support_list .item:hover .txt-faq {
  color: var(--col-orange);
}
main.single-products section.support .wrapper > .support_list .item:hover .txt-after {
  color: var(--col-navy);
}
main.single-products section.support .wrapper > .support_list .border {
  display: block;
  width: 1px;
  height: 80px;
  margin-left: 15px;
  background-color: var(--col-black);
}
@media screen and (max-width: 768px) {
  main.single-products section.support .wrapper > .support_list .border {
    display: none;
  }
}
main.single-products section.compare {
  position: relative;
  padding: 80px 0 120px;
}
main.single-products section.compare::before {
  content: "";
  opacity: 0.2;
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 300px;
  background: var(--compare-section-gradation);
}
main.single-products section.compare .wrapper {
  position: relative;
  max-width: 828px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper {
    max-width: 468px;
  }
}
main.single-products section.compare .wrapper .product {
  display: flex;
  gap: 34px;
  width: 468px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .product {
    gap: 20px;
    width: 100%;
  }
}
main.single-products section.compare .wrapper .product.top {
  margin-top: 80px;
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .product.top {
    margin-top: 40px;
  }
}
main.single-products section.compare .wrapper .product .item {
  flex: 1;
}
main.single-products section.compare .wrapper .product .item .imgc {
  height: 152px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .product .item .imgc {
    height: 120px;
  }
}
main.single-products section.compare .wrapper .product .item .imgc img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}
main.single-products section.compare .wrapper .product .item .name {
  position: relative;
  margin-top: 40px;
  border-bottom: solid 1px var(--col-black);
}
main.single-products section.compare .wrapper .product .item .name::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 1px;
  display: block;
  width: 12px;
  height: 10px;
  background-color: var(--col-black);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
main.single-products section.compare .wrapper .product .item .name .select-product-name {
  cursor: pointer;
  width: calc(100% - 18px);
  margin: 0;
  padding: 0;
  border: none;
  font-weight: var(--fw-bold);
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  white-space: pre-wrap;
  line-height: 1.3;
  font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
main.single-products section.compare .wrapper .product .item .name .select-product-name::-ms-expand {
  display: none; /* select要素のデザインを無効にする（IE用） */
}
main.single-products section.compare .wrapper .product .item .more {
  display: inline-block;
  width: 100%;
  margin-top: 20px;
  text-decoration: underline;
  text-align: center;
  font-size: 12px;
  font-weight: var(--fw-reg);
  color: #666666;
  line-height: 1;
}
main.single-products section.compare .wrapper .product .item .data-txt {
  font-size: 12px;
  line-break: anywhere;
}
main.single-products section.compare .wrapper .product .item .data-txt .sm {
  font-size: 10px;
}
main.single-products section.compare .wrapper .table .row {
  display: flex;
  align-items: center;
  gap: 8px 15px;
  border-bottom: solid 1px #f5f5f5;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row {
    flex-direction: column;
    align-items: flex-start;
  }
}
main.single-products section.compare .wrapper .table .row .heading {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 45px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row .heading {
    width: 100%;
    gap: 12px;
  }
}
main.single-products section.compare .wrapper .table .row .heading:not(:has(.txt-acc)) {
  align-self: flex-start;
}
main.single-products section.compare .wrapper .table .row .heading .imgc {
  width: 40px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row .heading .imgc {
    width: 30px;
  }
}
main.single-products section.compare .wrapper .table .row .heading .txt {
  font-weight: var(--fw-bold);
}
main.single-products section.compare .wrapper .table .row .heading .txt .sm {
  font-size: 12px;
}
main.single-products section.compare .wrapper .table .row-t {
  padding: 20px 0;
}
main.single-products section.compare .wrapper .table .row-acc {
  padding-top: 0;
  padding-bottom: 15px;
}
main.single-products section.compare .wrapper .table .row-acc:not(:first-child) {
  padding-top: 15px;
}
main.single-products section.compare .wrapper .table .row-acc .txt-acc {
  padding-left: 85px;
  font-size: 12px;
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row-acc .txt-acc {
    padding-left: 0;
  }
}
main.single-products section.compare .wrapper .table .row-acc .txt-acc .sm {
  font-size: 10px;
}
main.single-products section.compare .wrapper .table .row-acc .product-table {
  width: 554px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row-acc .product-table {
    width: 100%;
  }
}
main.single-products section.compare .wrapper .table .row-acc .product-table .product-table-row {
  display: flex;
  align-items: center;
  column-gap: 32px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row-acc .product-table .product-table-row {
    flex-wrap: wrap;
    column-gap: 20px;
  }
}
main.single-products section.compare .wrapper .table .row-acc .product-table .product-table-row + .product-table-row {
  margin-top: 7px;
}
main.single-products section.compare .wrapper .table .row-acc .product-table .product-table-row .detail-label {
  align-self: flex-start;
  width: 54px;
  font-size: 10px;
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .table .row-acc .product-table .product-table-row .detail-label {
    width: 100%;
  }
}
main.single-products section.compare .wrapper .table .row-acc .product-table .product-table-row .detail-data {
  flex: 1;
  font-size: 12px;
}
main.single-products section.compare .wrapper .acc-note {
  padding-left: 85px;
  margin-top: 20px;
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .acc-note {
    padding-left: 0;
  }
}
main.single-products section.compare .wrapper .table-visible {
  margin-top: 20px;
}
main.single-products section.compare .wrapper .accordion.typeA {
  margin-top: 40px;
}
main.single-products section.compare .wrapper .accordion.typeA .accordion-content {
  padding-bottom: 55px;
}
main.single-products section.compare .wrapper .accordion.typeA .accordion-btn {
  max-width: 484px;
  margin: auto;
}
main.single-products section.compare .wrapper .accordion.typeA.open {
  position: relative;
}
main.single-products section.compare .wrapper .accordion.typeA.open::before {
  content: "";
  position: absolute;
  top: -40px;
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--col-gray);
}
main.single-products section.compare .wrapper .banner {
  display: block;
  max-width: 484px;
  width: 100%;
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  main.single-products section.compare .wrapper .banner {
    margin-top: 50px;
  }
}
main.single-products section.overview + section.component {
  padding-top: 100px;
}
main.single-products section.component {
  padding-bottom: 100px;
}
main.single-products section.component .wrapper .component-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px 3.1%;
  max-width: 1028px;
  width: 100%;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  main.single-products section.component .wrapper .component-list {
    margin-top: 40px;
  }
}
main.single-products section.component .wrapper .component-list .component-item {
  max-width: 398px;
  width: 100%;
}
main.single-products section.component .wrapper .component-list .component-item.wide {
  max-width: 484px;
}
main.single-products section.component .wrapper .component-list .component-item.item-3cols {
  max-width: 311px;
}
main.single-products section.component .wrapper .component-list .component-item.item-3cols .item-name {
  min-height: 48px;
  font-size: 16px;
  color: var(--col-black);
}
main.single-products section.component .wrapper .component-list .component-item .img {
  max-width: 140px;
  width: 100%;
  margin: auto;
}
main.single-products section.component .wrapper .component-list .component-item .item-name {
  margin-top: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
}
@media screen and (max-width: 768px) {
  main.single-products section.component .wrapper .component-list .component-item .item-name {
    font-size: 18px;
  }
}
main.single-products section.component .wrapper .component-list .component-item .accordion.typeB {
  margin-top: 10px;
}
main.single-products section.component .wrapper .component-list .component-item .accordion.typeB .accordion-content {
  padding-top: 20px;
}
main.single-products .fixed-anchor {
  position: fixed;
  z-index: 2;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: fit-content;
}
@media screen and (max-width: 768px) {
  main.single-products .fixed-anchor {
    display: none;
  }
}
main.single-products .fixed-anchor .link {
  display: block;
  font-size: 10px;
  font-weight: var(--fw-bold);
  color: #999999;
}
main.single-products .fixed-anchor .link + .link {
  margin-top: 6px;
}
main.single-products .fixed-anchor .link.active .txt {
  position: relative;
  padding-bottom: 4px;
  color: var(--col-orange);
}
main.single-products .fixed-anchor .link.active .txt::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: calc(100% + 20px);
  height: 1px;
  background-color: var(--col-orange);
}
main.single-products .modal-window {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999999999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
main.single-products .modal-window.visible {
  visibility: visible;
  opacity: 1;
}
main.single-products .modal-window .modal-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 656px;
  width: calc(100% - 30px);
  height: 100%;
  margin: auto;
  padding: 120px 0;
}
main.single-products .modal-window .modal-wrap .frame {
  aspect-ratio: 656/500;
  border: solid 10px #fff;
  background-color: #e4e4e4;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  main.single-products .modal-window .modal-wrap .frame {
    border-width: 5px;
  }
}
main.single-products .modal-window .modal-wrap .frame .content {
  width: 100%;
  height: 100%;
}
main.single-products .modal-window .modal-wrap .frame .content model-viewer {
  width: 100%;
  height: 100%;
}
main.single-products .modal-window .modal-wrap .close {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 93px;
  height: 40px;
  margin: 20px auto 0;
}
main.single-products .modal-window .modal-wrap .close:hover .close-btn {
  opacity: 0.6;
}
main.single-products .modal-window .modal-wrap .close:hover .txt {
  border-color: #fff;
}
main.single-products .modal-window .modal-wrap .close .close-btn {
  position: relative;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 50%;
}
main.single-products .modal-window .modal-wrap .close .close-btn::before, main.single-products .modal-window .modal-wrap .close .close-btn::after {
  content: "";
  position: absolute;
  top: 19px;
  left: 12px;
  display: block;
  width: 17px;
  height: 2px;
  background-color: #666666;
  transform-origin: center;
}
main.single-products .modal-window .modal-wrap .close .close-btn:before {
  transform: rotate(-45deg);
}
main.single-products .modal-window .modal-wrap .close .close-btn::after {
  transform: rotate(45deg);
}
main.single-products .modal-window .modal-wrap .close .txt {
  padding: 3px 0;
  border-bottom: solid 1px transparent;
  font-size: 14px;
  color: #fff;
}

/* --- ここまで テンプレート共通 --- */
/* --- テンプレート別 --- */
main.hems {
  --compare-section-gradation: linear-gradient(to bottom, #999999, #fff);
}
main.hems section.overview .eneconnect-banner {
  display: block;
  margin-top: 20px;
}
main.hems section.feature .feature_list .item:last-child {
  padding-bottom: 100px;
}
main.hems section.feature .feature_list .item .primary-2 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  main.hems section.feature .feature_list .item .primary-2 {
    margin-top: 40px;
  }
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-ttl {
  padding: 5px 10px;
  background-color: #f5f5f5;
  font-size: 20px;
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 768px) {
  main.hems section.feature .feature_list .item .primary-2 .primary-2-ttl {
    font-size: 18px;
  }
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper {
  max-width: 824px;
  width: 100%;
  margin: 20px auto 0;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 14%;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list {
  width: 310px;
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list {
    padding-top: 0;
  }
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 6px;
  background-color: #f5f5f5;
  border-radius: 35px;
  box-shadow: rgba(0, 0, 0, 0.1607843137) 0px 3px 6px;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item + .eneconnect-item {
  margin-top: 20px;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item:hover, main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item.active {
  background-color: rgba(51, 51, 51, 0.8);
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item:hover .txt, main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item.active .txt {
  color: #fff;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item.active {
  cursor: auto;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item .img {
  width: 50px;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-list .eneconnect-item .txt {
  font-weight: var(--fw-bold);
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-detail-list {
  width: 398px;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-detail-list .eneconnect-detail-item {
  display: none;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-detail-list .eneconnect-detail-item.active {
  display: block;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-detail-list .eneconnect-detail-item .img {
  width: 78.3%;
  margin: auto;
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-detail-list .eneconnect-detail-item .detail-label {
  margin-top: 35px;
  text-align: center;
  font-size: 20px;
  font-weight: var(--fw-bold);
  color: var(--col-orange);
}
main.hems section.feature .feature_list .item .primary-2 .primary-2-wrapper.eneconnect .eneconnect-detail-list .eneconnect-detail-item .detail-description {
  margin-top: 10px;
  text-align: center;
  font-size: 14px;
  font-weight: var(--fw-bold);
}
main.hems section.feature .feature_list .item .primary-2 .eneconnect-banner {
  display: block;
  max-width: 484px;
  width: 100%;
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  main.hems section.feature .feature_list .item .primary-2 .eneconnect-banner {
    margin-top: 50px;
  }
}
main.hems section.guide .wrapper .flow .step::before {
  top: 160px;
}
@media screen and (max-width: 768px) {
  main.hems section.guide .wrapper .flow .step::before {
    top: auto;
  }
}
main.hems section.guide .wrapper .flow .step .step-ttl {
  min-height: 64px;
}

main.e_storage_system {
  --feature-section-gradation: linear-gradient(136deg, #fff, #999);
  --compare-section-gradation: linear-gradient(to bottom, #999999, #fff);
}
main.e_storage_system section.overview .wrapper .left .ess_certification {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
main.e_storage_system section.overview .wrapper .left .ess_certification > * {
  width: 80px;
  height: 80px;
}
main.e_storage_system section.overview .wrapper .left .ess_certification .ess_ctf-item-2 {
  --ess_ctf_item-bg-col: #3366aa4d;
  --ess_ctf_item-txt-col: #3366aa;
}
main.e_storage_system section.overview .wrapper .left .ess_certification .ess_ctf-item-3 {
  --ess_ctf_item-bg-col: #ee77444d;
  --ess_ctf_item-txt-col: #ee7744;
}
main.e_storage_system section.overview .wrapper .left .ess_certification .ess_ctf-item-2, main.e_storage_system section.overview .wrapper .left .ess_certification .ess_ctf-item-3 {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: var(--ess_ctf_item-bg-col);
}
main.e_storage_system section.overview .wrapper .left .ess_certification .ess_ctf-item-2 .txt, main.e_storage_system section.overview .wrapper .left .ess_certification .ess_ctf-item-3 .txt {
  font-size: 12px;
  font-weight: var(--fw-bold);
  color: var(--ess_ctf_item-txt-col);
}
main.e_storage_system .e_storage-banner {
  display: block;
  max-width: 484px;
  width: calc(100% - 30px);
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  main.e_storage_system .e_storage-banner {
    margin-top: 40px;
  }
}

main.rerise {
  --feature-section-gradation: linear-gradient(136deg, #fff, var(--col-orange));
  --compare-section-gradation: linear-gradient(
  	to bottom,
  	var(--col-orange),
  	#fff
  );
}
main.rerise section.overview .rerise-video {
  max-width: 656px;
  width: calc(100% - 30px);
  margin: 100px auto 0;
}
main.rerise section.overview .rerise-video iframe {
  width: 100%;
  height: 390px;
}
main.rerise section.overview .rerise-banner {
  display: block;
  max-width: 656px;
  width: calc(100% - 30px);
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  main.rerise section.overview .rerise-banner {
    margin-top: 40px;
  }
}
main.rerise section.simulator {
  padding-bottom: 100px;
}
main.rerise section.simulator .wrapper .simulator-content {
  max-width: 656px;
  width: 100%;
  margin: 80px auto 0;
  display: grid;
  grid-template-columns: 21.3% 73.7%;
  grid-template-rows: auto 1fr;
  grid-template-areas: "img txt" "img link";
  gap: 40px 4.8%;
}
@media screen and (max-width: 768px) {
  main.rerise section.simulator .wrapper .simulator-content {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "img" "txt" "link";
  }
}
main.rerise section.simulator .wrapper .simulator-content .img {
  grid-area: img;
}
@media screen and (max-width: 768px) {
  main.rerise section.simulator .wrapper .simulator-content .img {
    max-width: 140px;
    width: 100%;
    margin: auto;
  }
}
main.rerise section.simulator .wrapper .simulator-content .txt {
  grid-area: txt;
  font-size: 20px;
  font-weight: var(--fw-med);
}
@media screen and (max-width: 768px) {
  main.rerise section.simulator .wrapper .simulator-content .txt {
    font-size: 18px;
  }
}
main.rerise section.simulator .wrapper .simulator-content .simulator-link {
  grid-area: link;
  max-width: 310px;
  width: 100%;
  padding: 18px 10px;
  background-color: var(--col-navy);
  box-shadow: rgba(0, 0, 0, 0.3019607843) 0px 3px 6px;
  border-radius: 5px;
  text-align: center;
  font-weight: var(--fw-bold);
  color: #fff;
  display: block;
}
@media screen and (max-width: 768px) {
  main.rerise section.simulator .wrapper .simulator-content .simulator-link {
    margin: auto;
  }
}

main.power_conditioner {
  --compare-section-gradation: linear-gradient(to bottom, #999999, #fff);
}
main.power_conditioner section.overview .wrapper .left .pcs_certification {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
main.power_conditioner section.overview .wrapper .left .pcs_certification > * {
  width: 80px;
  height: 80px;
}
main.power_conditioner section.overview .pcs-banner {
  display: block;
  max-width: 484px;
  width: calc(100% - 30px);
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  main.power_conditioner section.overview .pcs-banner {
    margin-top: 40px;
  }
}
main.power_conditioner section.feature .feature_list .item:last-child {
  padding-bottom: 100px;
}
main.power_conditioner section.feature .feature_list .item .primary-2 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  main.power_conditioner section.feature .feature_list .item .primary-2 {
    margin-top: 40px;
  }
}
main.power_conditioner section.feature .feature_list .item .primary-2 .primary-2-ttl {
  padding: 5px 10px;
  background-color: #f5f5f5;
  font-size: 20px;
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 768px) {
  main.power_conditioner section.feature .feature_list .item .primary-2 .primary-2-ttl {
    font-size: 18px;
  }
}
main.power_conditioner section.feature .feature_list .item .primary-2 .primary-2-wrapper {
  max-width: 824px;
  width: 100%;
  margin: 20px auto 0;
}
main.power_conditioner section.feature .feature_list .item .primary-2 .primary-2-wrapper .images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
main.power_conditioner section.feature .feature_list .item .primary-2 .primary-2-wrapper .images > .img {
  max-width: 397px;
  width: 100%;
}
main.power_conditioner section.feature .feature_list .item .primary-2 .primary-2-wrapper .note {
  margin-top: 10px;
  font-size: 10px;
}
main.power_conditioner section.warranty {
  padding-top: 0;
}
main.power_conditioner section.warranty .wrapper .w-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 32px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  main.power_conditioner section.warranty .wrapper .w-content {
    flex-direction: column;
    margin-top: 40px;
  }
}
main.power_conditioner section.warranty .wrapper .w-content .img {
  max-width: 136px;
  width: 100%;
}
main.power_conditioner section.warranty .wrapper .w-content .heading {
  width: fit-content;
  font-size: 28px;
  font-weight: var(--fw-bold);
  color: var(--col-navy);
}
@media screen and (max-width: 768px) {
  main.power_conditioner section.warranty .wrapper .w-content .heading {
    font-size: 20px;
  }
}
main.power_conditioner section.warranty .wrapper .w-content .graph {
  max-width: 828px;
  width: 100%;
  margin: auto;
}
main.power_conditioner section.warranty .wrapper .w-content .graph img {
  display: inline-block;
  width: 100%;
  height: 212px;
}
main.power_conditioner section.component {
  padding-bottom: 100px;
}
main.power_conditioner section.component .wrapper .component-list .component-item .img img {
  display: inline-block;
  width: 100%;
  height: 178px;
}
main.power_conditioner section.component .wrapper .component-list .component-item .accordion .spec03-item .label {
  align-self: center;
}
main.power_conditioner section.compare .wrapper .product .item .imgc img {
  display: inline-block;
  width: 100%;
  height: 100%;
}
main.power_conditioner section.compare .wrapper .table .row:nth-child(2) .heading .imgc img, main.power_conditioner section.compare .wrapper .table .row:nth-child(5) .heading .imgc img {
  display: inline-block;
  width: 100%;
  height: 40px;
}
main.power_conditioner section.compare .wrapper .banner img {
  display: inline-block;
  width: 100%;
  height: 100px;
}
main.power_conditioner section.compare .wrapper .product {
  align-items: center;
}

/* --- ここまで テンプレート別 --- *//*# sourceMappingURL=single-product.css.map */