@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
#reform-wall .seo_bread_list {
  margin-bottom: -67px;
  color: #FFFFFF;
  position: relative;
  z-index: 2;
}
#reform-wall .seo_bread_list span {
  color: #FFFFFF;
}

/* fv
-------------------------------------*/
.fv {
  max-width: 1920px;
  margin-inline: auto;
  width: 100%;
  position: relative;
}
.fv .ttl-box {
  background: #FFFFFF;
  width: min(95%, 1200px);
  margin-inline: auto;
  position: relative;
  margin-top: -8.35rem;
  padding: 0 0 4.5rem;
  margin-bottom: -12.4rem;
  z-index: 2;
}
.fv .ttl-box h2 {
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #141414;
  text-align: center;
  padding: 2.55rem 0;
  border-top: 15px solid #141414;
  position: relative;
  width: min(95%, 575px);
  margin-inline: auto;
  top: -3.8rem;
  margin-bottom: -5.7rem;
}
.fv .ttl-box h2::before {
  content: "";
  position: absolute;
  top: -1.85rem;
  left: -11.9rem;
  width: 150px;
  height: 150px;
  background: url(../images/reform-wall/free-icon.svg) no-repeat;
  background-size: contain;
}
.fv .ttl-box::before {
  content: "";
  position: absolute;
  top: -10.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 241px;
  height: 241px;
  background: url(../images/reform-wall/reform-wall-icon.svg) no-repeat;
  background-size: contain;
}
.fv .price-frame {
  display: flex;
  align-items: baseline;
  gap: 51px;
  justify-content: center;
  margin: 0 58px 15px 0;
}
.fv .price-frame .include {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border: 1px solid #1C1C1C;
  padding: 0.45rem 0.4rem;
  width: 103px;
  position: relative;
  top: -2px;
}
.fv .price {
  display: inline-flex;
  gap: 9px;
  font-size: 96px;
  line-height: 1.197916;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  padding: 0.25rem 0 0;
}
.fv .price::after {
  content: "";
  position: absolute;
  bottom: 8px;
  right: -5px;
  width: 103%;
  height: 15px;
  background: #FFDF4D;
  z-index: -1;
}
.fv .price .yen-mark {
  font-size: 43px;
  font-weight: 700;
  line-height: 2.62790;
  margin: 23px 0 0 -21px;
  color: #1C1C1C;
}
.fv .price .yen {
  font-size: 43px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #1C1C1C;
  margin: 3.2rem 0 0;
}
.fv .txt {
  font-size: 24px;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.worries .inner {
  width: min(95%, 1280px);
  margin-inline: auto;
  padding: 16.2rem 0 17.05rem;
  text-align: center;
}
.worries h2 {
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  display: inline-block;
  text-align: center;
  position: relative;
  margin-bottom: 2.7rem;
}
.worries h2::after {
  content: "";
  position: absolute;
  top: 5px;
  right: 84px;
  width: 47px;
  height: 52px;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h2 .subt {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 12.5rem;
  padding: 0.88rem 1.765rem;
  margin-bottom: 1.5rem;
  display: inline-block;
  margin-right: 0.65rem;
  position: relative;
  top: 0.25rem;
}

.worries .worries-box {
  width: min(95%, 1040px);
  background: #FFFFFF;
  border: 10px solid #EFEFEF;
  padding: 2.75rem 0 1.95rem;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -2.1rem;
  right: -8.2rem;
  width: 307px;
  height: 253px;
  background: url(../images/reform-wall/worries-photo01.png) no-repeat;
  background-size: contain;
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -1.95rem;
  left: -8.2rem;
  width: 276px;
  height: 212px;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: min(95%, 900px);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
  margin-bottom: 0.6rem;
}
.worries .worries-box .list li {
  color: #141414;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
  padding: 0 0 0.85rem 7.85rem;
  border-bottom: 1px dashed #8F8F8F;
  position: relative;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 5.6rem;
  width: 26px;
  height: 20px;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5.6rem;
  top: 14.75rem;
}



/* point
-------------------------------------*/
.point {
  background: url(../images/page-common/merit-bg.png) repeat;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.point .inner {
  position: relative;
  display: grid;
  gap: 5.36rem;
  margin-top: -10.5rem;
  padding: 0 0 8.85rem;
}
.point .sec {
  width: min(95%, 1200px);
  margin-inline: auto;
  border: 10px solid #1C1C1C;
  background: #FFFFFF;
}
.point .sec h2{
  background: #E2E2E2;
  padding: 3rem 0;
  text-align: center;
  font-size: 50px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.point .sec .content {
  padding: 3.45rem 4.4rem 2.4rem;
  display: grid;
  grid-template-columns: 51.933% 44.2307%;
  gap: 2.5rem;
}
.point .sec .txt-box .list {
  background: #EFEFEF;
  padding: 1.775rem 3.7rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 3.65rem;
  align-items: center;
  margin: 1.7rem 0 1.7rem;
}
.point .sec .txt-box .list span {margin: 0 0 0 -1.85rem;font-size: 16px;line-height: 1.875;letter-spacing: 0.1em;font-weight: 500;}
.point .sec .txt-box .list li {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
.point .sec .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: -1.9rem;
  width: 20px;
  height: 20px;
  background: url(../images/page-common/check-icon03.svg) no-repeat;
  background-size: contain;
}
.point .sec .txt-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 1.15rem;
}
.point .sec .txt-box .txt.ls {
  letter-spacing: 0.09em;
}
.point .sec .photo{
  margin: 0.25rem 0 0;
}
/* point02 */
.point .point02 .content {
  padding: 3.45rem 4.4rem 0;
}
.point .point02 .txt-box .link  {
  display: grid;
  padding: 1rem 0 0 2.5rem;
  gap: 0.7rem;
}
.point .point02 .txt-box .link li a {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.875;
  text-align: left;
  color: #2b6fac;
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #2B6FAC;
  padding: 0 0 0.2rem;
  text-decoration: none;
}
.point .point02 .txt-box .link li a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.5rem;
  width: 25px;
  height: 25px;
  background: url(../images/reform-wall/link-icon.svg) no-repeat;
  background-size: contain;
}
.point .point02 .content02 {
  grid-template-columns: 44.2307% 51.933%;
  padding: 2.4rem 4.4rem 3.75rem;
}
/* point03 */ 
.point .point03 .content {padding: 3.45rem 4.4rem 3.75rem;}


/* merit
-------------------------------------*/
.merit {
  border-bottom: 30px solid #1C1C1C;
}
.merit .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  position: relative;
  padding: 13.35rem 0 5.55rem;
  margin-bottom: 10rem;
}
.merit .inner::after {
  background: #D7000F;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 72.4375rem;
  z-index: 1;
  pointer-events: none;
}
.merit h2 {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: center;
  margin-bottom: 4.9375rem;
  position: relative;
  z-index: 3;
}
.merit h2 span {
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.merit .enttl {
  position: absolute;
  top: 8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.merit .list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5rem 3.75rem;
  position: relative;
  z-index: 2;
  width: min(95%, 1200px);
  margin-inline: auto;
}
.merit .txt-box {
  background: #FFFFFF;
  margin-top: -2rem;
  position: relative;
  z-index: 3;
  width: min(95%, 490px);
  margin-inline: auto;
}
.merit .txt-box .num {
  background: #1C1C1C;
  border: 1px solid #FFFFFF;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 0.55rem 0;
  margin-bottom: 1.6rem;
}
.merit .txt-box .num span {
  color: #FDF202;
}
.merit .txt-box h3 {
  font-size: 22px;
  line-height: 1.8181818182;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
}
.merit .txt-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-weight: 500;
  padding: 0 2.5rem 2.4rem;
}
.merit .photo {
  text-align: center;
}
/* list02 */
.merit .list02 .txt-box .txt {
  letter-spacing: 0.05em;
}
/* list04 */
.merit .list04 .txt-box .num {margin-bottom: 2.85rem;}
.merit .list04 .txt-box h3 {
  margin-bottom: 2.75rem;
}
.merit .list04 .txt-box .txt {
  padding: 0 2.5rem 4rem;
}

/* construction
-------------------------------------*/
.construction {
  background: url(../images/page-common/construction-bg.png) repeat;
}
.construction .inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding: 7.875rem 0 7.655rem;
  text-align: center;
}
.construction h2 {
  display: inline-grid;
  gap: 2rem;
  position: relative;
  margin-bottom: 7.5rem;
  text-align: center;
}
.construction h2::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: -37px;
  width: 110px;
  height: 135px;
  background: url(../images/page-common/construction-deco.png) no-repeat;
  background-size: contain;
}
.construction h2 span {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.construction .list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.7rem 3.75rem;
}
.construction .list li .inner-box {
  background: #FFFFFF;
  border: 5px solid #1C1C1C;
  padding: 3.5625rem 2.5rem 0.85rem;
  position: relative;
  margin-bottom: 1.05rem;
  height: 510px;
}
.construction .list li .num {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 50%;
  display: grid;
  place-items: center;
  width: 4.375rem;
  height: 4.375rem;
  position: absolute;
  top: -1.65rem;
  left: 50%;
  transform: translateX(-50%);
}
.construction .list li h3 {
  font-size: 32px;
  line-height: 1.5625;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  margin-bottom: 1.25rem;
}
.construction .list li h3 span {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 -14px 0 -8px;
  display: inline-block;
}
.construction .list li .photo {
  margin-bottom: 1.0875rem;
}
.construction .list li .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 1.45rem;
  text-align: left;
}
/* list05 */
.construction .list .list05 h3 {
  letter-spacing: 0;
}

/* plan
-------------------------------------*/
.plan {
  background: #FCCF00;
}
.plan .inner {
  padding: 8.975rem 0 18.175rem;
  width: min(95%, 1160px);
  margin-inline: auto;
}
.plan h2 {
  font-size: 48px;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4.1875rem;
}
.plan .list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem 3.75rem;
  margin-bottom: 2.5rem;
}
.plan .list li {
  background: #FFFFFF;
  padding: 2rem 1.875rem 1.185rem;
}
.plan .list li h3 {
  background: #1C1C1C;
  border-radius: 3.75rem;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.68rem 0;
  gap: 1.25rem;
  height: 59px;
}
.plan .list .content {
  display: flex;
  padding: 1.95rem 0 0;
  gap: 2.9rem;
}
.plan .list li .txt {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.625;
  text-align: center;
  color: #141414;
  margin: 0.8rem 0 0.15rem;
}
.plan .list li .txt02 {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.7777;
  text-align: center;
  color: #141414;
}
.plan .list .content h4 {
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.plan .list .content h4 span {
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 500;
  display: block;
}
.plan .price {
  display: inline-flex;
  gap: 7px;
  font-size: 70px;
  line-height: 1.1;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  align-items: baseline;
  margin: -15px 0 0;
}
.plan .price::after {
  content: "";
  position: absolute;
  bottom: 20px;
  right: -5px;
  width: 105%;
  height: 8px;
  background: #FFDF4D;
  z-index: -1;
}
.plan .price .small {
  font-size: 40px;
  letter-spacing: 0;
  color: #D7000F;
  margin: 0 0 0 -13px;
  position: relative;
  top: -5px;
}
.plan .price .yen-mark {
  font-size: 24px;
  font-weight: 700;
  line-height: 2.5;
  color: #1C1C1C;
  position: relative;
  top: -5px;
  left: 5px;
}
.plan .price .yen {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #1C1C1C;
  position: relative;
  top: -5px;
  margin: 0 -8px 0 0px;
}
.plan .price .zei {
  font-size: 12px;
  letter-spacing: 0em;
  font-weight: 700;
  color: #1C1C1C;
  position: relative;
  top: -6px;
}
/* list05 */
.plan .list li:nth-child(5) {
  grid-column: 1 / -1;
  padding: 0;
  margin: 0.2rem 0 0;
}
.plan .list li:nth-child(5) h3 {
  border-radius: 0;
  padding: 2.5rem 0 2.1rem;
  gap: 0;
  position: relative;
}
.plan .list li:nth-child(5) h3::before {
  content: "";
  position: absolute;
  top: -13px;
  left: 91px;
  width: 97px;
  height: 53px;
  background: url(../images/reform-wall/plan05-ttl-deco.png) no-repeat;
  background-size: contain;
}
.plan .list li:nth-child(5) h3 span{
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.1em;
  line-height: 1.3333;
  color: #ff0;
  position: relative;
  top: -4px;
  left: 6px;
  margin-right: 3px;
}
.plan .list li:nth-child(5) .inBox {
  display: grid;
  grid-template-columns: 50.8% 1fr;
  gap: 2.125rem;
  padding: 1.2rem 1.8rem 1.95rem;
}
.plan .list li:nth-child(5) .inBox .txt-box {
    margin: 0.3rem 0 0;
}
.plan .list li:nth-child(5) .txt {
    text-align: left;
    margin: 0 0 2rem;
}
.plan .bottom-box {
  text-align: center;
}
.plan .bottom-box h4 {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid #1C1C1C;
  display: inline-block;
  margin-bottom: 1.65rem;
}
.plan .bottom-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 2.8375rem;
}
.plan .bottom-box .txt span {
  font-weight: 500;
  display: block;
}
.plan .bottom-box .contact-btn {
  width: min(95%, 775px);
  margin-inline: auto;
}

/* flow
-------------------------------------*/
.flow {
  background: #EFEFEF;
  position: relative;
}
.flow::before {
  content: "";
  position: absolute;
  top: -9.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 646px;
  height: 646px;
  background: url(../images/reform-wall/flow-bg-deco.svg) no-repeat;
  background-size: contain;
}
.flow .inner {
  width: min(95%, 1100px);
  margin-inline: auto;
  text-align: center;
  position: relative;
  top: -1.5rem;
  padding: 0 0 7.25rem;
}
.flow .enttl {
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 400;
  padding-bottom: 1.275rem;
  display: inline-block;
  text-align: center;
  border-bottom: 2px solid #1C1C1C;
  margin-bottom: 1.075rem;
  position: relative;
}
.flow h2 {
  font-size: 48px;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 6.125rem;
  position: relative;
}
.flow h2 span {
  font-size: 32px;
  line-height: 2.1875;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
}
.flow .list {
  display: grid;
  gap: 3.25rem;
}
.flow .list li {
  background: #FFFFFF;
  position: relative;
}
.flow .list li:not(:last-child)::after {
  position: absolute;
  content: "";
  bottom: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 20px;
  background: url(../images/reform-wall/flow-arrow.svg) no-repeat;
  background-size: contain;
}
.flow .list li .inBox {
  padding: 4.05rem 3rem 4.15rem 5rem;
  display: grid;
  grid-template-columns: 12.5% 1fr;
  align-items: center;
  gap: 8.5rem;
}
.flow .list li .num {
  font-size: 28px;
  line-height: 1.0714285714;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  color: #0488E5;
  position: relative;
}

.flow .list li .content {
  position: relative;
}
.flow .list li .content::after {
  position: absolute;
  content: "";
  background: #1188E5;
  width: 1px;
  height: 118%;
  top: -15px;
  left: -60px;
}
.flow .list li .content h3 {
  font-size: 28px;
  line-height: 1.0714285714;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: flex;
  gap: 1.25rem;
  margin-bottom: 1.3rem;
  align-items: center;
}
.flow .list li .content .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
}
/* list01 */
.flow .list li:nth-child(1) .inBox {
  padding: 4.15rem 5rem 4.75rem;
  grid-template-columns: 13% 1fr;
  gap: 8.5rem;
}
.flow .list li:nth-child(1)  .content h3 {
  margin-bottom: 1.7rem;
}
/* list04 */
.flow .list li:nth-child(4) .inBox {align-items: normal;}
.flow .list li:nth-child(4) .inBox .num {
  margin: 4rem 0 0;
}
.flow .list li:nth-child(4) .content::after {
    height: 100%;
    top: -4px;
}

.flow .flow-list-box {
  background: rgba(4, 136, 229, 0.1);
  padding: 3.225rem;
  display: grid;
  grid-template-columns: 50% 1fr;
  margin: 2.2rem 0 0;
  gap: 2.5rem;
  width: 43.9rem;
}
.flow .flow-list {
  display: grid;
  gap: 3.2rem;
}
.flow .flow-list li {
  font-size: 18px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  background: none;
  text-align: left;
}
.flow .flow-list li span {
  font-size: 16px;
} 
.flow .flow-list li:first-child:after {
  content: none;
}
.flow .flow-list li:not(:first-child)::after {
  position: absolute;
  content: "";
  bottom: 2.45rem;
  left: 1.95rem;
  width: 15px;
  height: 33px;
  background: url(../images/reform-wall/flow-list-arrow.svg) no-repeat;
  background-size: contain;
}

/* works
-------------------------------------*/
.works .inner{
  width: min(95%, 1190px);
  margin-inline: auto;
  padding: 9rem 0 0;
}
.works .enttl {
  font-weight: normal;
  font-size: 36px;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 2.5rem;
}
.works .enttl::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 95px;
  height: 2px;
  background: #1C1C1C;
}
.works h2 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 2.1875;
  text-align: center;
  color: #141414;
  margin-bottom: 4.4rem;
}



/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  padding: 7.35rem 0 12.5rem;
}
.menu h2 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 3.5rem;
}
.menu .menu-box {
  display: grid;
  gap: 2.5rem;
}
.menu .menu-box .upper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
.menu .menu-box .upper::before {
  content: "";
  position: absolute;
  top: -11rem;
  left: 22.5rem;
  width: 147px;
  height: 176px;
  background: url(../images/page-common/menu-deco.png) no-repeat;
  background-size: contain;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item.mizumawari .item {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding: 3.125rem 0;
  justify-content: center;
  width: min(95%, 1100px);
  margin-inline: auto;
}
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 3.125rem 2.5rem;
}
.menu .menu-item.gaisou .item {
  padding: 3.125rem 2.5rem;
  text-align: center;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 1.69rem 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* fv
-------------------------------------*/
.fv .ttl-box {
  width: 62.533vw;
  margin-top: -6.962vw;
  padding: 0 0 3.752vw;
  margin-bottom: -12.339vw;
}
.fv .ttl-box h2 {
  font-size: 2.606vw;
  padding: 2.126vw 0;
  width: 29.964vw;
  top: -3.168vw;
  margin-bottom: -4.752vw;
}
.fv .ttl-box h2::before {
  top: -1.542vw;
  left: -9.922vw;
  width: 7.817vw;
  height: 7.817vw;
}
.fv .ttl-box::before {
  top: -8.588vw;
  width: 12.559vw;
  height: 12.559vw;
}
.fv .price-frame {
  gap: 2.658vw;
  margin: 0 3.022vw 0.052vw 0;
}
.fv .price-frame .include {
  font-size: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
  padding: 0.375vw 0.334vw;
  width: fit-content;
  top: -0.104vw;
}
.fv .price {
  gap: 0.469vw;
  font-size: 5.003vw;
  padding: 0.208vw 0 0;
}
.fv .price::after {
  bottom: 1.563vw;
  right: -0.261vw;
  height: 0.782vw;
}
.fv .price .yen-mark {
  font-size: 2.241vw;
  margin: 1.199vw 0 0 -1.094vw;
}
.fv .price .yen {
  font-size: 2.241vw;
  margin: 2.668vw 0 0;
}
.fv .txt {
  font-size: 1.251vw;
}
.fv .photo img {
  width: 100%;
  height: auto;
}
  
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* worries
-------------------------------------*/
.worries .inner {
  width: 88.889vw;
  padding: 18vw 0 18.944vw;
}
.worries h2 {
  font-size: 2.222vw;
  margin-bottom: 3vw;
}
.worries h2::after {
  top: 0.347vw;
  right: 5.833vw;
  width: 3.264vw;
  height: 3.611vw;
}
.worries h2 .subt {
  font-size: 2.778vw;
  border-radius: 13.889vw;
  padding: 0.978vw 1.961vw;
  margin-bottom: 1.667vw;
  margin-right: 0.722vw;
  top: 0.278vw;
}

.worries .worries-box {
  width: 72.222vw;
  padding: 3.056vw 0 2.167vw;
}
.worries .worries-box::before {
  top: -2.333vw;
  right: -9.111vw;
  width: 21.319vw;
  height: 17.569vw;
}
.worries .worries-box::after {
  bottom: -2.167vw;
  left: -9.111vw;
  width: 19.167vw;
  height: 14.722vw;
}
.worries .worries-box .list {
  width: 62.5vw;
  gap: 1.667vw;
  margin-bottom: 0.667vw;
}
.worries .worries-box .list li {
  font-size: 1.389vw;
  padding: 0 0 0.944vw 8.722vw;
}
.worries .worries-box .list li::before {
  top: 0.778vw;
  left: 6.222vw;
  width: 1.806vw;
  height: 1.389vw;
}
.worries .worries-box .txt {
  font-size: 1.389vw;
}
.worries .worries-box .deco {
  right: -6.222vw;
  top: 16.389vw;
}
}


/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* point
-------------------------------------*/
.point .inner {
  gap: 6.7vw;
  margin-top: -13.125vw;
  padding: 0 0 11.063vw;
}
.point .sec {
  width: 93.75vw;
}
.point .sec h2{
  padding: 3.75vw 0;
  font-size: 3.906vw;
}
.point .sec .content {
  padding: 4.313vw 5.5vw 3vw;
  gap: 3.125vw;
}
.point .sec .txt-box .list {
  padding: 2.219vw 4.625vw;
  gap: 0.75vw 4.563vw;
  margin: 2.125vw 0 2.125vw;
}
.point .sec .txt-box .list span {margin: 0 0 0 -2.312vw;font-size: 1.25vw;line-height: 1.875;letter-spacing: 0.1em;font-weight: 500;}
.point .sec .txt-box .list li {
  font-size: clamp(0.688rem, 0.219rem + 0.98vw, 1rem);
}
.point .sec .txt-box .list li::before {
  top: 0.313vw;
  left: -2.375vw;
  width: 1.563vw;
  height: 1.563vw;
  background: url(../images/page-common/check-icon03.svg) no-repeat;
  background-size: contain;
}
.point .sec .txt-box .txt {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
  margin-bottom: 1.438vw;
}
.point .sec .photo{
  margin: 0.313vw 0 0;
}
.point .sec .photo img {
  width: 100%;
  height: auto;
}
/* point02 */
.point .point02 .content {
  padding: 4.313vw 5.5vw 0;
}
.point .point02 .content .img img {
  width: 100%;
  height: auto;
}
.point .point02 .txt-box .link  {
  padding: 1.25vw 0 0 3.125vw;
  gap: 0.875vw;
}
.point .point02 .txt-box .link li a {
  font-size: 1.25vw;
  padding: 0 0 0.25vw;
}
.point .point02 .txt-box .link li a::before {
  left: -3.125vw;
  width: 1.953vw;
  height: 1.953vw;
}
.point .point02 .content02 {
  padding: 3vw 5.5vw 4.688vw;
}

/* point03 */ 
.point .point03 .content {padding: 4.313vw 5.5vw 4.688vw;}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* merit
-------------------------------------*/
.merit .inner {
  width: 97.561vw;
  padding: 13.024vw 0 5.317vw;
  margin-bottom: 9.756vw;
}
.merit .inner::after {
  height: 70.671vw;
}
.merit h2 {
  font-size: 2.439vw;
  margin-bottom: 4.817vw;
}
.merit h2 span {
  font-size: 1.951vw;
}
.merit .enttl {
  top: 7.805vw;
}
.merit .enttl img {
  width: 16.951vw;
}
.merit .list {
  gap: 4.878vw 3.659vw;
  width: 73.171vw;
}
.merit .list li {
  display: flex;
  flex-direction: column; 
}
.merit .txt-box {
  margin-top: -1.951vw;
  width: 29.878vw;
  flex: 1; 
  display: flex;
  flex-direction: column;
  justify-content: flex-start; 
}
.merit .txt-box .num {
  font-size: 1.463vw;
  padding: 0.537vw 0;
  margin-bottom: 1.561vw;
}
.merit .txt-box h3 {
  font-size: 1.341vw;
  margin-bottom: 1.463vw;
}
.merit .txt-box .txt {
  font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
  padding: 0 2.439vw 2.341vw;
}
.merit .photo img {
  width: 100%;
  height: auto;
}
.merit .list03 .txt-box,
.merit .list04 .txt-box {
  height: 21.159vw;
}
/* list04 */
.merit .list04 .txt-box .num {margin-bottom: 2.78vw;}
.merit .list04 .txt-box h3 {
  margin-bottom: 2.683vw;
  padding: 0 2.439vw;
}
.merit .list04 .txt-box .txt {
  padding: 0 2.439vw 2.341vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
.construction .inner {
  width: 93.75vw;
  padding: 9.844vw 0 9.569vw;
}
.construction h2 {
  gap: 2.5vw ;
  margin-bottom: 9.375vw;
}
.construction h2 img {
  width: 45.781vw;
}
.construction h2::after {
  bottom: -0.703vw;
  left: -2.891vw;
  width: 8.594vw;
  height: 10.547vw;
}
.construction h2 span {
  font-size: 2.5vw;
}
.construction .list {
  gap: 3.375vw 4.688vw;
}
.construction .list li .inner-box {
  padding: 4.453vw 3.125vw 1.063vw;
  height: 41.844vw;
}
.construction .list li .num {
  font-size: 2.344vw;
  width: 5.469vw;
  height: 5.469vw;
  top: -2.062vw;
}
.construction .list li h3 {
  font-size: 2.46vw;
  margin-bottom: 1.563vw;
}
.construction .list li h3 span {
  font-size: 1.875vw;
  margin: 0 -1.094vw 0 -0.625vw;
}
.construction .list li .photo {
  margin-bottom: 1.359vw;
}
.construction .list li .photo img {
  width: 100%;
  height: auto;
}
.construction .list li .txt {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
  margin-bottom: 1.812vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* plan
-------------------------------------*/
.plan .inner {
  padding: 11.219vw 0 22.969vw;
  width: 90.625vw;
}
.plan h2 {
  font-size: 3.75vw;
  margin-bottom: 5.234vw;
}
.plan .list {
  gap: 3vw 4.688vw;
  margin-bottom: 3.125vw;
}
.plan .list li {
  padding: 2.5vw 2.344vw 1.481vw;
}
.plan .list li h3 {
  border-radius: 4.688vw;
  font-size: 1.875vw;
  padding: 0.85vw 0;
  gap: 1.563vw;
  height: 4.609vw;
}
.plan .list .content {
  padding: 2.438vw 0 0;
  gap: 3.625vw;
}
.plan .list li .txt {
  font-size: 1.25vw;
  margin: 1vw 0 0.188vw;
}
.plan .list li .txt02 {
  font-size: 1.406vw;
}
.plan .list .content h4 {
  font-size: 1.875vw;
}
.plan .list .content h4 span {
  font-size: 1.563vw;
}
.plan .price {
  gap: 0.547vw;
  font-size: 5.469vw;
  margin: -1.172vw 0 0;
}
.plan .price::after {
  bottom: 1.563vw;
  right: -0.391vw;
  height: 0.625vw;
}
.plan .price .small {
  font-size: 3.125vw;
  margin: 0 0 0 -1.016vw;
  top: -0.391vw;
}
.plan .price .yen-mark {
  font-size: 1.875vw;
  top: -0.391vw;
  left: 0.391vw;
}
.plan .price .yen {
  font-size: 1.875vw;
  top: -0.391vw;
  margin: 0 -0.625vw 0 0px;
}
.plan .price .zei {
  font-size: 0.938vw;
  top: -0.469vw;
}
/* list05 */
.plan .list li:nth-child(5) {
  margin: 0.25vw 0 0;
}
.plan .list li:nth-child(5) h3 {
  padding: 3.125vw 0 2.625vw;
}
.plan .list li:nth-child(5) h3::before {
  top: -1.016vw;
  left: 7.109vw;
  width: 7.578vw;
  height: 4.141vw;
}
.plan .list li:nth-child(5) h3 span{
  font-size: 2.344vw;
  top: -0.312vw;
  left: 0.469vw;
  margin-right: 0.234vw;
}
.plan .list li:nth-child(5) .inBox {
  gap: 2.656vw;
  padding: 1.5vw 2.25vw 0.625vw;
}
.plan .list li:nth-child(5) .inBox .txt-box {
    margin: 0.375vw 0 0;
}
.plan .list li:nth-child(5) .txt {
    margin: 0 0 1vw;
}
.plan .list li:nth-child(5)  img {
  width: 100%;
  height: auto;
}
.plan .bottom-box h4 {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
  padding-bottom: 1.375vw;
  margin-bottom: 2.062vw;
}
.plan .bottom-box .txt {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
  margin-bottom: 3.547vw;
}
.plan .bottom-box .contact-btn img {
  width: 100%;
  height: auto;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1200px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1200px) {
/* flow
-------------------------------------*/
.flow::before {
  top: -12.667vw;
  width: 53.833vw;
  height: 53.833vw;
}
.flow .inner {
  width: 91.667vw;
  top: -2vw;
  padding: 0 0 9.667vw;
}
.flow .enttl {
  font-size: 3vw;
  padding-bottom: 1.7vw;
  margin-bottom: 1.433vw;
}
.flow h2 {
  font-size: 4vw;
  margin-bottom: 8.167vw;
}
.flow h2 span {
  font-size: 2.667vw;
}
.flow .list {
  gap: 4.333vw;
}
.flow .list li:not(:last-child)::after {
  bottom: -3.333vw;
  width: 3.333vw;
  height: 1.667vw;
}
.flow .list li .inBox {
  padding: 5.4vw 4vw 5.533vw 6.667vw;
  gap: 11.333vw;
}
.flow .list li .num {
  font-size: 2.333vw;
}
.flow .list li .content::after {
  width: 0.083vw;
  top: -1.25vw;
  left: -5vw;
}
.flow .list li .content h3 {
  font-size: 2.333vw;
  gap: 1.667vw;
  margin-bottom: 1.733vw;
}
.flow .list li .content .txt {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
}
/* list01 */
.flow .list li:nth-child(1) .inBox {
  padding: 5.533vw 6.667vw 6.333vw;
  gap: 11.333vw;
}
.flow .list li:nth-child(1)  .content h3 {
  margin-bottom: 2.267vw;
}
/* list04 */
.flow .list li:nth-child(4) .inBox .num {
  margin: 5.333vw 0 0;
}
.flow .list li:nth-child(4) .content::after {
    top: -0.333vw;
}

.flow .flow-list-box {
  padding: 4.3vw;
  margin: 2.933vw 0 0;
  gap: 3.333vw;
  width: 58.533vw;
}
.flow .flow-list {
  gap: 4.267vw;
}
.flow .flow-list li {
  font-size: 1.5vw;
}
.flow .flow-list li span {
  font-size: 1.333vw;
} 
.flow .flow-list li:not(:first-child)::after {
  bottom: 3.267vw;
  left: 2.6vw;
  width: 1.25vw;
  height: 2.75vw;
}
.flow .flow-list-box .photo img {
  width: 100%;
  height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1680px)
======================================== */
@media screen and (min-width:768px) and (max-width:1680px) {
  .menu h2 {
    font-size: 2.381vw;
    margin-bottom: 3.333vw;
  }
  .menu .menu-box h3 {
    font-size: 1.905vw;
    padding: 1.61vw 0;
  }
  .menu .menu-box .upper::before {
    top: -10.476vw;
    left: 21.429vw;
    width: 8.75vw;
    height: 10.476vw;
  }
  .menu .menu-item img {
    width: 19.238vw;
    height: auto;
    max-width: 340px;
  }
  .menu .menu-item.mizumawari .item {
    gap: 2.381vw;
    padding: 2.976vw 0;
    width: 65.476vw;
  }
  .menu .menu-item.gaisou .item{
    padding: 2.976vw 2.381vw;
    text-align: center;
  }
  .menu .menu-item.other .item {
    padding: 2.976vw 2.381vw;
    gap: 1.19vw;
  }
}


/* ========================================
@media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
.main-title {
  margin-bottom: 0;
}
  /* fv
-------------------------------------*/
.fv {
  max-width: 100vw;
  margin-inline: auto;
  width: 100%;
  position: relative;
  background: #F4F4F4;
}
.fv .ttl-box {
  background: #FFFFFF;
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  margin-top: -7vw;
  padding: 0 0 6vw;
  margin-bottom: -7vw;
  z-index: 2;
}
.fv .ttl-box h2 {
  font-size:7.729vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #141414;
  text-align: center;
  padding: 9.2vw 0 2.2vw;
  border-top: 3vw solid #141414;
  position: relative;
  top: -3vw;
  margin-bottom: -3vw;
}
.fv .ttl-box h2::before {
  content: "";
  position: absolute;
  top: 21.2vw;
  left: 2vw;
  width: 25vw;
  height: 25vw;
  background: url(../images/reform-wall/free-icon_sp.svg) no-repeat;
  background-size: contain;
  z-index: 2;
}
.fv .ttl-box::before {
  content: "";
  position: absolute;
  top: -22vw;
  left: 50%;
  transform: translateX(-50%);
  width: 58.215vw;
  height: 58.215vw;
  background: url(../images/reform-wall/reform-wall-icon_sp.svg) no-repeat;
  background-size: contain;
}
.fv .price-frame {
  /* display: flex; */
  align-items: baseline;
  gap: 10vw;
  /* width: 86.5vw; */
  position: relative;
  background: #FFFFFF;
  padding: 7vw 0 0 38vw;
  margin: 0 0 2.5vw;
}
.fv .price-frame .include {
  font-size:3.865vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border: 0.2vw solid #1C1C1C;
  padding: 1.5vw 1.4vw;
  width: 25vw;
  position: absolute;
  top: 6vw;
  right: 2.2vw;
}
.fv .price {
  display: inline-flex;
  gap: 1.7vw;
  font-size: 15.459vw;
  line-height: 1.197916;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  padding: 0;
}
.fv .price::after {
  content: "";
  position: absolute;
  bottom: 2vw;
  right: 0;
  width: 102%;
  height: 2.45vw;
  background: #FFDF4D;
  z-index: -1;
}
.fv .price .yen-mark {
  font-size:6.763vw;
  font-weight: 700;
  line-height: 2.62790;
  margin: 4vw 0 0 -7vw;
  color: #1C1C1C;
}
.fv .price .yen {
  font-size:6.763vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #1C1C1C;
  margin: 8vw 0 0;
}
.fv .txt {
  font-size:4.348vw;
  line-height: 1.7777;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  position: relative;
  background: #FFFFFF;
  width: 87vw;
  margin-inline: auto;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.worries .inner {
  width: 94.205vw;
  margin-inline: auto;
  padding: 22vw 0 40vw;
  text-align: center;
}
.worries h2 {
  font-weight: 700;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  margin: 0 0 40.9vw -5vw;
  text-align: center;
  position: relative;
}
.worries h2 .subt {
  font-size: 5.797vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 5vw;
  padding: 2.1vw 2.9vw;
  position: relative;
  margin: 0 0 2vw 33vw;
  width: 37.9vw;
}
.worries h2 .subt02 {
  margin: 2vw 0 0 5vw;
  display: inline-block;
  position: relative;
  font-size: 3.865vw;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
.worries h2 .subt02::after {
  content: "";
  position: absolute;
  top: -9.5vw;
  right: 3.5vw;
  width: 4.985vw;
  height: 5.53vw;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h3 {
  font-weight: 500;
  font-size: 3.865vw;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  margin-bottom: 44.7vw;
  text-align: center;
  line-height: 2.45;
  padding: 0 0 0 1.1vw;
}
.worries h3 span {
  border-bottom: 0.2vw solid #1C1C1C;
  padding: 0 0 1.2vw;
}
.worries .worries-box {
  background: #FFFFFF;
  border: 1.45vw solid #EFEFEF;
  padding: 5.5vw 0 2.8vw;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -39.2vw;
  left: 50%;
  width: 66.185vw;
  height: 43vw;
  background: url(../images/reform-wall/worries-photo_sp.png) no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -14.1vw;
  left: -4vw;
  width: 36.94vw;
  height: 28.42vw;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: 79.712vw;
  margin-inline: auto;
  display: grid;
  gap: 4vw;
  margin-bottom: 1vw;
}
.worries .worries-box .list li {
  color: #141414;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 0 3vw 5.2vw;
  border-bottom: 0.2vw dashed #8F8F8F;
  position: relative;
  text-align: left;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 2.1vw;
  left: 0vw;
  width: 4.35vw;
  height: 3.385vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  font-size:3.865vw;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.1em;
  text-align: right;
  margin: 0 5.4vw 0 0;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5vw;
  top: 13vw;
}


/* point
-------------------------------------*/
.point {
  background: url(../images/page-common/merit-bg_sp.png) repeat;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.point .inner {
  position: relative;
  display: grid;
  gap: 9.8vw;
  margin-top: -17.5vw;
  padding: 0 0 19.2vw;
}
.point .sec {
  width: 94.205vw;
  margin-inline: auto;
  border: 1vw solid #1C1C1C;
  background: #FFFFFF;
}
.point .sec h2 {
  background: #E2E2E2;
  padding: 7.2vw 0 7vw;
  text-align: center;
  font-size:5.797vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.point .sec .content {
  padding: 4.8vw 3.86vw 3.5vw;
  display: grid;
}
.point .sec .txt-box {
  order: 2;
}
.point .sec .txt-box .list {
  background: #EFEFEF;
  padding: 4.5vw 5vw 4.2vw;
  display: flex;
  gap: 2vw 8vw;
  margin: 4vw 0 4.5vw;
  flex-wrap: wrap;
}
.point .sec .txt-box .list li {
  font-size:3.865vw;
  line-height: 1.625;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
  padding: 0 0 0 6vw;
}
.point .sec .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 0.9vw;
  left: -1.5vw;
  width: 4.834vw;
  height: 4.834vw;
  background: url(../images/page-common/check-icon03.svg) no-repeat;
  background-size: contain;
}
.point .sec .txt-box .txt {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 2vw;
}
.point .sec .photo {
  order: 1;
  margin-bottom: 4.9vw;
}

/* point02 */
.point .point02 h2 {
  padding: 7.2vw 0 6.8vw;
}
.point .point02 .content02 {
    margin: -6.5vw 0 0;
    gap: 2.75vw;
}
.point .point02 .txt-box .link  {
  display: grid;
  gap: 6.8vw;
  margin: 0 0 0 9.8vw;
  padding: 3.2vw 0 2vw;
}
.point .point02 .txt-box .link li a {
  font-weight: 500;
  font-size:3.865vw;
  letter-spacing: 0.1em;
  line-height: 1.875;
  text-align: left;
  color: #2b6fac;
  position: relative;
  display: inline-block;
  border-bottom: 0.2vw solid #2B6FAC;
  padding: 0 0 0.5vw;
  text-decoration: none;
}
.point .point02 .txt-box .link li a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -10vw;
  width: 6.04vw;
  height: 6.04vw;
  background: url(../images/reform-wall/link-icon.svg) no-repeat;
  background-size: contain;
}


/* merit
-------------------------------------*/
.merit {
  border-bottom: 5vw solid #1C1C1C;
  position: relative;
}
.merit .inner::after {
  background: #D7000F;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 511.7vw;
  z-index: 1;
  pointer-events: none;
  transform: translateX(-50%);
}
.merit .inner {
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  padding: 36.8vw 0 14.5vw;
  margin-bottom: 14.5vw;
}
.merit h2 {
  font-size:7.729vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: center;
  margin-bottom: 11.5vw;
  position: relative;
  z-index: 3;
}
.merit h2 span {
  font-size:5.797vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.merit .enttl {
  position: absolute;
  top: 17vw;
  left: 49%;
  transform: translateX(-50%);
  z-index: 2;
  width: 56.8vw;
}
.merit .enttl img {}
.merit .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9.5vw;
  position: relative;
  z-index: 2;
}
.merit .txt-box {
  background: #FFFFFF;
  margin-top: -9.5vw;
  position: relative;
  z-index: 3;
  width: 82.126vw;
  margin-inline: auto;
  padding: 0 0 6vw;
}
.merit .txt-box .num {
  background: #1C1C1C;
  border: 0.2vw solid #FFFFFF;
  font-size:4.831vw;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 1vw 0;
  margin-bottom: 4.8vw;
}
.merit .txt-box .num span {
  color: #FDF202;
}
.merit .txt-box h3 {
  font-size:5.314vw;
  line-height: 1.81818;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3.65vw;
}
.merit .txt-box .txt {
  font-size:3.382vw;
  line-height: 1.87571428;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 6vw;
}
.merit .photo {
  text-align: center;
}

/* construction
-------------------------------------*/
.construction {
  background: url(../images/page-common/construction-bg_sp.png) repeat center center;
  background-size: contain;
}
.construction .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 13.5vw 0 13vw;
  text-align: center;
}
.construction h2 {
  display: inline-grid;
  gap: 2vw;
  position: relative;
  margin-bottom: 16.5vw;
  text-align: center;
}
.construction h2 img {
  width: 66vw;
}
.construction h2::after {
  content: "";
  position: absolute;
  bottom: -0.5vw;
  left: -3.8vw;
  width: 12.1vw;
  height: 14.16vw;
  background: url(../images/page-common/construction-deco.png) no-repeat;
  background-size: contain;
}
.construction h2 span {
  font-size:4.831vw;
  line-height: 1.88;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.construction .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12.5vw;
}
.construction .list li .inner-box {
  background: #FFFFFF;
  border: 1vw solid #1C1C1C;
  padding: 7.5vw 3.86vw 1.4vw;
  position: relative;
  margin-bottom: 1vw;
}
.construction .list li .num {
  font-size:6.28vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 50%;
  display: grid;
  place-items: center;
  width: 12.08vw;
  height: 12.08vw;
  position: absolute;
  top: -7vw;
  left: 50%;
  transform: translateX(-50%);
}
.construction .list li h3 {
  font-size:5.797vw;
  line-height: 1.416666;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  margin-bottom: 5vw;
  position: relative;
}
.construction .list li h3 span {
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.construction .list li h4 {
  background: #1C1C1C;
  font-size:4.348vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 2.66vw 0;
  width: 100%;
  display: block;
}
.construction .list li h4 span {
  font-size:3.865vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  top: -0.5vw;
}
.construction .list li .photo {
  margin-bottom: 4.4vw;
}
.construction .list li .txt {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 3.9vw;
  text-align: left;
}
.construction .list li .inBox {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0vw;
}
.construction .list li .inBox h4 {
  margin-bottom: 3vw;
}
.construction .list li .inBox .txt {
  letter-spacing: 0.1em;
}
.construction .list li .box01 {
  position: relative;
}
/* list01 */
.construction .list .list01 h3 {line-height: 1.1;margin: 1vw 0 5.5vw;}
/* list05 */
/* .construction .list .list05 h3 {width: 82.8vw;} */

/* plan
-------------------------------------*/
.plan {
  background: #FCCF00;
}
.plan .inner {
  padding: 16.2vw 0 29.2vw;
  width: 91.79vw;
  margin-inline: auto;
}
.plan h2 {
  font-size:5.797vw;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10vw;
}
.plan .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6.8vw;
  margin-bottom: 2vw;
}
.plan .list li {
  background: #FFFFFF;
  padding: 3.5vw 3.6vw 0vw;
}
.plan .list li h3 {
  background: #1C1C1C;
  border-radius: 9vw;
  font-size:5.314vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.8vw 0;
  gap: 3.6vw;
  height: 14.5vw;
  text-align: center;
}
.plan .list .content {
  display: grid;
  padding: 4.2vw 0 0;
  gap: 2vw;
}
.plan .list li .txt {
  font-weight: 500;
  font-size: 3.382vw;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: center;
  color: #141414;
  margin: 1vw 0 2vw;
}
.plan .list li .txt02 {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 1.7777;
  text-align: center;
  color: #141414;
  margin: 0 0 3vw;
}
.plan .list .content h4 {
  font-size:4.831vw;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: flex;
  gap: 1.8vw;
  justify-content: center;
}
.plan .list .content h4 span {
  font-size:3.865vw;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.plan .price {
  display: inline-flex;
  gap: 0.5vw;
  font-size:16.908vw;
  line-height: 1.1;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  align-items: baseline;
  margin: -1vw 0 -1vw;
  justify-content: center;
}
.plan .price::after {
  content: "";
  position: absolute;
  bottom: 5.2vw;
  left: 50%;
  width: 64vw;
  height: 2vw;
  background: #FFDF4D;
  z-index: -1;
  transform: translateX(-50%);
}
.plan .price .small {
  font-size:9.662vw;
  letter-spacing: 0;
  color: #D7000F;
  margin: 0 0 0 -2vw;
  position: relative;
  top: -1vw;
}
.plan .price .yen-mark {
  font-size:5.797vw;
  font-weight: 700;
  line-height: 2.5;
  color: #1C1C1C;
  position: relative;
  top: -2vw;
  left: 0vw;
}
.plan .price .yen {
  font-size:5.797vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #1C1C1C;
  position: relative;
  top: -2vw;
  margin: 0 -2vw 0 0px;
}
.plan .price .zei {
  font-size:2.898vw;
  letter-spacing: 0em;
  font-weight: 700;
  color: #1C1C1C;
  position: relative;
  top: -2vw;
  left: 2vw;
}
/* list04 */
.plan .list li:nth-child(4) h3 {padding: 10.5vw 0;line-height: 1.5;border-radius: 11vw;margin-bottom: 5.5vw;}
/* list05 */
.plan .list li:nth-child(5) {
  padding: 0;
  margin: 5vw 0 0;
}
.plan .list li:nth-child(5) h3 {
  border-radius: 0;
  padding: 7vw 0 30vw;
  gap: 0;
  position: relative;
  display: grid;
  font-size: 5.797vw;
}
.plan .list li:nth-child(5) h3::before {
  content: "";
  position: absolute;
  top: -7.2vw;
  left: 8vw;
  width: 23.3vw;
  height: 13.4vw;
  background: url(../images/reform-wall/plan05-ttl-deco_sp.png) no-repeat;
  background-size: contain;
}
.plan .list li:nth-child(5) h3 span{
  font-weight: bold;
  font-size:7.246vw;
  letter-spacing: 0.1em;
  line-height: 1.3333;
  color: #ff0;
  position: relative;
  margin: 0 0 3vw;
}
.plan .list li:nth-child(5) .inBox {padding: 5vw 3.6vw 7.5vw;display: grid;gap: 2vw;}
.plan .list li:nth-child(5) .txt {
    text-align: left;
    line-height: 1.857142;
    margin: 1vw 0 6vw;
}
.plan .campaign-btn img {
  width: 85vw;
}
.plan .bottom-box {
  text-align: center;
  padding: 8vw 0 0;
}
.plan .bottom-box h4 {
  font-size:3.865vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  padding-bottom: 4.4vw;
  border-bottom: 0.2vw solid #1C1C1C;
  display: inline-block;
  margin-bottom: 4vw;
}
.plan .bottom-box .txt {
  font-size:3.865vw;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 4vw;
  text-align: left;
}
.plan .bottom-box .txt span {
  font-weight: 500;
  display: block;
}
.plan .bottom-box .contact-btn {
  width:91.79vw;
  margin-inline: auto;
}

/* flow
-------------------------------------*/
.flow {
  background: #EFEFEF;
  position: relative;
}
.flow::before {
  content: "";
  position: absolute;
  top: -13.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 65vw;
  height: 65vw;
  background: url(../images/reform-wall/flow-bg-deco_sp.svg) no-repeat;
  background-size: contain;
}
.flow .inner {
  width: 91.79vw;
  margin-inline: auto;
  text-align: center;
  position: relative;
  top: -3vw;
  padding: 0 0 12vw;
}
.flow .enttl {
  font-size:4.348vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 400;
  padding-bottom: 2.4vw;
  display: inline-block;
  text-align: center;
  border-bottom: 0.2vw solid #1C1C1C;
  margin-bottom: 5.5vw;
  position: relative;
}
.flow h2 {
  font-size: 5.797vw;
  line-height: 1.555555;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 11vw;
  position: relative;
}
.flow h2 span {
  font-size: 4.348vw;
  line-height: 1.208333;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: block;
  margin: 0 0 1.2vw;
}
.flow .list {
  display: grid;
  gap: 12.2vw;
}
.flow .list li {
  background: #FFFFFF;
  position: relative;
}
.flow .list li:not(:last-child)::after {
  position: absolute;
  content: "";
  bottom: -13.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 10vw;
  height: 10vw;
  background: url(../images/reform-wall/flow-arrow.svg) no-repeat;
  background-size: contain;
}
.flow .list li .inBox {
  padding: 4.5vw 4.8vw 6vw;
  display: grid;
  gap: 7vw;
}
.flow .list li .num {
  font-size:4.831vw;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  color: #0488E5;
  position: relative;
}

.flow .list li .content {
  position: relative;
}
.flow .list li .content::after {
  position: absolute;
  content: "";
  background: #1188E5;
  width: 100%;
  height: 0.2vw;
  top: -5vw;
  left: 50%;
  transform: translateX(-50%);
}
.flow .list li .content h3 {
  font-size:4.348vw;
  line-height: 1.38888;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: flex;
  gap: 4.2vw;
  align-items: center;
  justify-content: center;
  margin: 0 0 6.2vw -10vw;
}
.flow .list li .content .txt {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
}
/* list01 */
.flow .list li:nth-child(1) .content h3 img {width: 7.6vw;}
/* list02 */
.flow .list li:nth-child(2) .content h3 {
    margin: -1vw 0 4.2vw -14vw;
}
.flow .list li:nth-child(2) .content h3 img {width: 10.6vw;}
/* list03 */
.flow .list li:nth-child(3) .content h3 {
  margin: 0vw 0 4.2vw -14vw;
}
.flow .list li:nth-child(3) .content h3 img {
  width: 6.6vw;
}
/* list04 */
.flow .list li:nth-child(4) .content h3 {
  margin: 0vw 0 4.2vw -13vw;
}
.flow .list li:nth-child(4) .content h3 img {
  width: 9.2vw;
  margin: -1vw 0 0 1vw;
}
.flow .list li:nth-child(4) .inBox {
    padding: 4.5vw 4.8vw 7vw;
}
/* list05 */
.flow .list li:nth-child(5) .content h3 {
  margin: 0vw 0 5.6vw -10vw;
}
.flow .list li:nth-child(5) .content h3 img {
  width: 7.2vw;
  margin: -1vw 0 0 0vw;
}

.flow .flow-list-box {
  background: rgba(4, 136, 229, 0.1);
  padding: 6.5vw 3.6vw;
  display: grid;
  gap: 4vw;
  margin: 6.2vw 0 0;
}
.flow .flow-list {
  display: grid;
  gap: 12.5vw;
  order: 2;
  justify-content: center;
}
.flow .flow-list li {
  font-size:4.348vw;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  background: none;
  text-align: center;
}
.flow .flow-list li span {
  font-size:3.865vw;
} 
.flow .flow-list li:first-child:after {
  content: none;
}
.flow .flow-list li:not(:first-child)::after {
  position: absolute;
  content: "";
  bottom: 9.4vw;
  left: 50%;
  transform: translateX(-50%);
  width: 4vw;
  height: 8vw;
  background: url(../images/reform-wall/flow-list-arrow.svg) no-repeat;
  background-size: contain;
}



/* works
-------------------------------------*/
.works .inner{
  width: 91.79vw;
  margin-inline: auto;
  padding: 15.6vw 0 0;
}
.works .enttl {
  font-weight: 400;
  font-size:4.348vw;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 7.2vw;
}
.works .enttl::after {
  content: "";
  position: absolute;
  bottom: -3vw;
  left: 50%;
  transform: translateX(-50%);
  width: 8.5vw;
  height: 0.2vw;
  background: #1C1C1C;
}
.works h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  color: #141414;
  margin-bottom: 9vw;
}


/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 9.2vw 0 24.2vw;
}
.menu h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 6.5vw;
}
.menu .menu-box {
  display: grid;
  gap: 7.5vw;
}
.menu .menu-box .upper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7.5vw;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item li {
  text-align: center;
}
.menu .menu-item.mizumawari .item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-item.gaisou .item,
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 5.8vw 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}


}