﻿@charset "utf-8";
/* CSS Document */
/*固定ページ用CSS*/

/*==================================================
	GENERAL SETTINGS
==================================================*/
/* パンくず*/
.powerbuildPage #bread,
.afterfollowPage #bread,
.gxPage #bread {
  color: #fff;
}

.powerbuildPage #bread>span:not(:last-child)::after,
.afterfollowPage #bread>span:not(:last-child)::after,
.gxPage #bread>span:not(:last-child)::after {
  color: #fff;
  border-color: #fff;
}

/* ttlBox(h1) */
.powerbuildPage .ttlWrap,
.enetoPage .ttlWrap,
.gxPage .ttlWrap,
.conceptPage .ttlWrap {
  display: none;
}

/* ページ共通設定　*/
#postbox {
  max-width: 100%;
  font-size: 1.4rem;
}

.powerbuildPage .wire,
.afterfollowPage .wire,
.gxPage .wire {
  max-width: 1010px;
}

/*==================================================
  powerbuild:パワービルド工法
==================================================*/

/* common */
.powerbuildPage .color_blue01 {
  color: #456179;
}

.powerbuildPage .font_small {
  font-size: 0.9em;
}

.powerbuildPage img {
  max-width: 100%;
  height: auto;
}

.powerbuildPage p {
  line-height: 1.8;
}

.powerbuildPage .powerbuildPage__commonTtl {
  font-weight: bold;
  text-align: center;
  font-size: 32px;
  line-height: 1.4;
  margin-bottom: 20px;
}

.powerbuildPage .powerbuildPage__commonTxt {
  margin-bottom: 20px;
}

.powerbuildPage .powerbuildPage__commonImgBox {
  text-align: center;
}

.powerbuildPage .powerbuildPage__commonSection {
  margin-top: 80px;
  margin-bottom: 80px;
}

@media screen and (max-width: 1009px) {
  .powerbuildPage .powerbuildPage__commonSection {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
}

.powerbuildPage .featureBox__ttlMain {
  background: #594c47;
  color: #fff;
  font-weight: bold;
  padding: 0.5em 0.9em;
}

.powerbuildPage__commonFlexBox {
  display: flex;
  gap: 5%;
  margin-bottom: 70px;
}

.powerbuildPage__commonFlexBox-column {
  flex-direction: column;
}

.powerbuildPage__commonFlexBox-mini {
  margin: 30px 0 20px;
}

.powerbuildPage__commonFlexTtl {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 24px;
}

.powerbuildPage__commonFlexTtl:not(:first-of-type) {
  margin-top: 30px;
}

.powerbuildPage__commonFlexTxtBox {
  width: 55%;
}

.powerbuildPage__commonFlexTxt:not(:first-of-type) {
  margin-top: 1em;
}

.powerbuildPage__commonFlexImgBox {
  width: 35%;
  margin-top: 10px;
}

.powerbuildPage__commonFlexBox-mini .powerbuildPage__commonFlexImgBox {
  margin-top: 0;
}

/* mvBox */
.powerbuildPage .mvBox {
  background: url(../img/page/powerbuild/mvBox_bg.webp) no-repeat center bottom;
  padding: 50px 4% 300px;
}

.mvBox__inner {
  width: min(100%, 1010px);
}

.powerbuildPage .mvBox__ttlBox {
  color: #fff;
  display: flex;
  align-items: baseline;
  gap: 1em;
  font-size: 30px;
}

.powerbuildPage .mvBox__mainTtl {
  font-size: 2.5em;
  font-weight: bold;
  letter-spacing: 0.05em;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

.powerbuildPage .mvBox__subTtl {
  letter-spacing: 0.05em;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

.powerbuildPage .mvBox__txt {
  color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

.powerbuildPage .mvBox__txtBox {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.powerbuildPage .mvBox__img {
  max-width: 130px;
}

/* qaBox */
.powerbuildPage .qaBox__ttl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #709bb0;
  margin-bottom: 30px;
}

.powerbuildPage .qaBox__ttl::before {
  content: "?";
  font-weight: bold;
  width: 50px;
  height: 50px;
  color: #fff;
  background: #709bb0;
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

.powerbuildPage .qaBox__reason {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  justify-content: center;
}

.powerbuildPage .qaBox__reasonTtl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #709bb0;
  font-weight: bold;
  font-size: 26px;
  color: #fff;
  padding: 0.6em 0.7em;
  border-radius: 3px;
}

.powerbuildPage .qaBox__reasonTxt {
  width: 60%;
  line-height: 2;
}

/* reasonBox */
.powerbuildPage .reasonBox {
  background: #594c47;
  padding: 30px 0;
}

.powerbuildPage .reasonBox__inner {
  width: min(100%, 1010px);
}

.powerbuildPage .reasonBox__ttl {
  color: #fff;
}

.powerbuildPage .reasonBox__list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 5%;
}

.powerbuildPage .reasonBox__item {
  width: 30%;
  color: #fff;
}

.powerbuildPage .reasonBox__itemTxt {
  margin-top: 5px;
}

/* featureBox */
.powerbuildPage .featureBox__btnList {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 2%;
  margin-top: 50px;
}

.powerbuildPage .featureBox__btnItem {
  width: 23.5%;
}

.powerbuildPage .featureBox__btnLink {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: 0.3s;
}

.powerbuildPage .featureBox__btnLink:hover {
  text-decoration: none;
  opacity: 0.8;
}

.powerbuildPage .featureBox__btnTxt {
  background: #bd7840;
  color: #fff;
  font-weight: bold;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
}

.powerbuildPage .featureBox__btnMain {
  color: #fff;
  background: #594c47;
  padding: 20px;
  font-size: 1.5em;
  font-weight: bold;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}

.powerbuildPage .featureBox__btnMain::after {
  content: "";
  position: relative;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
}

.powerbuildPage .featureBox__ttl {
  font-size: 26px;
  display: flex;
  margin-bottom: 20px;
}

.powerbuildPage .featureBox__ttlTxt {
  background: #bd7840;
  color: #fff;
  font-weight: bold;
  flex-grow: 1;
  padding: 0.5em 0.9em;
}

/* materialBox */
.powerbuildPage .materialBox {
  background: url(../img/page/powerbuild/materialBox_bg.webp) no-repeat center top;
  padding: 20px 0 90px;
}

.powerbuildPage .materialBox__inner {
  width: min(100%, 1010px);
}

.powerbuildPage .materialBox__mainTtl {
  font-weight: bold;
  text-align: center;
  font-size: 30px;
  color: #fff;
  margin: 20px 0;
}

.powerbuildPage .materialBox__list {
  display: flex;
}

.powerbuildPage .materialBox__item {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 20px;
  text-align: center;
  position: relative;
  gap: 10px;
  padding: 50px
}

.powerbuildPage .materialBox__item-wood {
  background: #bd7840;
}

.powerbuildPage .materialBox__item-wood::after {
  content: "";
  width: 26px;
  height: 100%;
  background: linear-gradient(0deg, #455f72 25%, #bd7840 25%, #bd7840 50%, #455f72 50%, #455f72 75%, #bd7840 75%, #bd7840);
  position: absolute;
  right: -13px;
  background-size: auto 102px;
  z-index: 1;
}

.materialBox__item-metal {
  background: #455f72;
}

.powerbuildPage .materialBox__itemTtl {
  font-weight: bold;
  font-size: 60px;
  line-height: 1;
}

.materialBox__txt-big {
  font-size: 1.5em;
  font-weight: bold;
}

.materialBox__txt {
  text-align: center;
}

/*==================================================
  外部サイト　共通CSS
==================================================*/

/**********************************
【移植】common_2024.css
***********************************/

img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/* WER FONT */
@import url('https://fonts.googleapis.com/css?family=Abel');

/*COMMON  */
.content {
  box-sizing: border-box;
  padding: 0 20px;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

/* COMMON CONTENT */
.commonWrapper {
  padding: 0 0 110px 0;
}

/* BASIC STYLE */
.basicMainTitle {
  font-size: 32px;
  font-weight: bold;
  margin: 0 0 1.5em 0;
  line-height: 2em;
}

.basicSubTitle {
  font-size: 26px;
  font-weight: bold;
  margin: 0 0 1em 0;
  padding: 0 0 0 1em;
  line-height: 1.5em;
  position: relative;
}

.basicText {
  font-size: 16px;
  line-height: 2em;
  margin: 0 0 1.5em 0;
}

.basicCaption {
  font-size: 12px;
  line-height: 1.5em;
}

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

@media screen and (max-width:767px) {

  /*  */
  .pcOnly {
    display: none;
  }

  /* COMMON CONTENT */
  .commonWrapper {
    padding: 0 0 15% 0;
  }

  /* BASIC STYLE */
  .basicMainTitle {
    font-size: 24px;
  }

  .basicText {
    font-size: 14px;
  }

  .basicCaption {
    font-size: 10px;
  }
}

/**********************************
【移植】common_2024.css(enetoページから追加になるもの)
***********************************/

/* TOOLS */
.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb100 {
  margin-bottom: 100px;
}

.pl1em {
  padding-left: 1em;
}

.pl2em {
  padding-left: 2em;
}

.pl3em {
  padding-left: 3em;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.lineThrough {
  text-decoration: line-through;
}

.lh150 {
  line-height: 1.5;
}

.none {
  display: none;
  pointer-events: none;
}

/* ALIGN */
.alignCenter {
  text-align: center;
}

.alignLeft {
  text-align: left;
}

.alignRight {
  text-align: right;
}

/* ARROW */
.triangleBottom {
  background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #f8ebe7 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #f8ebe7 50.5%) no-repeat top right/50% 100%;
}

/* BASIC STYLE */
.basicMiddleTitle {
  font-size: 20px;
  line-height: 1.5em;
  font-weight: bold;
  padding: 0 0 0.5em 0;
  margin: 0 0 1.5em 0;
  border-bottom: #e5e5e5 solid 1px;
}

.basicMiddleTitle2 {
  background: #bb3614;
  color: #fff;
  margin: 0 0 1em 0;
  font-size: 20px;
  padding: 0.5em 1em;
  text-align: center;
  font-weight: bold;
}

.basicMiddleStrong {
  font-size: 120%;
  font-weight: bold;
  vertical-align: baseline;
  color: #bb3614;
}

.basicColorStrong {
  font-weight: bold;
  color: #bb3614;
}

.basicSub {
  font-size: 75%;
}

.basicTable table {
  width: 100%;
  font-size: 14px;
}

.basicTable table thead tr th {
  box-sizing: border-box;
  padding: 1em;
  border: #999 solid 1px;
  background: #d7e0e6;
  font-weight: bold;
}

.basicTable table thead tr td {
  box-sizing: border-box;
  padding: 1em;
  border: #999 solid 1px;
}

.basicTable table tbody tr th {
  box-sizing: border-box;
  padding: 1em;
  border: #999 solid 1px;
  background: #f4f4f4;
  font-weight: bold;
}

.basicTable table tbody tr td {
  box-sizing: border-box;
  padding: 1em;
  border: #999 solid 1px;
}

.basicFigure {
  display: block;
  padding: 4em;
  background: #f7f9fa;
  font-size: 12px;
}

.basicFigure figcaption {
  display: block;
  padding: 0.5em 0;
}

.basicStyleList {
  background: #f7f9fa;
  border-radius: 5px;
  font-size: 16px;
  padding: 1.5em;
  margin: 0 0 1.5em 0;
}

.basicStyleList ul {
  counter-reset: number;
}

.basicStyleList ul li {
  display: block;
  position: relative;
  padding: 0 0 0 1.5em;
  margin: 0 0 0.5em 0;
  counter-increment: number;
}

.basicStyleList ul li::before {
  content: counter(number);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 70%;
  width: 1.8em;
  height: 1.8em;
  box-sizing: border-box;
  color: #fff;
  line-height: 1;
  background: #bb3614;
  padding: 0.4em 0 0 0;
  text-align: center;
  border-radius: 50%;
  font-weight: bold
}

.basicStyleList ul li:last-of-type {
  margin: 0 0 0 0;
}

.basicStyleList ol li {
  display: block;
  position: relative;
  padding: 0 0 0 1.5em;
  margin: 0 0 0.5em 0;
}

.basicStyleList ol li::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  box-sizing: border-box;
  background: #bb3614;
  border-radius: 3px;
  transform: translate(22%, 31%);
}

.basicStyleList ol li:last-of-type {
  margin: 0 0 0 0;
}

.basicStyleList dl dt {
  display: block;
  position: relative;
  padding: 0 0 0 1.5em;
  margin: 0 0 0.5em 0;
  font-weight: bold;
}

.basicStyleList dl dt::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  box-sizing: border-box;
  background: #bb3614;
  border-radius: 3px;
}

.basicStyleList dl dd {
  display: block;
  position: relative;
  padding: 0 0 0 1.5em;
  margin: 0 0 1em 0;
  line-height: 1.5em;
}

.basicStyleList dl dd:last-of-type {
  margin: 0 0 0 0;
}

.basicStyleList dl .sub {
  font-size: 75%;
}

.basicSubNavi {
  font-size: 20px;
}

.basicSubNavi ul {
  margin: 0 0 2em 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.basicSubNavi ul li {
  margin: 0 2em 0 0;
}

.basicSubNavi ul li a {
  font-weight: bold;
  display: block;
  padding: 1em 0;
  text-decoration: none;
  color: #000;
  position: relative;
  line-height: 1em;
}

.basicSubNavi ul li a::before {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0px;
  content: '';
  display: block;
  background: #000;
  height: 2px;
}

.basicSubNavi ul li a.active::before {
  left: 0;
  width: 100%;
}

.basicSubNavi ul li a.active {
  color: #bb3614;
  text-decoration: none;
}

@media screen and (min-width:768px) {

  .basicSubNavi ul li a:hover,
  .basicSubNavi ul li a.active {
    color: #bb3614;
    text-decoration: none;
  }

  .basicSubNavi ul li a:hover::before,
  .basicSubNavi ul li a.activebefore {
    width: 100%;
    left: 0;
    transition: left 0.5s linear 0s, width 0.5s linear 0s;
  }
}

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

  .spCallBtn {
    cursor: default;
    pointer-events: none;
  }
}

@media screen and (max-width:767px) {

  /*  */
  .pcOnly {
    display: none;
  }

  /* BASIC STYLE */
  .basicSubNavi {
    font-size: 3vw;
  }

  .basicSubNavi ul {
    margin: 0 0 2em 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .basicSubNavi ul li {
    margin: 0 2em 0 0;
  }

  .basicSubNavi ul li a {
    font-weight: bold;
    display: block;
    padding: 1em 0;
    text-decoration: none;
    color: #000;
    position: relative;
    line-height: 1em;
  }

  .basicSubNavi ul li a::before {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0px;
    content: '';
    display: block;
    background: #000;
    height: 2px;
  }

  .basicSubNavi ul li a.active::before {
    left: 0;
    width: 100%;
  }

  .basicSubTitle {
    font-size: 18px;
  }

  .basicMiddleTitle {
    font-size: 16px;
  }

  .basicMiddleTitle2 {
    font-size: 16px
  }

  .basicLargeText {
    font-size: 15px;
  }

  .basicFigure {
    padding: 10px;
  }
}

/**********************************
default.css
***********************************/
/* FLEX BOX */
.flexBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flexBox.center {
  justify-content: center;
}

.flexBox.noWrap {
  flex-wrap: nowrap
}

.flexBox.noSpace {
  justify-content: flex-start;
}

.flexBox>* {
  flex-grow: 0;
  flex-shrink: 1;
}

/*==================================================
  eneto:ENETO(外部サイトから移植)
==================================================*/

/**********************************
eneto.css
***********************************/
.capBox {
  margin-top: 10px;
}

.cap_tit {
  font-size: 16px;
  margin-top: 20px;
}

.mv {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 62.5%;
  background: url(../img/page/eneto/mv.webp) no-repeat;
  background-size: cover;
  background-position: center center;
}

.mv .txtBox {
  position: absolute;
  margin: 0 auto;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mv .tit {
  position: absolute;
  width: 32.45vw;
  text-align: center;
  top: 14.42%;
  left: 50%;
  transform: translateX(-50%);
}

.mv .txt_01 {
  position: absolute;
  top: 7.16%;
  left: -90px;
  width: 8.39vw;
}

.mv .txt_02 {
  position: absolute;
  top: 25%;
  right: -213px;
  width: 15.95vw;
}

.mv .txt_03 {
  position: absolute;
  bottom: 4.16%;
  left: -90px;
  width: 31.25vw;
}

h4.basicMainTitle {
  margin-bottom: 40px;
  text-align: center;
}

h4.basicMainTitle span {
  display: inline-block;
  border-bottom: 1px solid #333;
}

.enetoPage .basicText {
  margin-bottom: 0;
}

.what {
  background: #fffcf3;
  padding: clamp(50px, 5.2vw, 100px) 0 clamp(70px, 6.25vw, 120px);
}

.what h4.basicMainTitle {
  text-align: left;
}

.what .box_01 {
  margin-bottom: clamp(40px, 3.64vw, 70px);
}

.what .box_01 .cap_list {
  margin-top: clamp(40px, 3.64vw, 70px);
}

.what .box_01 .explain p {
  width: 45%;
}

.what .box_01 .explain figure {
  width: 51.83%;
}

.what .box_01 .capBox {
  margin-top: 40px;
}

.structure,
.disaster,
.eco,
.fee,
.facility {
  margin-top: clamp(100px, 8.85vw, 170px);
}

.faq {
  margin-top: 120px;
  padding: clamp(50px, 4.69vw, 90px) 0;
}

.structure h4.basicMainTitle {
  text-align: center;
}

.structure .btn {
  position: relative;
  max-width: 793px;
  background: #009fc8;
  text-align: center;
  text-align: center;
  margin: clamp(30px, 3.12vw, 60px) auto 0;
}

.structure .btn::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 19px;
  background-color: #fff;
  clip-path: polygon(16px 50%, 0% 0%, 0% 19px);
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.structure .btn a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  padding: 20px;
  display: inline-block;
  width: 100%;
}

.structure .btn:hover {
  opacity: 0.8;
}

.disaster .box_01 p {
  width: 72.5%;
}

.disaster .box_01 figure {
  width: 23.58%;
}

.disaster .box_02 .peace {
  margin: 40px 0 30px;
  gap: 80px;
  justify-content: center;
}

.disaster .box_03 {
  margin-top: clamp(50px, 3.64vw, 70px);
}

.disaster .box_03>p {
  text-align: center;
  margin: 0 0 10px;
}

.disaster .box_03 .txtBox {
  justify-content: center;
  gap: 30px;
  align-items: center;
}

.disaster .box_03 .txtBox p {
  width: 30.4%;
  font-size: 13px;
  line-height: 1.5;
}

.disaster .box_03 .txtBox figure {
  width: 39.33%;
  margin-bottom: 30px;
}

.eco .support {
  margin-top: clamp(50px, 3.64vw, 70px);
}

.eco .support>p {
  text-align: center;
}

.eco .support .imgBox {
  margin-bottom: 50px;
  justify-content: center;
  gap: 11.9%;
}

.eco .support .imgBox figure {
  margin-top: 40px;
}

.fee .graph {
  max-width: 1040px;
  gap: 40px;
  margin: 0 auto;
}

.fee .graph figure {
  margin: 0 auto;
  margin-bottom: 50px;
}

.facility .box_01 {
  gap: 7%;
  margin-bottom: 40px;
}

.facility .box_01 .txtBox {
  width: 46.5%;
}

.facility .box_01 figure {
  width: 46.5%;
}

.facility .box_02 .item {
  width: 46.5%;
  flex-direction: column;
}

.facility .box_02 .item .basicText {
  flex-grow: 1;
  margin-bottom: 10px;
}

.facility .facility_tit {
  border-bottom: 1px solid #333;
  font-size: clamp(16px, 3.25vw, 25px);
  line-height: 1.5;
  padding-bottom: 10px;
}

.facility .basicText {
  margin-top: 20px;
}

.faq {
  background: #f6f6f6;
}

.faq .qa {
  padding-left: 1.4em;
}

.faq .qa dt span,
.faq .qa dd span {
  display: inline-block;
  margin-right: 10px;
  font-size: clamp(20px, 4.16vw, 32px);
  font-weight: bold;
}

.faq .qa dt {
  margin-bottom: 1em;
  text-indent: -1.4em;
  padding-left: 1.4em;
}

.faq .qa dt span {
  color: #10184a;
}

.faq .qa dd {
  margin-bottom: 2em;
  text-indent: -1.4em;
  padding-left: 1.4em;
}

.faq .qa dd span {
  color: #a61616;
}

@media screen and (max-width:1649px) {

  .mv .txt_01,
  .mv .txt_03 {
    left: 20px;
  }

  .mv .txt_02 {
    right: 20px;
  }
}

@media screen and (max-width:767px) {

  .mv {
    background-size: 160%;
    padding-top: 100%;
    background-position: 45% 10%;
  }

  .mv .tit {
    width: 50vw;
  }

  .mv .txt_01 {
    width: 14.67vw;
    top: 8.16%;
    left: 10px;
  }

  .mv .txt_02 {
    width: 25.33vw;
    top: auto;
    bottom: 4.16%;
  }

  .mv .txt_03 {
    width: 51.47vw;
    left: 10px;
  }

  .what h4.basicMainTitle {
    text-align: center;
  }

  .what .box_01 .explain p {
    width: 100%;
  }

  .what .box_01 .explain figure {
    width: 100%;
    margin-top: 20px;
  }

  .structure .btn a {
    padding: 10px;
    font-size: 16px;
  }

  .disaster .box_01 p {
    width: 100%;
  }

  .disaster .box_01 figure {
    width: 100%;
    margin-top: 20px;
    text-align: center;
  }

  .disaster .box_02 .peace {
    gap: 30px;
  }

  .disaster .box_03 .txtBox {
    margin-top: 30px;
  }

  .disaster .box_03 .txtBox p {
    width: 100%;
  }

  .disaster .box_03 .txtBox figure {
    width: 100%;
  }

  .fee .graph figure {
    margin-bottom: 20px;
  }

  .facility figure {
    text-align: center;
    margin-top: 20px;
  }

  .facility .box_01 .txtBox {
    width: 100%;
    order: 1;
  }

  .facility .box_01 figure {
    width: 100%;
    order: 2;
  }

  .facility .box_02 .item {
    width: 100%;
  }

  .facility .box_02 .item:not(:last-child) {
    margin-bottom: 40px;
  }

  .faq .qa dt {
    margin-bottom: 0.5em;
    text-indent: -1.4em;
    padding-left: 1.4em;
  }

  .faq .qa dd {
    margin-bottom: 2em;
    text-indent: -1.4em;
    padding-left: 1.4em;
  }
}

/*==================================================
  afterfollow:アフターフォロー(外部サイトから移植)
==================================================*/

/**********************************
【移植】style_2024.css
***********************************/
/* INFORMATION */
.basicSubNavi ul {
  margin: 0 0 2em 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.basicSubNavi ul::after {
  content: "";
  display: block;
  width: 20%;
  height: 0;
}

.basicSubNavi ul li {
  flex-basis: calc((100% - 50px)/5);
  text-align: center;
  margin-right: 0;
}

.basicSubNavi ul li a {
  border: 1px solid #000;
}

.basicSubNavi ul li a::before {
  display: none;
}

.basicSubNavi ul li a:hover,
.basicSubNavi ul li a.active {
  background: #ca4714;
  color: #fff;
  font-weight: bold;
  border: #ca4714;
}

.afterfollowPage .basicSubTitle {
  text-align: center;
  font-size: clamp(28px, 6.25vw, 48px);
  padding-left: 0;
}

#guarantee #guaranteePrice .photoBox {
  flex-basis: calc((100% - 20px) / 3);
}

#guarantee .flexBox .photoBox {
  flex-basis: calc(30% - 20px);
}

#guarantee .flexBox .textBox {
  flex-basis: calc(70% - 20px);
}

#jio .flexBox .photoBox {
  flex-basis: calc(50% - 20px);
}

#jio .flexBox .textBox {
  flex-basis: calc(50% - 20px);
}

#facility .flexBox .photoBox {
  flex-basis: calc(50% - 20px);
}

#facility .flexBox .textBox {
  flex-basis: calc(50% - 20px);
}

@media screen and (min-width:768px) {
  a:hover img {
    transition: filter 0.5s linear 0s;
    filter: contrast(150%);
  }

  a:hover .mainVisualBox img {
    transition: none;
    filter: contrast(100%);
  }
}

@media screen and (max-width:767px) {

  #guarantee .flexBox .photoBox,
  #guarantee .flexBox .textBox {
    flex-basis: 100%;
    margin: 0 0 20px 0;
  }

  #guarantee #guaranteePrice .photoBox {
    flex-basis: 100%;
    margin: 0 0 20px 0;
  }

  #guarantee #guaranteePrice .photoBox figcaption {
    text-align: center;
  }

  #jio .flexBox .photoBox,
  #jio .flexBox .textBox {
    flex-basis: 100%;
    margin: 0 0 20px 0;
  }

  #facility .flexBox .photoBox,
  #facility .flexBox .textBox {
    flex-basis: 100%;
    margin: 0 0 20px 0;
  }

  #facility .textBox .flexBox .photoBox {
    flex-basis: calc((100% - 10px) / 2);
  }

  #afterservice .basicTable {
    overflow: auto;
    height: 50vh;
  }

  #afterservice .basicTable table {
    width: 300%;
    font-size: 12px;
  }

  /* INFORMATION */

  .basicSubNavi ul {
    gap: inherit;
    justify-content: space-between;
  }

  .basicSubNavi ul li {
    flex-basis: calc((100% - 10px)/2);
    text-align: center;
    margin-bottom: 10px;
  }

  .infoListBox .thumbnailBox {
    flex-basis: 100%;
    margin: 0 0 10px 0;
  }

  .infoListBox .textBox {
    flex-basis: 100%;
  }

  .infoListBox .textBox .initialBox {
    display: inline-block;
    margin: 0 0.5em 0 0;
    font-size: 150%;
    color: #bb3614;
    font-weight: bold;
  }

  .infoListBox .textBox .titleBox {
    font-size: 150%;
    margin: 0 0 0 0;
  }

  #infoList li {
    flex-basis: calc(50% - 10px);
  }

}

/**********************************
【受領】afterservice.css
***********************************/
.content:not(:first-of-type) {
  margin-top: 110px;
}

.box * {
  box-sizing: border-box;
}

.warranty {
  margin-top: 50px;
}

.box_01 .supportBox {
  container-type: inline-size;
}

.box_01 .supportList {
  max-width: 1010px;
  margin: 0 auto;
  gap: 2.6%;
}

.box_01 .supportList li {
  align-items: center;
  width: calc(100% / 3);
  max-width: 319px;
  border: 1px solid #594c47;
  padding: 22px 36px;
}

@container (max-width: 1009px) {
  .box_01 .supportList {
    justify-content: center;
  }

  .box_01 .supportList li {
    width: 100%;
  }
}

.box_01 .supportList li i {
  display: block;
  max-width: 84px;
}

.box_01 .warranty_01 .caseList {
  container-type: inline-size;
}

.box_01 .warranty_01 .caseList li {
  position: relative;
  background: #f7f9fa;
}

.box_01 .warranty_01 .caseList li:not(:first-of-type) {
  margin-top: 20px;
}

.box_01 .warranty_01 .caseList .caseNum {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background: #594c47;
  color: #fff;
  padding: 0 0.5em;
  font-weight: bold;
}

.box_01 .warranty_01 .caseList .caseDetail {
  position: relative;
  align-items: center;
  max-width: 1000px;
  margin: 0 0 0 auto;
  padding: 20px 4% 20px 0;
}

.box_01 .warranty_01 .caseList .caseDetail .caseTitBox {
  flex-basis: 42%;
}

.box_01 .warranty_01 .caseList .caseTit {
  font-size: clamp(18px, 3.68vw, 25px);
  border-bottom: 2px solid #594c47;
  padding-bottom: 15px;
  margin-bottom: 5px;
  font-weight: bold;
}

.box_01 .warranty_01 .caseList .priceBox {
  position: relative;
  display: block;
  flex-basis: 30.5%;
}

.box_01 .warranty_01 .caseList .arrow {
  width: 30px;
  aspect-ratio: 1 / 1;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzBweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIzMHB4IiBmaWxsPSIjMmIyYjJiIj48cGF0aCBkPSJtMjQyLTIwMCAyMDAtMjgwLTIwMC0yODBoOThsMjAwIDI4MC0yMDAgMjgwaC05OFptMjM4IDAgMjAwLTI4MC0yMDAtMjgwaDk4bDIwMCAyODAtMjAwIDI4MGgtOThaIi8+PC9zdmc+);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.box_01 .warranty_01 .caseList .operation {
  align-items: center;
  margin-bottom: 10px;
}

.box_01 .warranty_01 .caseList .itemName {
  border: 2px solid #000;
  padding: 1em;
}

.box_01 .warranty_01 .caseList .price {
  font-size: clamp(25px, 4.1vw, 28px);
  font-weight: bold;
}

.box_01 .warranty_01 .caseList .price>span {
  font-size: 64%;
}

.box_01 .warranty_01 .caseList .priceBox .basicText,
.box_01 .warranty_01 .caseList .caseTitBox .basicLargeText {
  line-height: 1.5;
  margin: 5px 0 0 0;
}

.box_01 .warranty_01 .caseList .circle {
  flex-basis: 11.6%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #bb3614;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: clamp(16px, 3.5vw, 24px);
  font-weight: bold;
}

.box_01 .warranty_01 .case .capRight {
  text-align: right;
  margin-top: 10px;
}

@container (max-width: 1049px) {
  .box_01 .warranty_01 .caseList .caseDetail {
    justify-content: left;
    padding: 20px 4%;
    gap: 10px;
  }

  .box_01 .warranty_01 .caseList .caseDetail .caseTitBox {
    flex-basis: 100%;
    margin-top: 2em;
  }

  .box_01 .warranty_01 .caseList .operation {
    justify-content: left;
    margin-top: 20px;
    gap: 10px;
  }

  .box_01 .warranty_01 .caseList .priceBox {
    flex-basis: 30%;
  }

  .box_01 .warranty_01 .caseList .circle {
    margin-left: 2vw;
  }
}

@container (max-width: 627px) {
  .box_01 .warranty_01 .caseList .caseDetail {
    gap: 0;
  }

  .box_01 .warranty_01 .caseList .priceBox {
    flex-basis: 100%;
    max-width: 210px;
  }

  .box_01 .warranty_01 .caseList .circle {
    flex-basis: 60px;
  }
}

.box_01 .warranty_02 {
  container-type: inline-size;
}

.box_01 .warranty_02 .subjectList {
  gap: 30px 1.6%;
  margin-bottom: 30px;
}

.box_01 .warranty_02 .item {
  flex-basis: 18.4%;
}

.box_01 .warranty_02 .item .itemTit {
  padding: 0.5em;
  margin: 20px 0;
  text-align: center;
  border: 1px solid #000;
  font-weight: bold;
}

.box_01 .warranty_02 .item .detail {
  font-size: 14px;
}

@container (max-width: 1049px) {
  .box_01 .warranty_02 .item {
    flex-basis: 48.4%;
  }
}

.box_02 .warranty_01 {
  container-type: inline-size;
}

.box_02 .warranty_01 .left {
  flex-basis: 59%;
}

.box_02 .warranty_01 .bgText {
  background: #f7f9fa;
  padding: 25px 30px;
}

@container (max-width: 867px) {
  .box_02 .warranty_01 .left {
    flex-basis: 100%;
  }

  .box_02 .warranty_01 figure {
    margin: 0 auto;
  }

  .box_02 .warranty_01 .bgText {
    background: #f7f9fa;
    padding: 15px 10px;
  }
}

.box_03 {
  container-type: inline-size;
}

.box_03 .imgBox {
  text-align: center;
  margin-top: 50px;
  overflow: scroll;
}

.box_03 figure {
  width: 798px;
  margin: 0 auto;
}

.box_03 .scrollCap {
  display: none;
}

@container (max-width: 797px) {
  .box_03 .scrollCap {
    display: block;
    margin-top: 10px;
  }
}

.box_04 .warranty_01 {
  container-type: inline-size;
}

.box_04 .deal {
  max-width: 673px;
  gap: 10px 3.46%;
  margin: 0 auto;
  margin-bottom: 50px;
}

.box_04 .deal li {
  flex-basis: 29.8%;
  border: 1px solid #000;
  text-align: center;
  padding: 1em;
  font-size: clamp(16px, 2.6vw, 20px);
  font-weight: bold;
}

.box_04 figure {
  text-align: center;
  margin-top: 50px;
  text-align: center;
}

@container (max-width: 867px) {
  .box_04 .deal {
    margin-bottom: 30px;
  }

  .box_04 figure {
    margin-top: 30px;
  }

  .box_04 .deal li {
    flex-basis: 100%;
  }
}

/**********************************
【ネオス】afterfollow 共通
***********************************/

.afterfollowPage {
  padding-bottom: 50px;
}

.afterfollowPage figure {
  box-sizing: border-box;
}

/* mvBox */
.afterfollowPage .mvBox {
  background: url(../img/page/afterfollow/mvBox_bg.webp) no-repeat center top;
}

.afterfollowPage .mvBox__inner {
  width: min(100%, 1010px);
  margin: 0 auto;
}

.afterfollowPage .mvBox__mainTtl {
  color: #fff;
  font-size: 40px;
  font-feature-settings: 'palt';
  font-weight: bold;
  letter-spacing: 0.1em;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
  margin-bottom: 30px;
}

.afterfollowPage .mvBox__en {
  font-size: 18px;
  color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

@media screen and (max-width: 1009px) {
  .afterfollowPage .mvBox {
    margin: 0;
    padding: 150px 4% 150px;
  }
}

@media screen and (min-width: 1010px) {
  .afterfollowPage .mvBox {
    padding: 150px 4% 150px;
  }
}

@media screen and (max-width:767px) {
  .afterfollowPage .mvBox {
    background: url(../img/page/afterfollow/mvBox_bg.webp) no-repeat right 32% bottom / auto 100%;
    padding: 70px 4% 50px;
  }

  .afterfollowPage .mvBox__mainTtl {
    font-size: 25px;
    margin-bottom: 0;
  }

  .afterfollowPage .mvBox__en {
    font-size: 13px;
  }
}

.afterfollowPage .content {
  padding: 0;
}

.basicSubNavi {
  margin-bottom: 30px;
}

.followPageArticle {
  margin-top: -80px;
  padding-top: 160px;
}

.followPageArticle#guarantee {
  padding-top: 100px;
}

.followPageArticle__inner {
  width: min(90%, 1200px);
  margin: 0 auto;
}

.followPageArticle__ttl {
  text-align: center;
  font-size: clamp(28px, 6.25vw, 48px);
  background-color: #ca4714;
  color: #fff;
  margin-bottom: 30px;
  padding: 20px;
  font-weight: bold;
  line-height: 1.5;
}

.followPageArticle__ttl .sub {
  font-size: 0.8em;
  display: block;
}

.basicSubNavi ul {
  justify-content: center;
  margin: 2em auto;
  width: min(1200px, 90%);
}

.basicSubNavi ul::after {
  content: none;
}


.basicSubNavi ul li a:hover,
.basicSubNavi ul li a.active {
  opacity: 1;
}

@media screen and (min-width:768px) {
  .basicSubNavi ul {
    gap: 15px;
    align-items: center;
  }

  .basicSubNavi ul li {
    flex-basis: calc((100% - 45px) / 4);
  }

  .box_03 .imgBox {
    overflow: auto;
  }
}

@media screen and (max-width:767px) {
  .followPageArticle {
    margin-top: 80px;
    padding: 0;
  }

  .followPageArticle#guarantee {
    margin: 0;
    padding: 0;
  }

  .basicSubNavi {
    font-size: 13px;
    margin-bottom: 10px;
  }

  .basicSubNavi ul {
    gap: 0 10px;
  }
}


/*==================================================
  gx:GX志向型住宅 
==================================================*/
.gxPage p {
  line-height: 1.8;
}

.gxPage .gxPage__smallTxt {
  font-size: 0.6em;
}

.gxPage .gxPage__commonTtl {
  font-weight: bold;
  text-align: center;
  font-size: 34px;
  line-height: 1.4;
  margin-bottom: 20px;
}

.gxPage__commonSubTtl {
  font-weight: bold;
  text-align: center;
  font-size: 26px;
  line-height: 1.4;
  margin-bottom: 20px;
  text-align: left;
  border-left: 8px solid #2b2b2b;
  font-feature-settings: 'palt';
  letter-spacing: 0.1em;
  padding-left: 10px;
}

.gxPage .gxPage__commonIntoroTxt {
  line-height: 2;
  width: fit-content;
  margin: 0 auto;
}

.gxPage .gxPage__commonTxt {
  margin-bottom: 20px;
}

.gxPage .gxPage__commonImgBox {
  text-align: center;
  margin-top: 20px;
}

.gxPage .gxPage__commonSection {
  padding-top: 80px;
}

@media screen and (max-width: 1009px) {
  .gxPage .gxPage__commonSection {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* mvBox */
.gxPage .mvBox {
  background: url(../img/page/gx/mvBox_bg.jpg) no-repeat center bottom;
  padding: 150px 4% 150px;
  text-align: center;
}

.gxPage .mvBox__inner {
  margin-inline: auto;
}

.gxPage .mvBox__mainTtl {
  color: #fff;
  font-size: 40px;
  font-feature-settings: 'palt';
  font-weight: bold;
  letter-spacing: 0.1em;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
  margin-bottom: 30px;
  text-align: center;
}

.gxPage .mvBox__mainTtlBig {
  font-size: 1.4em;
}

.gxPage .mvBox__txt {
  font-size: clamp(13px, 2vw, 18px);
  color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
  text-align: center;
}

/* qaBox */
.gxPage .qaBox__ttl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-main);
  margin-bottom: 20px;
  font-feature-settings: 'palt';
  letter-spacing: 0.1em;
}

.gxPage .qaBox__ttl::before {
  content: "?";
  font-family: var(--font-en);
  font-weight: bold;
  width: 50px;
  height: 50px;
  color: #fff;
  background: var(--color-main);
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

.gxPage .qaBox__reasonTtl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-main);
  font-weight: bold;
  font-size: 26px;
  color: #fff;
  padding: 0.6em 0.7em;
  border-radius: 3px;
}

.gxPage .qaBox .gxPage__commonImgBox {
  max-width: 800px;
  margin: 20px auto 0;
}

.gxPage .qaBox__tableBox {
  margin-top: 50px;
}

.gxPage .qaBox__tableTtl {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.4;
  text-align: center;
}

.gxPage .qaBox__table th {
  padding: 20px;
  width: 18em;
  font-size: 18px;
  border: 1px solid #2b2b2b;
  font-weight: bold;
}

.gxPage .qaBox__table td {
  padding: 20px;
  font-size: 14px;
  border: 1px solid #2b2b2b;
  line-height: 1.5;
}

.gxPage .qaBox__tableReference {
  font-size: 14px;
  text-align: right;
  margin-top: 10px;
}

.gxPage .qaBox__tableReference:last-child {
  margin-top: 5px;
}

.gxPage .qaBox__tableReference a {
  text-decoration: underline;
}

/* recomBox */
.gxPage .recomBox {
  background: var(--color-main);
}

@media screen and (max-width: 1009px) {
  .gxPage .recomBox {
    margin: 80px 0 0;
    padding: 30px 4%;
    width: 100%;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 1010px) {
  .gxPage .recomBox {
    margin: 80px -500% 0;
    padding: 30px 500%;
  }
}

.gxPage .recomBox__inner {
  width: min(100%, 1010px);
}

.gxPage .recomBox__ttl {
  color: #fff;
}

.gxPage .recomBox__list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 3%;
}

.gxPage .recomBox__item {
  width: calc((100% - 6%) / 3);
  color: #fff;
}

.gxPage .recomBox__itemTxt {
  margin-top: 5px;
  text-align: center;
  font-size: 16px;
}

/* meritDemerit */
.gxPage .meritDemeritBox__subtTtl {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: clamp(18px, 4.8vw, 26px);
  display: block;
  position: relative;
  color: #fff;
  padding: 15px;
  background-color: var(--color-orange);
  line-height: 1;
}

.gxPage .meritDemeritBox__subtTtl--demerit {
  background: #2b2b2b;
}

.gxPage .meritDemeritBox__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px 50px;
}

.gxPage .meritDemeritBox__itemTtl {
  font-weight: bold;
  font-size: clamp(16px, 3.2vw, 22px);
  margin-bottom: 5px;
  position: relative;
  padding-left: 1.4em;
}

.gxPage .meritDemeritBox__itemTtl::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  height: 1em;
  width: 1em;
  background:  var(--color-orange);
  border-radius: 2px;
  clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
  transform: rotate(45deg);
}

.gxPage .demeritBox .meritDemeritBox__itemTtl::before {
  background-color: #2b2b2b;
}

.gxPage .comparisonBox {
  margin: 50px auto;
}

.gxPage .meritDemeritBox__summaryBox {
  margin-top: 50px;
  padding: 30px;
  font-size: 16px;
  border: 2px solid #2b2b2b;
}

.gxPage .meritDemeritBox__summary {
  font-weight: bold;
  width: fit-content;
  margin: 0 auto;
}

.gxPage .comparisonBox__table {
  width: 100%;
  border: 1px solid #2b2b2b;
}

.gxPage .comparisonBox__table tr:first-child th {
  background-color: transparent;
}

.gxPage .comparisonBox__table th {
  padding: 20px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #2b2b2b;
}

.gxPage .comparisonBox__table th:first-child {
  width: 20%;
  font-size: 16px;
  background-color: #ccc;
  border-right: 1px solid #2b2b2b;
}

.gxPage .comparisonBox__table td {
  padding: 20px 40px;
  font-size: 14px;
  line-height: 1.5;
  border-bottom: 1px solid #2b2b2b;
  text-align: center;
}

.gxPage .comparisonBox__table td:nth-child(2) {
  background-color: #eee;
  position: relative;
}

.gxPage .comparisonBox__table td:nth-child(2)::after {
  content: "";
  display: block;
  position: absolute;
  clip-path: polygon(0 calc(50% - (40% / 2)),
      50% calc(50% - (40% / 2)),
      50% 0,
      100% 50%,
      50% 100%,
      50% calc(50% + (40% / 2)),
      0 calc(50% + (40% / 2)));
  background-color: var(--color-orange);
  width: auto;
  height: 60%;
  aspect-ratio: 1 / 1;
  top: 50%;
  right: 0;
  transform: translate(40%, -50%);
}

.gxPage .comparisonBox__table td:last-child {
  font-weight: bold;
  background-color: #fff4e2;
}

.gxPage .comparisonBox__tableHead--normal {
  width: 40%;
  background-color: #2b2b2b !important;
  color: #fff;
  border-right: 1px solid #2b2b2b;
}

.gxPage .comparisonBox__tableHead--after {
  width: 40%;
  background-color: var(--color-orange) !important;
  color: #fff;
}

/* supportBox */
.gxPage .supportBox__ttl {
  background: #2b2b2b;
  color: #fff;
  position: relative;
}

.gxPage .supportBox__ttl::after {
  content: "";
  width: 100px;
  height: auto;
  aspect-ratio: 10 / 3;
  background-color: #2b2b2b;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 99%);
}


@media screen and (max-width: 1009px) {
  .gxPage .supportBox__ttl {
    margin: 0 0 50px;
    padding: 50px 4%;
    width: 100%;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 1010px) {
  .gxPage .supportBox__ttl {
    margin: 0 -500% 50px;
    padding: 50px 500%;
  }
}

.gxPage .supportBox__detail {
  background-color: #f5f5f5;
  padding: 30px;
}

.gxPage .supportBox__detailTtl {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 10px;
  text-align: center;
}

.gxPage .supportBox__detailAnnotation {
  text-align: center;
  font-weight: bold;
  margin-top: 20px;
  font-size: 16px;
  color: var(--color-orange);
}

.gxPage .supportBox__appeal {
  margin-top: 60px;
}

.gxPage .supportBox__appealTtl {
  text-align: center;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 26px;
  display: block;
  position: relative;
  color: #fff;
  padding: 15px;
  background-color: var(--color-orange);
  line-height: 1;
}

.gxPage .supportBox__appealList {
  width: fit-content;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.gxPage .supportBox__appealItem {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  padding-left: 1.4em;
  line-height: 1.6;
}

.gxPage .supportBox__appealItem::before {
  position: absolute;
  top: 0em;
  left: 0;
  content: '';
  display: block;
  height: 1em;
  width: 1em;
  background: var(--color-orange);
  border-radius: 2px;
  clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
  transform: rotate(45deg);
}

/* summaryBox */
.gxPage .summaryBox__ttl {
  margin-bottom: 40px;
}

.gxPage .summaryBox__ttl {
  display: table;
  font-size: clamp(2.4rem, 3vw, 3.2rem);
  font-weight: 600;
  margin: 0 auto 1em;
  padding: 0 1em;
  text-align: center;
}

.gxPage .summaryBox__ttl .font_blue {
  color: var(--color-main);
  font-weight: 800;
  font-size: 1.2em;
}

.gxPage .summaryBox__ttl .font_b{
  font-size: 1.2em;
  font-weight: 800;
}

.gxPage .summaryBox__mainTxt {
  text-align: center;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 26px;
  display: block;
  position: relative;
  color: #fff;
  background: var(--color-main);
  width: fit-content;
  margin: 0 auto 50px;
  padding: 15px;
  line-height: 1;
  position: relative;
}

.gxPage .summaryBox__mainTxt::after {
  content: "";
  width: 50px;
  height: auto;
  aspect-ratio: 10 / 3;
  background-color: var(--color-main);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 95%);
}

.gxPage .gxPage__commonIntoroTxt {
  text-align: center;
}

.gxPage .summaryBox__txt {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

/*==================================================
  concept:家づくりに対する思い
==================================================*/

/*ページ内共通*/
.conceptPage .content {
  padding: 0;
  box-sizing: content-box;
}

.conceptPage .imgWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.conceptPage .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.conceptPage .font_blue {
  color: var(--color-main);
  font-weight: 600;
}

.conceptPage .font_orange {
  color: var(--color-orange);
  font-weight: 600;
}

/*見出し*/
.conceptPage .introBox {
  margin-bottom: var(--gutter-wide);
}

.conceptPage .introBox__mvBox {
  background: url(../img/page/concept/bg_introBox_01.webp) no-repeat center / cover;
  height: 65dvh;
  display: flex;
  align-items: center;
  max-width: 2000px;
  margin: 0 auto var(--gutter);
}

.conceptPage .introBox__mvTtl {
  display: inline-block;
  margin-left: 0;
  padding: var(--gutter-medium) 0 var(--gutter-medium) 7.4vw;
  font-size: clamp(1.8rem, 3.4vw, 3.2rem);
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.8;
  font-feature-settings: "palt";
  background: rgba(255, 255, 255, .85);
  max-width: 960px;
}

.conceptPage .introBox__txtBox {
  background: url(../img/page/concept/bg_introBox_02.webp) no-repeat bottom 5% right 5%;
  background-size: auto 60%;
  padding-bottom: 200px;
}

.conceptPage .introBox__txt {
  font-size: clamp(1.4rem, 3.8vw, 1.6rem);
  line-height: 2;
  text-shadow: 0 1px 1px #fff, 0 1px 1px #fff, 0 -1px 1px #fff;
}

/*代表メッセージ*/
.conceptPage .messageBox {
  max-width: 1010px;
  margin: var(--gutter-wide) auto;
}

.conceptPage .messageBox h3 {
  text-align: center;
  color: var(--color-main);
  font-size: clamp(2.2rem, 3.1vw, 3rem);
  font-weight: 500;
  line-height: 1.4;
}

.conceptPage .messageBox .inner {
  margin-top: var(--gutter)
}

.conceptPage .messageBox .inner .content p {
  margin: 0 0 20px;
  font-size: clamp(1.4rem, 3.8vw, 1.6rem);
  line-height: 2;
}

.conceptPage .messageBox .inner .photo p {
  text-align: right;
}

/*コンセント：無理なく、自分らしく～*/
.conceptPage .conceptListBox {
  margin: var(--gutter-wide) 0;
  background: url(../img/page/concept/bg_conceptListBox_01.webp) no-repeat center / cover;
  height: 55dvh;
  display: flex;
  align-items: center;
}

.conceptPage .conceptListBox__inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.conceptPage .conceptListBox h3 {
  font-size: clamp(2.2rem, 3.1vw, 3rem);
  font-weight: 600;
  color: #fff;
  margin-bottom: var(--gutter-medium);
}

.conceptPage .conceptListBox ul.itemList {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  /* Safari */
  flex-direction: column;
  justify-content: flex-start;
  gap: 20px;
}

.conceptPage .conceptListBox ul.itemList li {
  display: flex;
  gap: 0.6vw;
}

.conceptPage .conceptListBox ul.itemList li::before {
  display: inline-block;
  content: "";
  background: url(../img/page/concept/icon_check.svg) no-repeat center / contain;
  aspect-ratio: 24 / 24;
  width: 20px;
}

.conceptPage .conceptListBox ul.itemList li p {
  color: #FFF;
  font-size: clamp(1.8rem, 2.4vw, 2.4rem);
  font-weight: 500;
}

/*新築マイホーム諦めていませんか？*/
.conceptPage .worriesBox {
  margin-top: var(--gutter-wide);
  background: #ccc;
}

.conceptPage .worriesBox h3 {
  font-size: clamp(2.2rem, 3.1vw, 3rem);
  font-weight: 600;
  text-align: center;
  background: var(--color-subblack);
  color: #fff;
  padding: var(--gutter-medium) 0;
}

.conceptPage .worriesBox ul.itemList {
  padding: var(--gutter) 0;
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  /* Safari */
  align-items: stretch;
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between;
  -webkit-align-content: space-around;
  /* Safari */
  align-content: space-around;
  gap: var(--gutter-medium);
}

.conceptPage .worriesBox ul.itemList li {
  position: relative;
  width: min(47%, 370px);
}

.conceptPage .worriesBox ul.itemList .txt {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 0.5em;
  font-weight: bold;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: clamp(1.4rem, 1.6vw, 2rem);
}

/*高品質×オシャレな新築一戸建て*/
.conceptPage .conceptListBox02 {
  margin: var(--gutter-wide) 0;
}

.conceptPage .conceptListBox02 h3 {
  display: table;
  font-size: clamp(2rem, 3.3vw, 3.2rem);
  font-weight: 600;
  margin: 0 auto;
  padding: 0 2.5em;
  text-align: center;
  position: relative;
}

.conceptPage .conceptListBox02 h3::before,
.conceptPage .conceptListBox02 h3::after {
  content: '';
  position: absolute;
  bottom: 40px;
  display: inline-block;
  width: 3em;
  height: 2px;
  background-color: var(--color-black);
  transform: rotate(60deg);
}

.conceptPage .conceptListBox02 h3::before {
  left: 0;
}

.conceptPage .conceptListBox02 h3::after {
  transform: rotate(-60deg);
  right: 0;
}

.conceptPage .conceptListBox02 ul.itemList {
  margin: var(--gutter-wide) auto;
}

.conceptPage .conceptListBox02 ul.itemList li {
  margin-bottom: var(--gutter);
}

.conceptPage .conceptListBox02 ul.itemList li dl {
  display: flex;
  justify-content: space-between;
}

.conceptPage .conceptListBox02 ul.itemList li.item02 dl {
  flex-direction: row-reverse;
}

.conceptPage .conceptListBox02 ul.itemList .txt {
  width: 60%;
}

.conceptPage .conceptListBox02 ul.itemList .image {
  width: 31%;
}

.conceptPage .conceptListBox02 ul.itemList .txt dt {
  font-size: clamp(1.8rem, 2.4vw, 2.8rem);
  margin-bottom: 1em;
}

.conceptPage .conceptListBox02 ul.itemList .item01 dt {
  border-bottom: 2px solid var(--color-main);
}

.conceptPage .conceptListBox02 ul.itemList .item02 dt {
  border-bottom: 2px solid var(--color-subblack);
}

.conceptPage .conceptListBox02 ul.itemList .item03 dt {
  border-bottom: 2px solid var(--color-orange);
}

.conceptPage .conceptListBox02 ul.itemList .txt dd {
  font-size: clamp(1.4rem, 4vw, 1.6rem);
}

.conceptPage .conceptListBox02 .catch {
  display: table;
  font-size: clamp(2.6rem, 3.7vw, 3.6rem);
  font-weight: 600;
  margin: 0 auto;
  padding: 0 1em;
  text-align: center;
}

/*==================================================
  concept02:家賃並みの安心価格
==================================================*/

.concept02Page .introBox {
  background: url(../img/page/concept02/bg_introBox_01.webp) no-repeat center center / cover;
  background-position: 10% 0;
  width: 100%;
  max-width: 2000px;
  min-height: 65dvh;
  display: flex;
  align-items: center;
  padding: var(--gutter) 0;
  margin: 0 auto var(--gutter);
}

.concept02Page .introBox_ttl {
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  font-weight: bold;
  margin-bottom: 1em;
  letter-spacing: 0.1em;
  line-height: 1.8;
  font-feature-settings: "palt";
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(255, 255, 255, .85);
  padding: var(--gutter-medium) var(--gutter) var(--gutter-medium);
}

.concept02Page .introBox_ttl-main {
  border-bottom: solid 2px var(--color-orange);
}

.concept02Page .introBox_ttl-sub {
  font-size: 0.7em;
}

.concept02Page .introBox .inner p {
  font-size: clamp(1.6rem, 1.8vw, 1.8rem);
  line-height: 1.8;
  font-weight: 500;
  padding-left: 2vw;
}

/* itemList */
.concept02Page .itemListBox {
  margin: var(--gutter-wide) auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.concept02Page .itemListBox dl {
  width: 32%;
}

.concept02Page .itemListBox dl dd.txt {
  font-size: 1.6rem;
  text-align: center;
  padding: 1em;
}

.concept02Page .itemListBox dl.item01 {
  border: 2px solid var(--color-main);
}

.concept02Page .itemListBox dl.item02 {
  border: 2px solid var(--color-black);

}

.concept02Page .itemListBox dl.item03 {
  border: 2px solid var(--color-orange);
}

.concept02Page .itemListBox dl dt {
  text-align: center;
  font-size: clamp(1.7rem, 2vw, 1.9rem);
  font-weight: 600;
  padding: 0.5em;
  color: #fff;
}

.concept02Page .itemListBox dl.item01 dt {
  background: var(--color-main);
}

.concept02Page .itemListBox dl.item02 dt {
  background: var(--color-black);
}

.concept02Page .itemListBox dl.item03 dt {
  background: var(--color-orange);
}

/*worriesBox*/
.concept02Page .worriesBox {
  background: #fff;
}

.concept02Page .worriesBox .inner {
  background: var(--color-palegray);
  padding: var(--gutter) 0;
}

.concept02Page .worriesBox_ttl {
  font-size: clamp(2rem, 3.7vw, 3.2rem);
  font-weight: 500;
  text-align: center;
}

.concept02Page .worriesBox_ttl-marker {
  display: inline-block;
  padding-bottom: 1em;
  background: url(../img/page/concept02/txt_worriesBox_01.webp) no-repeat center / contain;
  background-position: 10% 70%;
}

.concept02Page .worriesBox ul.itemList01 {
  margin-top: var(--gutter);
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 6vw;
}

.concept02Page .worriesBox ul.itemList01 li {
  width: 32%;
  max-width: 310px;
}

.concept02Page .worriesBox ul.itemList01 li .worriesBox_item_txt {
  margin: 1em 0;
  text-align: center;
  font-size: clamp(1.6rem, 2vw, 1.8rem);
  font-weight: 500;
}

.concept02Page .worriesBox .worriesBox_com01 {
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: 600;
  background: var(--color-subblack);
  padding: 2em 0;
  text-align: center;
  color: #fff;
}

.concept02Page .worriesBox .inner02 {
  padding-top: var(--gutter-medium);
  background: #fff1e3;
  overflow: hidden;
}

.concept02Page .worriesBox .worriesBox_com02 {
  display: table;
  width: unset;
  text-align: center;
  font-size: clamp(2rem, 3.3vw, 3.2rem);
  font-weight: bold;
  margin: 0 auto var(--gutter-medium);
  padding: 0 2em;
  position: relative;
}

.concept02Page .worriesBox .worriesBox_com02::before,
.concept02Page .worriesBox .worriesBox_com02::after {
  content: '';
  position: absolute;
  bottom: 40px;
  display: inline-block;
  width: 3em;
  height: 2px;
  background-color: var(--color-black);
  transform: rotate(60deg);
}

.concept02Page .worriesBox .worriesBox_com02::before {
  left: 0;
}

.concept02Page .worriesBox .worriesBox_com02::after {
  transform: rotate(-60deg);
  right: 0;
}

.concept02Page .worriesBox ul.itemList02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.concept02Page .worriesBox ul.itemList02 li {
  width: 22%;
  margin: 0.5em 1%;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 2 / 1;
  background: #fff;
  font-size: clamp(1.6rem, 1.9vw, 2rem);
  font-weight: bold;
  border-radius: var(--rad-full);
  box-shadow: var(--shadow-button);
}

.concept02Page .worriesBox .worriesBox_idealImg {
  display: block;
  width: 430px;
  filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.2));
  margin: 0 auto;
}

/*costBox*/
.concept02Page .costBox {
  margin-bottom: var(--gutter-wide);
  border-top: 20px solid var(--color-main);
  border-bottom: 20px solid var(--color-main);
  background: #e7f6f7;
}

.concept02Page .costBox .inner {
  padding: var(--gutter) 0;
}

.concept02Page .costBox_ttl {
  text-align: center;
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: 600;
}

.concept02Page .costBox p {
  text-align: center;
}

.concept02Page .costBox_img01 {
  margin: var(--gutter-medium) 0 var(--gutter);
}

.concept02Page .costBox .costBox_com01 {
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: 600;
  margin: var(--gutter) 0 var(--gutter-medium);
  line-height: 2.4;
}

.concept02Page .costBox .costBox_table01 {
  max-width: 1010px;
  margin-inline: auto;
}

.concept02Page .costBox .costBox_com01 .plan_logo {
  position: relative;
  padding-right: 0.2em;
}

.concept02Page .costBox .bottom {
  margin-top: var(--gutter-wide);
  padding-bottom: 14vw;
  background: url('../img/page/concept02/bg_costBox_01.webp') no-repeat center bottom / 100% auto;
  text-align: center;
}

.concept02Page .costBox .costBox_subTtl {
  display: inline-block;
  margin-bottom: var(--gutter);
  text-align: center;
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  color: #fff;
  background: var(--color-main);
  padding: 0.5em 1em;
  font-weight: bold;
}

.concept02Page .costBox__paymentBox {
  margin: var(--gutter) auto;
}

.concept02Page .costBox__paymentTtl {
  text-align: center;
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: 600;
  margin-bottom: var(--gutter-medium);
}

.concept02Page .costBox__paymentExample {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4vw;
  border-bottom: 5px solid var(--color-main);
  padding-bottom: 1rem;
}

.concept02Page .costBox__monthlyPaymentTtl {
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 10px;
  font-size: 1.8rem;
}

.concept02Page .costBox__monthlyPaymentTtl--main {
  font-size: clamp(1.2em, 1.8vw, 1.6em);
  background: var(--color-black);
  color: #fff;
  text-align: center;
  padding: 0.5em 1em;
  letter-spacing: .07em;
}

.concept02Page .costBox__monthlyPayment {
  font-size: 2.4rem;
  font-weight: bold;
}

.concept02Page .costBox__monthlyPayment--num {
  font-family: var(--font-en);
  color: var(--color-main);
  font-size: clamp(2.6em, 5vw, 3.4em);
  font-weight: bold;
  line-height: 1.2;
}

/*reasonBox*/
.concept02Page .reasonBox {
  margin-top: var(--gutter-wide);
}

.concept02Page .reasonBox_ttl {
  text-align: center;
  font-size: clamp(2rem, 3.3vw, 3.2rem);
  font-weight: bold;
  margin: var(--gutter) 0;
  line-height: 1.9;
}

.concept02Page .reasonBox_ttl .plan_logo {
  position: relative;
  top: 0.2em;
  padding-right: 0.2em;
}

.concept02Page .reasonBox_ttl .font_blue {
  font-family: var(--font-en);
  font-size: 1.4em;
}

.concept02Page .reasonBox_itemList {
  display: flex;
  justify-content: space-between;
  margin: var(--gutter) auto;
}

.concept02Page .reasonBox_item {
  width: 48%;
  border: 1px solid var(--color-black);
  background: var(--color-palegray);
  padding: 2%;
  position: relative;
}

.concept02Page .reasonBox_item dt {
  text-align: center;
  font-size: clamp(1.8rem, 2vw, 2rem);
  font-weight: bold;
  padding: 1em;
  border-bottom: 1px solid var(--color-black);
}

.concept02Page .reasonBox_item .txt {
  font-size: 1.6rem;
  text-align: center;
  padding: 1em;
}

.concept02Page .reasonBox_item_num {
  color: #fff;
  background: var(--color-main);
  font-size: clamp(1.6rem, 2vw, 2.8rem);
  font-family: var(--font-en);
  width: 2em;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -4%;
  left: 50%;
  transform: translateX(-50%);
}

/*ページ下部*/
.concept02Page .bottomBnrBox_ttl {
  font-size: clamp(2rem, 3.3vw, 3.2rem);
  font-weight: bold;
  text-align: center;
}

.concept02Page .bottomBnrBox_ttl_inner {
  display: table;
  padding: 0 2.5em;
  margin: 0 auto;
  position: relative;
}

.concept02Page .bottomBnrBox_ttl_inner::before,
.concept02Page .bottomBnrBox_ttl_inner::after {
  content: '';
  position: absolute;
  bottom: 40px;
  display: inline-block;
  width: 3em;
  height: 2px;
  background-color: var(--color-black);
  transform: rotate(60deg);
}

.concept02Page .bottomBnrBox_ttl_inner::before {
  left: 0;
}

.concept02Page .bottomBnrBox_ttl_inner::after {
  transform: rotate(-60deg);
  right: 0;
}

/*==================================================
  tablet SETTINGS : Min768px Max1080px
==================================================*/
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .wp-pagenavi {
    width: 96%;
  }

  /*==================================================
    concept02:家賃並みの安心価格
  ==================================================*/

  .concept02Page .introBox {
    background-position: 80% 0;
  }
}

/*==================================================
  SP SETTINGS : Max767px
==================================================*/
@media screen and (max-width: 767px) {

  /*==================================================
    GENERAL SETTINGS
  ==================================================*/
  /* ページ共通設定　*/
  .powerbuildPage #postbox {
    font-size: 1.3rem;
  }

  /*==================================================
    powerbuild:パワービルド工法
  ==================================================*/

  /* common */
  .powerbuildPage .font_small {
    font-size: 0.9em;
  }

  .powerbuildPage .powerbuildPage__commonTtl {
    font-size: 22px;
  }

  .powerbuildPage .powerbuildPage__commonSection {
    width: 90%;
    margin: 50px auto;
  }

  .powerbuildPage .featureBox__ttlMain {
    display: flex;
    align-items: center;
    min-width: 4.8em;
  }

  .powerbuildPage__commonFlexBox {
    margin-bottom: 50px;
    flex-direction: column;
  }

  .powerbuildPage__commonFlexBox-column {
    flex-direction: column;
  }

  .powerbuildPage__commonFlexBox-mini {
    margin: 30px 0 20px;
  }

  .powerbuildPage__commonFlexTtl {
    font-size: 18px;
  }

  .powerbuildPage__commonFlexTxtBox {
    width: 100%;
  }

  .powerbuildPage__commonFlexImgBox {
    width: 100%;
  }

  .powerbuildPage__commonFlexBox-mini .powerbuildPage__commonFlexImgBox {
    margin-top: 0;
  }

  /* mvBox */
  .powerbuildPage .mvBox {
    padding: 50px 4%;
  }


  .powerbuildPage .mvBox__ttlBox {
    gap: 0 1em;
    font-size: 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }

  .powerbuildPage .mvBox__mainTtl {
    line-height: 1;
  }

  .powerbuildPage .mvBox__txtBox {
    flex-direction: column;
  }

  /* qaBox */
  .powerbuildPage .qaBox__ttl {
    flex-direction: column;
  }

  .powerbuildPage .qaBox__ttl::before {
    margin: 0 0 10px 0;
    font-size: 30px;
  }

  .powerbuildPage .qaBox__reason {
    align-items: center;
    flex-direction: column;
  }

  .powerbuildPage .qaBox__reasonTtl {
    font-size: 22px;
    line-height: 1;
  }

  .powerbuildPage .qaBox__reasonTxt {
    width: 100%;
  }

  /* reasonBox */
  .powerbuildPage .reasonBox {
    margin: 50px 0 0;
    width: 100%;
  }

  .powerbuildPage .reasonBox__inner {
    width: 100%;
  }

  .powerbuildPage .reasonBox__list {
    align-items: center;
    gap: 20px 5%;
    flex-direction: column;
  }

  .powerbuildPage .reasonBox__item {
    width: 70%;
  }

  .powerbuildPage .reasonBox__itemTxt {
    text-align: center;
  }

  /* featureBox */
  .powerbuildPage .featureBox__btnList {
    gap: 10px 2%;
    flex-wrap: wrap;
  }

  .powerbuildPage .featureBox__btnItem {
    width: 49%;
  }

  .powerbuildPage .featureBox__ttl {
    font-size: clamp(18px, 5.4vw, 20px);
    margin-bottom: 10px;
  }

  /* materialBox */
  .powerbuildPage .materialBox__inner {
    width: 100%;
  }

  .powerbuildPage .materialBox__mainTtl {
    font-size: 24px;
  }

  .powerbuildPage .materialBox__item {
    padding: 20px;
  }

  .powerbuildPage .materialBox__itemTtl {
    font-size: 30px;
  }

  .materialBox__txt-big {
    font-size: 1.4em;
  }

  /*==================================================
    gx:GX志向型住宅 
  ==================================================*/
  .gxPage .gxPage__commonTtl {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .gxPage .gxPage__commonSubTtl {
    font-size: 22px;
  }

  .gxPage .gxPage__commonSection {
    width: 90%;
    margin-inline: auto;
    padding-top: var(--gutter);
  }

  .gxPage .mvBox {
    background-size: cover;
    padding: 50px 4%;
  }

  .gxPage .mvBox__mainTtl {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .gxPage .qaBox__ttl {
    flex-direction: column;
  }

  .gxPage .qaBox__ttl::before {
    margin: 0 0 10px;
    font-size: 30px;
    padding: 5px 0 0 5px;
    box-sizing: border-box;
  }

  .gxPage .gxPage__commonIntoroTxt {
    text-align: left;
  }

  .gxPage .qaBox__table th {
    width: 40%;
    font-size: 13px;
    padding: 15px;
  }

  .gxPage .qaBox__tableReference {
    font-size: 12px;
  }

  .gxPage .recomBox__list {
    gap: 20px 5%;
    flex-direction: column;
    align-items: center;
  }

  .gxPage .recomBox__item {
    width: 70%;
  }

  .gxPage .comparisonBox__table th {
    padding: 10px;
    font-size: 15px;
  }

  .gxPage .comparisonBox__table th:first-child {
    width: 6%;
    writing-mode: vertical-rl;
    letter-spacing: 0.3em;
    font-size: 14px;
  }

  .gxPage .comparisonBox__table td:nth-child(2)::after {
    height: 30px;
  }

  .gxPage .comparisonBox__tableHead--normal {
    width: 47%;
  }

  .gxPage .comparisonBox__tableHead--after {
    width: 47%;
  }

  .gxPage .comparisonBox__table td {
    padding: 10px 25px;
    font-size: 13px;
    vertical-align: middle;
  }

  .gxPage .meritDemeritBox__summaryBox {
    margin-top: 30px;
    font-size: 14px;
  }

  .gxPage .supportBox__ttl {
    padding: 4%;
    margin-bottom: 30px;
    font-size: 22px;
  }

  .gxPage .supportBox__ttl::after {
    width: 50px;
  }

  .gxPage .supportBox__detail {
    padding: 20px;
  }

  .gxPage .supportBox__detailTtl {
    font-size: 16px;
  }

  .gxPage .supportBox__detailAnnotation {
    text-align: left;
  }

  .gxPage .supportBox__appealTtl {
    font-size: 20px;
    line-height: 1.5;
  }

  .gxPage .supportBox__appealItem {
    font-size: 16px;
  }

  .gxPage .summaryBox__mainTxt {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 30px;
  }

  .gxPage .summaryBox__txt {
    font-size: 16px;
    text-align: left;
  }

  /*==================================================
    concept:家づくりに対する思い
  ==================================================*/

  .conceptPage .introBox {
    background: var(--color-palegray);
  }

  .conceptPage .introBox__txtBox {
    background: none;
    padding-bottom: var(--gutter);
  }

  .conceptPage .introBox__txt {
    text-shadow: none;
    margin-bottom: var(--gutter-narrow);
  }

  .conceptPage .introBox__txt:nth-of-type(4) {
    margin-bottom: 0;
  }

  .conceptPage .conceptListBox {
    background-position: 60% 10%;
    background-size: auto 120%;
  }

  .conceptPage .worriesBox ul.itemList li {
    width: 100%;
  }

  .conceptPage .conceptListBox02 ul.itemList li dl,
  .conceptPage .conceptListBox02 ul.itemList li.item02 dl {
    flex-direction: column;
    gap: 4.3vw;
  }

  .conceptPage .conceptListBox02 ul.itemList .txt,
  .conceptPage .conceptListBox02 ul.itemList .image {
    width: 100%;
  }

  /*==================================================
    concept02:家賃並みの安心価格
  ==================================================*/

  .concept02Page .introBox {
    background: url(../img/page/concept02/bg_introBox_01.webp) no-repeat center center / cover;
    background-position: 70% 0;
    padding-top: 30px;
    padding-bottom: 30px;
    height: auto;
  }

  .concept02Page .introBox_ttl {
    margin-inline: 2%;
  }

  .concept02Page .introBox .inner p {
    filter: drop-shadow(2px 2px 7px rgba(255, 255, 255, 0.6));
    padding-inline: 5%;
  }

  .concept02Page .itemListBox {
    flex-direction: column;
    gap: var(--gutter-medium);
  }

  .concept02Page .itemListBox dl {
    width: 100%;
  }

  .concept02Page .worriesBox ul.itemList01 {
    flex-direction: column;
  }

  .concept02Page .worriesBox ul.itemList01 li {
    width: 100%;
    max-width: unset;
    display: flex;
    gap: 3vw;
  }

  .concept02Page .worriesBox .worriesBox_item_img {
    width: 28%;
  }

  .concept02Page .worriesBox ul.itemList01 li .worriesBox_item_txt {
    text-align: left;
    width: 69%;
  }

  .concept02Page .worriesBox ul.itemList02 {
    gap: 3vw;
  }

  .concept02Page .worriesBox ul.itemList02 li {
    width: 42%;
  }

  .concept02Page .costBox .costBox_com01 {
    line-height: 2;
  }

  .concept02Page .costBox .costBox_com01 .plan_logo {
    display: inline-block;
    width: 80%;
  }

  .concept02Page .costBox .bottom {
    margin-top: var(--gutter);
    padding-bottom: 11vw;
    background: url(../img/page/concept02/bg_costBox_01.webp) no-repeat center bottom / 120% auto;
  }

  .concept02Page .costBox .costBox_subTtl {
    width: 100%;
  }

  .concept02Page .costBox__paymentExample {
    flex-direction: column;
    align-items: center;
    gap: 2vw;
  }

  .concept02Page .costBox__monthlyPayment {
    text-align: center;
  }

  .concept02Page .reasonBox_ttl {
    line-height: 1.5;
    margin-bottom: 2em;
  }

  .concept02Page .reasonBox_ttl .plan_logo {
    display: inline-block;
    width: 80%;
  }

  .concept02Page .reasonBox_itemList {
    flex-direction: column;
    gap: var(--gutter-medium);
  }

  .concept02Page .reasonBox_item {
    width: 100%;
  }
}