@charset "UTF-8";
.mv-catch {
   opacity: 0;
   transform: translateY(20px);
 }
 
/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {  
.util-btn {
   background: url(../images/index/util-btn-bg.png)no-repeat center center;
   background-size: contain;
   text-align: center;
}
.util-btn a {
   font-size: 20px;
   line-height: 1;
   font-weight: 500;
   letter-spacing: 0.1em;
   display: block;
   padding: 1.35rem 0;
}

/* sliderArea
-------------------------------------*/
#mv {
   max-width: 1920px;
   margin-inline: auto;
   width: 100%;
}

.slick-slider .slick-track, .slick-slider .slick-list {
   margin-bottom: 0!important;
}
.slick-slide img  {
   margin-inline: auto;
}
/* slide01
-------------------------------------*/
.slide01 {
   background: url(../images/index/mv-slide01.jpg)no-repeat center center;
   background-size: cover;
   padding: 150px 0 113px;
}
.slide01 .inner {
   width: min(95%, 1002px);
   margin-inline: auto;
   position: relative;
}
.slide01 .area {
   font-weight: 500;
   font-size: 16px;
   line-height: 1.625;
   color: #141414;
   display: inline-flex;
   align-items: center;
   background: #FFFFFF;
   gap: 13px;
   position: relative;
   left: 31px;
   padding: 6px 19px 6px 47px;
   letter-spacing: 0;
   margin-bottom: 81px;
}
.slide01 .area::before {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 16px;
   width: 21px;
   height: 30px;
   background: url(../images/index/area-icon.svg)no-repeat;
   background-size: contain;
}
.slide01 .area span {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.12em;
   line-height: 1.3888;
   text-align: left;
   color: #0488e5;
}
.slide01 h1 {
    margin-bottom: -31px;
}
.slide01 h2 {
   text-align: center;
   position: relative;
   z-index: 2;
}
.slide01 h3 {
   text-align: center;
}
.slide01 .label {
   position: absolute;
   bottom: -74px;
   right: -26px;
}

/* slide02
-------------------------------------*/
.slide02 .inner {
   width: min(95%, 1600px);
   margin-inline: auto;
   padding: 118px 0 55px;
}
.slide02 .area {
   font-weight: 500;
   font-size: 16px;
   line-height: 1.625;
   color: #141414;
   display: grid;
   align-items: center;
   background: #FFFFFF;
   gap: 6px;
   position: relative;
   padding: 6px 19px 6px 47px;
   letter-spacing: 0;
   margin-bottom: 25px;
   width: 936px;
   margin-left: auto;
}
.slide02 .area::after {
   content: "";
   position: absolute;
   top: -6px;
   right: -1px;
   width: 179px;
   height: 120px;
   background: url(../images/index/area-img.svg)no-repeat;
   background-size: contain;
   z-index: 2;
}
.slide02 .area span {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.12em;
   line-height: 1.3888;
   text-align: left;
   color: #0488e5;
   display: block;
}
.slide02 .mv-box {
   position: relative;
}
.slide02 h2 {
   position: absolute;
   bottom: 49px;
   left: 50%;
   transform: translateX(-50%);
}
.slide02 .label {
   position: absolute;
   bottom: -37px;
   right: -54px;
}
/* slide03
-------------------------------------*/
.slide03 {
   background: url(../images/index/mv-slide03-bg.png)no-repeat;
   background-size: cover;
   padding: 129px 0 0;
}
.slide03 .inner {
   background: url(../images/index/mv-slide03-innerBg.png)no-repeat;
   background-size: cover;
   width: min(95%, 1280px);
   margin-inline: auto;
   position: relative;
   text-align: center;
   padding: 0 0 29px;
   margin-top: -23px;
}
.slide03 .inner::before {
   content: "";
   position: absolute;
   bottom: 26px;
   left: 159px;
   width: 159px;
   height: 132px;
   background: url(../images/index/slide03-human.png)no-repeat;
   background-size: contain;
   z-index: 1;
}
.slide03 .inner::after {
   position: absolute;
   content: "";
   bottom: -5px;
   right: 207px;
   width: 111px;
   height: 194px;
   background: url(../images/index/slide03-staff.png)no-repeat;
   background-size: contain;
}
.slide03 .area {
   font-weight: 500;
   font-size: 16px;
   line-height: 1.625;
   color: #141414;
   display: grid;
   align-items: center;
   background: #FFFFFF;
   gap: 6px;
   padding: 17px 15px;
   letter-spacing: 0;
   margin-bottom: 25px;
   width: 399px;
   margin-left: auto;
   top: 34px;
   margin-right: 0px;
   position: relative;
   text-align: left;
}
.slide03 .area::after {
   content: "";
   position: absolute;
   top: -43px;
   right: -58px;
   width: 179px;
   height: 120px;
   background: url(../images/index/area-img.svg)no-repeat;
   background-size: contain;
   z-index: 2;
}
.slide03 .area span {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.12em;
   line-height: 1.3888;
   text-align: left;
   color: #0488e5;
   display: block;
   margin: 0 0 4px;
}
.slide03 h2 {
   text-align: center;
   position: relative;
   z-index: 2;
   margin-top: -112px;
   display: inline-block;
}
.slide03 h2::after {
   content: "";
   position: absolute;
   top: 10px;
   width: 113px;
   height: 100px;
   background: url(../images/index/slide03-deco.svg) no-repeat center center;
   background-size: contain;
   left: -73px;
}
.slide03 .en-deco {
   position: absolute;
   top: 14px;
   left: -117px;
}
.slide03 .deco {
   position: absolute;
   top: 38px;
   left: 341px;
}
.slide03 .label {
   position: absolute;
   bottom: 29px;
   right: -13px;
}
.slide03 .photo {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   margin-top: -31px;
   margin-bottom: 17px;
}
.slide03 .subt {
   font-weight: bold;
   font-size: 27px;
   letter-spacing: 0.1em;
   line-height: 1.51851;
   text-align: center;
   color: #141414;
   display: inline-block;
   margin-left: -13px;
   margin-bottom: 15px;
   position: relative;
}
.slide03 .subt::before {
   content: "";
   position: absolute;
   top: -112px;
   left: -105px;
   width: 112px;
   height: 112px;
   background: url(../images/index/slide03-subt-deco.svg) no-repeat;
   background-size: contain;
}
.slide03 .subt span {
   background: linear-gradient(transparent 77%, #FDF202 10%);
}
.slide03 .subt02 {
   font-weight: 500;
   font-size: 15px;
   letter-spacing: 0.1em;
   line-height: 1.2666;
   text-align: center;
   color: #141414;
   margin-bottom: 18px;
}
.slide03 .btn {
   width: min(95%, 669px);
   margin-inline: auto;
}  
.logo-wrap.is-white-bg {
   background-color: #fff;
   padding: 5px;
 }


/* reason
-------------------------------------*/
#reason .inner {
   width: min(95%, 1480px);
   margin-inline: auto;
   padding: 6.5rem 0 17.9rem;
 }
 #reason .en-ttl {
   font-size: 36px;
   line-height: 1;
   letter-spacing: 0em;
   font-weight: 400;
   text-align: center;
   position: relative;
   margin-bottom: 3.85rem;
 }
 #reason .en-ttl::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -1.7rem;
   width: 5.9375rem;
   height: 2px;
   background-color: #1C1C1C;
 }
 #reason h2 {
   text-align: center;
   margin-bottom: 7.35rem;
 }
 #reason .list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 5rem;
   margin-bottom: 5.4rem;
 }
 #reason .list li {
   position: relative;
 }
 #reason .list li h3 {
   position: absolute;
   top: -3.7rem;
   left: -2.25rem;
 }
 #reason .list li .photo {
   margin-bottom: 1.95rem;
 }
 #reason .list li .num-wrap {
   display: flex;
   gap: 1.7rem;
   margin-bottom: 0.7rem;
 }
 #reason .list li .num {
   font-size: 40px;
   line-height: 1;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: rgba(4, 136, 229, 0.3);
   padding: 0.5rem 0 0;
 }
 #reason .list li h4 {
   font-size: 24px;
   line-height: 1.5833333333;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #0488E5;
 }
 #reason .list li:nth-child(2) h4,
 #reason .list li:nth-child(3) h4 {
   letter-spacing: 0.1em;
 }
 #reason .list li .txt {
   font-size: 16px;
   line-height: 1.875;
   letter-spacing: 0.05em;
   font-weight: 500;
 }
 #reason .util-btn {
   width: min(95%, 542px);
   margin-inline: auto;
 }

 /* reform
 -------------------------------------*/
 #reform {
   background: url(../images/index/reform-bg.png) no-repeat center center/cover;
 }
 #reform .inner {
   width: min(95%, 1200px);
   margin-inline: auto;
   padding: 0 0 8.75rem;
 }
 #reform .ttl-box {
   background: #FFFFFF;
   position: relative;
   top: -8.7rem;
   width: min(95%, 940px);
   margin-inline: auto;
   padding: 0 0 3.7rem;
   margin-bottom: -1rem;
 }
 #reform .ttl-box::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -2.75rem;
   width: 117px;
   height: 45px;
   background: url(../images/index/ttl-box-arrow.svg) no-repeat center center/contain;
 }
 #reform .en-ttl {
   font-size: 36px;
   line-height: 1;
   letter-spacing: 0em;
   font-weight: 400;
   text-align: center;
   position: relative;
   margin-bottom: 3.85rem;
   color: #0096DF;
 }
 #reform .en-ttl::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -1.35rem;
   width: 5.9375rem;
   height: 2px;
   background-color: #0096DF;
 }
 #reform h2 {
   text-align: center;
 }
 #reform .subt-box {
   position: relative;
   text-align: center;
   padding: 0 0 2.65rem;
 }
 #reform .subt-box::before {
   position: absolute;
   content: "";
   top: 17px;
   left: 50px;
   width: 137px;
   height: 181px;
   background: url(../images/index/reform-deco.png) no-repeat;
   background-size: contain;
 }
#reform .subt-box::after {
   position: absolute;
   content: "";
   bottom: 0;
   right: 57px;
   width: 154px;
   height: 234px;
   background: url(../images/index/reform-staff.png) no-repeat;
   background-size: contain;
}
 #reform .subt01 {
   font-size: 29px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 500;
   text-align: center;
   color: #FFFFFF;
   display: inline-block;
   position: relative;
   margin-bottom: 1.25rem;
 }
 #reform .subt01::before,
 #reform .subt01::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#reform .subt01::before {
  background: url(../images/index/reform-subt-line-l.svg)no-repeat;
  background-size: contain;
  width: 18px;
  height: 37px;
  left: -30px;
}
#reform .subt01::after {
  background: url(../images/index/reform-subt-line-r.svg)no-repeat;
  background-size: contain;
  width: 18px;
  height: 37px;
  right: -27px;
}
 #reform .subt02 {
   font-size: 32px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   text-align: center;
   color: #FFFFFF;
   margin-bottom: 2.5rem;
 }
 #reform .subt02 span {
   font-size: 40px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   color: #FDF202;
 }
 #reform .subt03 {
   text-align: center;
 }

 #reform .list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10rem 3rem;
 }
 #reform .list li {
   border-top: 15px solid #2B6FAC;
   background: #FFFFFF;
   position: relative;
   z-index: 5;
 }
 #reform .list li:first-child {
   grid-column: 1/-1;
   padding: 0;
 }

 /* list */
 #reform .list li .content {
   position: relative;
   background: #fff;
   z-index: 2;
   padding: 2.5rem 0 0;
 }
 #reform .list li .icon {
   position: absolute;
   top: -7.5rem;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
 }
#reform .list li h3 {
    text-align: center;
    margin-bottom: 1.8rem;
}
 #reform .list li .txt {
   font-size: 16px;
   line-height: 1.875;
   letter-spacing: 0.1em;
   font-weight: 500;
   margin-bottom: 1.45rem;
 }
 #reform .list li .bottom {
    padding: 0rem 2.5rem 2.5rem;
}
 #reform .price-frame {
   display: grid;
   align-items: baseline;
   gap: 4.7rem;
   margin-bottom: -0.2rem;
   grid-template-columns: 20.56% 1fr;
 }
 #reform .price-frame .include {
   font-size: 16px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   border: 1px solid #1C1C1C;
   padding: 0.47rem 0.4rem;
   width: 103px;
   position: relative;
   top: 2px;
 }
 #reform .price {
   display: inline-flex;
   gap: 5px;
   font-size: 96px;
   line-height: 1.0747663551;
   letter-spacing: 0em;
   font-weight: 700;
   color: #D7000F;
   position: relative;
   z-index: 2;
 }
 #reform .price::after {
   content: "";
   position: absolute;
   bottom: 24px;
   left: 0;
   width: 100%;
   height: 15px;
   background: #FFDF4D;
   z-index: -1;
 }
 #reform .price .small {
   font-size: 66px;
   font-weight: 700;
   line-height: 1.7424;
   margin: 17px 0 0 -5px;
 }
 #reform .price .yen {
   font-size: 43px;
   line-height: 2.58;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #1C1C1C;
   margin: 18px 0 0;
 }

 #reform .btn a{
   font-size: 16px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   background: #E5A700;
   color: #FFFFFF;
   border-radius: 2.5rem;
   display: block;
   padding: 1.05rem 0;
   text-align: center;
   width: 495px;
   position: relative;
 }
 #reform .btn a::after {
   position: absolute;
   content: "";
   top: 50%;
   right: 2.5rem;
   transform: translateY(-50%);
   width: 12px;
   height: 13px;
   background: url(../images/index/reform-btn-arrow.svg) no-repeat center center;
   background-size: contain;
 }

 /* set */
 #reform .list .set h3{
    margin-bottom: 1rem;
}
 #reform .set .cate {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   justify-content: space-between;
   margin-bottom: 1.4rem;
   width: 31.5rem;
 }
 #reform .set .cate span {
   font-size: 22px;
   line-height: 1;
   letter-spacing: 0.05em;
   font-weight: 700;
   border: 1px solid #0488E5;
   border-radius: 3.125rem;
   color: #0488E5;
   text-align: center;
   padding: 0.7rem 0;
   width: 114px;
 }
 #reform .set .cate span:last-child {
   width: 126px;
 }
 #reform .list li.set .bottom {
   padding: 1.7875rem 0rem 2.5rem 2.5rem;
   display: flex;
   position: relative;
 }
#reform .set .right {
    position: absolute;
    top: 2rem;
    right: 2.5rem;
}
 #reform .set .price-frame {
   display: flex;
   align-items: baseline;
   gap: 2.25rem;
   margin-bottom: 0.5rem;
 }
 #reform .set .price-frame .include {
   font-size: 19px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   border: 1px solid #1C1C1C;
   padding: 0.47rem 0.4rem;
   width: 120px;
   position: relative;
   top: -4px;
 }
 #reform .set .price {
   display: inline-flex;
   gap: 5px;
   font-size: 107px;
   line-height: 1.0747663551;
   letter-spacing: 0em;
   font-weight: 700;
   color: #D7000F;
   position: relative;
   z-index: 2;
 }
 #reform .set .price::after {
   content: "";
   position: absolute;
   bottom: 24px;
   left: 0;
   width: 100%;
   height: 15px;
   background: #FFDF4D;
   z-index: -1;
 }
 #reform .set .yen {
   font-size: 50px;
   line-height: 2.26;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #1C1C1C;
   margin: 22px 0 0;
 }
 #reform .list li.set .txt {
   margin: 0;
 }
#reform .list li.set .btn a{ width: 515px;        padding: 1.05rem 0 1.05rem 1rem;}

/* special
-------------------------------------*/
#special {
   background: url(../images/index/special-bg.jpg) no-repeat top center/contain;
   max-width: 1920px;
   margin-inline: auto;
   width: 100%;
}
#special .inner {
   width: min(95%, 1200px);
   margin-inline: auto;
   padding: 14.6rem 0 10rem;
}
#special h2 {
   display: grid;
   align-items: center;
   position: relative;
   text-align: center;
   gap: 3.4rem;
   z-index: 2;
   margin-bottom: 11.8rem;
}
#special h2 span {
   font-weight: bold;
   font-size: 30px;
   letter-spacing: 0.1em;
   line-height: 1;
   color: #141414;
   display: block;
}
#special h2::after {
   position: absolute;
   content: "";
   top: -8.8rem;
   left: 51.7%;
   transform: translateX(-50%);
   width: 27.375rem;
   height: 16.563rem;
   background: url(../images/index/special-en-ttl.svg) no-repeat center center;
   background-size: contain;
   z-index: -1;
}
#special .list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10.35rem 3.125rem;
   position: relative;
 }
 #special .list li {
   background: #FFFFFF;
   position: relative;
   z-index: 5;
   outline: 3px solid  #1C1C1C;
 }
 #special .list li .content {
   position: relative;
   background: #fff;
   z-index: 2;
   padding: 1.6rem 0 0;
 }
 #special .list li .icon {
   position: absolute;
   top: -6.65rem;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
 }
#special .list li h3 {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 40px;
    line-height: 2.1;
    font-weight: 700;
    letter-spacing: 0.1em;
}
#special .list li .content .photo img {
   width: 100%;
   height: auto;
}
 #special .list li .txt {
   font-size: 16px;
   line-height: 1.875;
   letter-spacing: 0.1em;
   font-weight: 500;
   margin-bottom: 2.1rem;
 }
 #special .list li .bottom {
    padding: 0rem 2.3rem 2.3rem;
}
 #special .price-frame {
   display: grid;
   align-items: baseline;
   gap: 3.7rem;
   margin-bottom: -0.5rem;
   grid-template-columns: 20.56% 1fr;
 }
 #special .price-frame .include {
   font-size: 16px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   border: 1px solid #1C1C1C;
   padding: 0.47rem 0.4rem;
   width: 103px;
   position: relative;
   top: -5px;
 }
 #special .price {
   display: inline-flex;
   gap: 6px;
   font-size: 110px;
   line-height: 1.0454545;
   letter-spacing: 0em;
   font-weight: 700;
   color: #D7000F;
   position: relative;
   z-index: 2;
   padding: 0.25rem 0 0;
 }
 #special .price::after {
   content: "";
   position: absolute;
   bottom: 24px;
   left: 0;
   width: 100%;
   height: 15px;
   background: #FFDF4D;
   z-index: -1;
 }
 #special .price .small {
   font-size: 66px;
   font-weight: 700;
   line-height: 1.7424;
   margin: 10px 0 0 -14px;
 }
 #special .price .yen {
   font-size: 50px;
   line-height: 2.26;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #1C1C1C;
   margin: 1.5rem 0 0;
 }

 #special .btn a{
   font-size: 16px;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   background: #0488E5;
   color: #FFFFFF;
   border-radius: 2.5rem;
   display: block;
   padding: 1.05rem 0 1.05rem 2.25rem;
   text-align: center;
   width: 495px;
   position: relative;
 }
 #special .btn a::after {
   position: absolute;
   content: "";
   top: 50%;
   right: 2.5rem;
   transform: translateY(-50%);
   width: 12px;
   height: 13px;
   background: url(../images/index/reform-btn-arrow.svg) no-repeat center center;
   background-size: contain;
 }

 /* taishin */
 #special .list li.taishin::before {
   content: "";
   position: absolute;
   top: -14.2rem;
   left: 0;
   width: 153px;
   height: 249px;
   background: url(../images/index/special-staff.png) no-repeat center center;
   background-size: contain;
   z-index: -1;
 }
  /* renovation */
  #special .list li.renovation .price {
   font-size: 96px;
   line-height: 1.1979;
 }
 #special .list li.renovation .price .yen {margin: 1.15rem 0 0;}
 #special .list li.renovation .price-frame {gap: 2.8rem;}


 /* showroom
-------------------------------------*/
#showroom {
   background: url(../images/index/mv-slide03-bg.png)no-repeat;
   background-size: cover;
   padding: 109px 0 0;
}
#showroom .inner {
   background: url(../images/index/showroom-innerBg.png)no-repeat;
   background-size: cover;
   width: min(95%, 1600px);
   margin-inline: auto;
   position: relative;
   padding: 66px 302px 42px;
   text-align: center;
   margin-bottom: 31px;
}
#showroom h2 {
   font-weight: bold;
   font-size: 50px;
   letter-spacing: 0.05em;
   line-height: 1.36;
   color: #141414;
   text-align: center;
   position: relative;
   margin-bottom: 28px;
}
#showroom h2 span {
   display: inline-block;
   margin-inline: auto;
   text-align: center;
   background: linear-gradient(transparent 77%, #FDF202 10%);
   margin-top: 17px;
}
#showroom h2::before {
   content: "";
   position: absolute;
   top: -83px;
   right: 133px;
   width: 170px;
   height: 170px;
   background: url(../images/index/showroom-deco.svg);
   background-size: contain;
}
#showroom .subt {
   position: relative;
   z-index: 2;
   margin-bottom: -50px;
}
#showroom .en-deco {
   position: absolute;
   top: -78px;
   left: 36px;
}
#showroom .deco {
   position: absolute;
   bottom: 145px;
   left: 160px;
   z-index: 2;
}
#showroom .label {
   position: absolute;
   bottom: 132px;
   right: 201px;
   z-index: 2;
}
#showroom .staff {
   position: absolute;
   top: 105px;
   right: 230px;
}
#showroom .photo {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   margin-bottom: 26px;
   position: relative;
   z-index: 1;
}
#showroom .txt01 {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.1em;
   line-height: 2;
   text-align: center;
   color: #141414;
   margin-bottom: 33px;
}
#showroom .txt02 {
   margin: 0 24px 0 0;
}
#showroom .btn {
   width: min(95%, 669px);
   margin-inline: auto;
   position: relative;
   top: 53px;
} 
#showroom .info {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 1.875;
   text-align: center;
   color: #fff;
   margin-bottom: -25px;
}

/* topic
-------------------------------------*/
#topic .inner {
   width: min(95%, 1280px);
   margin-inline: auto;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 5rem;
   padding: 16.3rem 0 8.8rem;
}
#topic .sec-box {
   background: #141414;
   padding: 1.8625rem 1.25rem 1.25rem;
   margin-bottom: 2.5rem;
}
#topic .campaign .txt {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 1.75;
   text-align: center;
   color: #1c1c1c;
   position: absolute;
   top: -4.5rem;
   left: 50%;
   transform: translateX(-50%);
   width: 33.19rem;
}
#topic .campaign .txt::before,
#topic .campaign .txt::after {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 52px;
   height: 2px;
   background-color: #1c1c1c;
}
#topic .campaign .txt::before {
   left: 7px;
   transform: rotate(55deg);
}
#topic .campaign .txt::after {
   right: 7px;
   transform: rotate(-55deg);
}
#topic .en-ttl {
   font-weight: 300;
   font-size: 20px;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: center;
   color: #fff;
   margin-bottom: 1.15rem;
}
#topic h2 {
   font-weight: bold;
   font-size: 28px;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: center;
   color: #fff;
   margin-bottom: 1.65rem;
}
#topic .system-list {
   background: #FFFFFF;
   grid-template-columns: 1fr;
   box-sizing: border-box;
   max-height: 25.19rem;
}
#topic .system-list {
   padding: 1.875rem 1.25rem 1.875rem;
}
#topic .system-pic img {
   height: 21.15rem;
}
#topic .util-btn {
   width: min(95%, 542px);
   margin-inline: auto;
}
#topic .util-btn a {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 1;
   padding: 1.45rem 0;
}
/* campaign */
#topic .campaign {
   position: relative;
}
/* news */
#topic .news .system-list {
   overflow-y: scroll;
}
#topic .news .system-list li a {
   display: grid;
   grid-template-columns: 40.6% 1fr;
   gap: 1.25rem;
}
#topic .news .system-list {padding: 2.875rem 1.25rem 1.5625rem 2.5rem;gap: 1.5rem 0;}
#topic .news .system-pic img {height: 8.5rem;}
#topic .news .system-category-set p {
   background: #0488E5;
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: center;
   color: #fff;
   display: inline-block;
   padding: 4px 20px;
   margin-bottom: 12px;
}
#topic .news .system-date {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.1em;
   line-height: 1.71428;
   margin-bottom: 0.4rem;
}
#topic .news .system-ttl-01 {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.1em;
   line-height: 1.71428;
}

/* works
-------------------------------------*/
#works {
   position: relative;
}
#works::before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   width: 100%;
   height: 174px;
   background: url(../images/index/works-bg.png) no-repeat top center;
   background-size: 100%;
   pointer-events: none;
   overflow: hidden;
}
#works::after {
   content: "";
   position: absolute;
   top: 170px;
   left: 0;
   height: 514px;
   width: 100%;
   background-color: #F0F0F0;
}
#works .inner {
   width: min(95%, 1600px);
   margin-inline: auto;
   position: relative;
   padding: 13.8rem 0 8.5rem;
   text-align: center;
   z-index: 5;
}
#works .en-ttl {
   position: absolute;
   top: 113px;
   left: 50%;
   transform: translateX(-50%);
}
#works h2 {
   text-align: center;
   position: relative;
   z-index: 2;
   margin-bottom: 2.05rem;
}
#works h3 {
   text-align: center;
   position: relative;
   display: inline-block;
}
#works h3::before {
   content: "";
   position: absolute;
   background: url(../images/index/works-staff01.png)no-repeat;
   background-size: contain;
   width: 139px;
   height: 238px;
   bottom: 36px;
   left: -176px;
}
#works h3::after {
   content: "";
   position: absolute;
   background: url(../images/index/works-staff02.png)no-repeat;
   background-size: contain;
   width: 133px;
   height: 240px;
   bottom: 36px;
   right: -160px;
}
#works .search-box {
   width: min(95%, 1200px);
   margin-inline: auto;
   background: #fff;
   border: 2px solid #53b0c1;
   margin-top: -2.4rem;
   position: relative;
   z-index: 2;
   margin-bottom: 4.95rem;
}
#works .search-box .inner {
   display: grid;
   grid-template-columns: 10% 1fr;
   gap: 1.85rem;
   padding: 2.125rem 4rem 2rem 3.5rem;
   align-items: flex-start;
}
#works .search-box .icon-box {
   display: grid;
   margin: 0.35rem 0 0;
   gap: 1.4rem;
}
#works .search-box .icon-box img {
    margin: 0 0 0 1.25rem;
}
#works .search-box .icon-box .txt {
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.1em;
   line-height: 1;
}
#works .search-box .item {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 1.25rem;
}
#works .search-box .item li a{
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1;
   text-align: center;
   color: #fff;
   display: block;
   padding: 0.8rem 0 1.0125rem;
}
#works .search-box .item li:nth-child(1) {background-color: #6C6B6B;}
#works .search-box .item li:nth-child(2) {background-color: #D54238;}
#works .search-box .item li:nth-child(3) {background-color: #F07E31;}
#works .search-box .item li:nth-child(4) {background-color: #EAA73B;}
#works .search-box .item li:nth-child(5) {background-color: #8AAB3B;}
#works .search-box .item li:nth-child(6) {background-color: #4C8228;}
#works .search-box .item li:nth-child(7) {background-color: #549BEB;}
#works .search-box .item li:nth-child(8) {background-color: #3173BE;}
#works .search-box .item li:nth-child(9) {background-color: #9C6AA5;}
#works .search-box .item li:nth-child(10) {background-color: #DC64BB;}

#works .system-list {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 0 2.5rem;
   margin-bottom: 5rem;
}
#works .system-list li {
   display: contents;
}
#works .system-list li a {
   display: block grid;
   grid-template-rows: subgrid;
   grid-row: span 4;
   margin-bottom: 3.75rem;
}
#works .system-pic {
   margin-bottom: 0;
}
#works .system-pic img {
   height: 17.5rem;
}
#works .system-category span {
   display: block;
   font-weight: bold;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 1;
   text-align: center;
   color: #fff;
   padding: 0.6rem 0;
   margin-bottom: 0.25rem;
}
#works .system-category span.icon01 {
   background-color: #D54238;
}
#works .system-category span.icon02 {
   background-color: #F07E31;
}
#works .system-category span.icon03 {
   background-color: #EAA73B;
}
#works .system-category span.icon04 {
   background-color: #8AAB3B;
}
#works .system-category span.icon05 {
   background-color: #4C8228;
}
#works .system-category span.icon06 {
   background-color: #549BEB;
}
#works .system-category span.icon07 {
   background-color: #3173BE;
}
#works .system-category span.icon08 {
   background-color: #9C6AA5;
}
#works .system-category span.icon09 {
   background-color: #DC64BB;
}
#works .system-ttl-01 {
   font-weight: 400;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: left;
   border-bottom: 1px solid #707070;
   padding: 0 0 0.5rem;
   margin-bottom: 0.5rem;
}
#works .system-name {
   font-weight: 400;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 1.71428;
   text-align: left;
   color: #1c1c1c;
}
#works .util-btn {
   width: min(95%, 542px);
   margin-inline: auto;
}
#works .util-btn a {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.1em;
   line-height: 1;
   padding: 1.35rem 0;
}

/* estimate
-------------------------------------*/
#estimate {
   background: url(../images/index/estimate-bg.png)no-repeat;
   background-size: cover;
   width: min(95%, 1400px);
   margin-inline: auto;
   line-height: 1;
   padding: 0;
   margin-bottom: 10.65rem;
}
#estimate .inner {
   margin-inline: auto;
   position: relative;
   text-align: center;
   padding: 6.4rem 0 7.3rem;
}
#estimate .subt {
   font-weight: bold;
   font-size: 26px;
   letter-spacing: 0.05em;
   line-height: 1;
   text-align: center;
   background: #FFFFFF;
   border-radius: 2.5rem;
   position: relative;
   display: inline-block;
   padding: 0.7rem 1.905rem 0.8rem;
   margin-bottom: 0.5rem;
}
#estimate .subt::after {
   content: "";
   position: absolute;
   bottom: -9px;
   left: 50%;
   transform: translateX(-50%);
   width: 23px;
   height: 20px;
   background: url(../images/index/estimate-subt-arrow.svg) no-repeat center center;
   background-size: contain;
}
#estimate h2 {
   font-weight: bold;
   font-size: 56px;
   letter-spacing: 0.1em;
   line-height: 1.5;
   text-align: center;
   color: #141414;
   position: relative;
   z-index: 2;
   margin-bottom: 8.25rem;
}
#estimate h2 span {
   position: relative;
}
#estimate h2 span::after {
   content: "";
   position: absolute;
   top: 1rem;
   right: -5.5rem;
   width: 51px;
   height: 60px;
   background: url(../images/index/estimate-deco.svg) no-repeat center center;
   background-size: contain;
}
#estimate .en-ttl {
   position: absolute;
   top: 10.2rem;
   left: 50%;
   transform: translateX(-50%);
}
#estimate.form-Box .form-box-inner {
   position: relative;
}
#estimate.form-Box .form-box-inner::before {
   content: "";
   position: absolute;
   top: -9.6rem;
   left: 9.2rem;
   width: 204px;
   height: 195px;
   background: url(../images/index/estimate-deco.png) no-repeat center center;
   background-size: contain;
}

/* area
-------------------------------------*/
#area {
   background: #212121;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
}
#area .txt-box {
   position: relative;
   padding: 7.35rem 9.5rem 4rem;
}
#area .txt-box::before {
   content: "";
   position: absolute;
   top: 3.875rem;
   left: -29.7rem;
   width: 37.8133rem;
   height: 15.625rem;
   background: url(../images/index/area-map-point.svg) no-repeat;
   background-size: contain;
}
#area .en-ttl {
   position: absolute;
   top: 3.35rem;
   left: 3.35rem;
}
#area h2 {
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0.1em;
   line-height: 0.9375;
   color: #fff;
   margin-bottom: 3.24rem;
}
#area .area-box {
}
#area .area-box span{
   background: #FFFFFF;
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   color: #212121;
   padding: 0.2rem 0.97rem;
}
#area .area-box .txt {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.75;
   color: #fff;
   margin: 0.9rem 0 0.25rem;
}
#area .area-box .desc {
   font-weight: 400;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 2.142857;
   color: #fff;
}

/* voice
-------------------------------------*/
#voice {
   max-width: 1920px;
   margin-inline: auto;
   width: 100%;
   overflow: hidden;
}
#voice .ttl-box {
   width: min(95%, 974px);
   margin-inline: auto;
   display: flex;
   gap: 1.65rem;
   position: relative;
   padding: 11.6rem 0 2.15rem;
}
#voice .ttl-box::after {
   content: "";
   position: absolute;
   bottom: -14.75rem;
   right: -10.7rem;
   width: 32.438rem;
   height: 26.25rem;
   background: url(../images/index/voice-photo.png) no-repeat center center;
   background-size: contain;
}
#voice h2 {
   font-weight: bold;
   font-size: 40px;
   letter-spacing: 0.1em;
   line-height: 2.1;
   position: relative;
   z-index: 2;
}
#voice h2::before {
   content: "";
   position: absolute;
   top: 0.2rem;
   left: -7rem;
   width: 5.688rem;
   height: 4.75rem;
   background: url(../images/index/voice-deco.svg) no-repeat;
   background-size: contain;
}
#voice .ttl-box .txt {
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 1.875;
   margin: 0.65rem 0 0;
}
#voice .ttl-box .en-ttl {
   position: absolute;
   top: 3.2rem;
   left: -2.55rem;
}
#voice .system-list {
   margin-bottom: 4.375rem;
}
#voice .system-pic {
   border: 1px solid #707070;
   background: #fff;
   padding: 20px;
   margin-bottom: 1.65rem;
}
#voice .system-pic img {
   height: 22.25rem;
}
#voice .system-name {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: left;
   color: #fff;
   display: inline-block;
   padding: 0.25rem 1rem;
   margin-bottom: 1rem;
}
#voice .system-name.has-bg {
   background: #0488e5;
}
#voice .system-list li {
   width: 540px;
   margin: 0 15px;
}
#voice .next-arrow,
#voice .prev-arrow {
   position: absolute;
   left: 50%;
   top: 36.5%;
   transform: translate(-50%, -50%);
   z-index: 3;
}
#voice .next-arrow {
  margin-left: 820px;
  width: 60px;
}
#voice .prev-arrow {
  margin-left: -820px;
  width: 60px;
}
#voice .util-btn {
   width: min(95%, 542px);
   margin-inline: auto;
   background-size: contain;
}

/* bnr-box
-------------------------------------*/
#bnr-box .inner {
   width: min(95%, 1400px);
   margin-inline: auto;
   padding: 10rem 0;
}
#bnr-box .bnr-list01 {
   width: min(95%, 1200px);
   margin-inline: auto;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 2.5rem;
   margin-bottom: 4.95rem;
}
#bnr-box .bnr-list01 img {
   margin-bottom: 1rem;
}
#bnr-box .bnr-list01 .txt {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 1.875;
}
#bnr-box .bottom-box {
   background: #EFEDDF;
}
#bnr-box .bottom-box .inner {
   padding: 2.8125rem 0;
   display: flex;
   gap: 5rem;
   width: min(95%, 921px);
   margin-inline: auto;
   align-items: center;
}
#bnr-box .bottom-box .inner .bnr-list02 {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 3.125rem;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* slide01
-------------------------------------*/
.slide01 {
   background: url(../images/index/mv-slide01.jpg)no-repeat center center;
   background-size: cover;
   padding: 7.817vw 0 5.888vw;
}
.slide01 .inner {
   width: min(95%, 1002px);
   margin-inline: auto;
   position: relative;
}
.slide01 .area {
   font-weight: 500;
   font-size: 0.834vw;
   line-height: 1.625;
   color: #141414;
   display: inline-flex;
   align-items: center;
   background: #FFFFFF;
   gap: 0.677vw;
   position: relative;
   left: 1.615vw;
   padding: 0.313vw 0.99vw 0.313vw 2.449vw;
   letter-spacing: 0;
   margin-bottom: 4.221vw;
}
.slide01 .area::before {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 0.834vw;
   width: 1.094vw;
   height: 1.563vw;
   background: url(../images/index/area-icon.svg)no-repeat;
   background-size: contain;
}
.slide01 .area span {
   font-weight: 500;
   font-size: 0.938vw;
   letter-spacing: 0.12em;
   line-height: 1.3888;
   text-align: left;
   color: #0488e5;
}
.slide01 h1 {
    margin-bottom: -1.615vw;
}
.slide01 h1 img {
    width: 52.215vw;
}
.slide01 h2 {
   text-align: center;
   position: relative;
   z-index: 2;
}
.slide01 h2 img {
    width: 25.013vw;
}
.slide01 h3 {
   text-align: center;
}
.slide01 .label {
   position: absolute;
   bottom: -3.856vw;
   right: -1.355vw;
}
.slide01 .label img {
    width: 12.663vw;
}

/* slide02
-------------------------------------*/
.slide02 .inner {
   width: 83.377vw;
   margin-inline: auto;
   padding: 6.149vw 0 2.866vw;
}
.slide02 .area {
   font-weight: 500;
   font-size: 0.834vw;
   line-height: 1.625;
   color: #141414;
   display: grid;
   align-items: center;
   background: #FFFFFF;
   gap: 0.313vw;
   position: relative;
   padding: 0.313vw 0.99vw 0.313vw 2.449vw;
   letter-spacing: 0;
   margin-bottom: 1.303vw;
   width: 48.775vw;
   margin-left: auto;
}
.slide02 .area::after {
   content: "";
   position: absolute;
   top: -0.313vw;
   right: -0.052vw;
   width: 9.328vw;
   height: 6.253vw;
   background: url(../images/index/area-img.svg)no-repeat;
   background-size: contain;
   z-index: 2;
}
.slide02 .area span {
   font-weight: 500;
   font-size: 0.938vw;
   letter-spacing: 0.12em;
   line-height: 1.3888;
   text-align: left;
   color: #0488e5;
   display: block;
}
.slide02 .mv-box {
   position: relative;
}
.slide02 .mv-box .photo img {
    width: 83.377vw;
}
.slide02 h2 {
   position: absolute;
   bottom: 2.553vw;
   left: 50%;
   transform: translateX(-50%);
}
.slide02 h2 img {
    width: 46.274vw;
}
.slide02 .label {
   position: absolute;
   bottom: -1.928vw;
   right: -2.814vw;
}
.slide02 .label img {
    width: 12.663vw;
}

/* slide03
-------------------------------------*/
.slide03 {
   background: url(../images/index/mv-slide03-bg.png)no-repeat;
   background-size: cover;
   padding: 6.722vw 0 0;
}
.slide03 .inner {
   background: url(../images/index/mv-slide03-innerBg.png)no-repeat;
   background-size: cover;
   width: min(95%, 1280px);
   margin-inline: auto;
   position: relative;
   text-align: center;
   padding: 0 0 1.511vw;
   margin-top: -1.199vw;
}
.slide03 .inner::before {
   content: "";
   position: absolute;
   bottom: 1.355vw;
   left: 8.286vw;
   width: 8.286vw;
   height: 6.879vw;
   background: url(../images/index/slide03-human.png)no-repeat;
   background-size: contain;
   z-index: 1;
}
.slide03 .inner::after {
   position: absolute;
   content: "";
   bottom: -0.261vw;
   right: 10.787vw;
   width: 5.784vw;
   height: 10.109vw;
   background: url(../images/index/slide03-staff.png)no-repeat;
   background-size: contain;
}
.slide03 .area {
   font-weight: 500;
   font-size: 0.834vw;
   line-height: 1.625;
   color: #141414;
   display: grid;
   align-items: center;
   background: #FFFFFF;
   gap: 0.313vw;
   padding: 0.886vw 0.782vw;
   letter-spacing: 0;
   margin-bottom: 1.303vw;
   width: 20.792vw;
   margin-left: auto;
   top: 1.772vw;
   margin-right: 0px;
   position: relative;
   text-align: left;
}
.slide03 .area::after {
   content: "";
   position: absolute;
   top: -2.241vw;
   right: -3.022vw;
   width: 9.328vw;
   height: 6.253vw;
   background: url(../images/index/area-img.svg)no-repeat;
   background-size: contain;
   z-index: 2;
}
.slide03 .area span {
   font-weight: 500;
   font-size: 0.938vw;
   letter-spacing: 0.12em;
   line-height: 1.3888;
   text-align: left;
   color: #0488e5;
   display: block;
   margin: 0 0 0.208vw;
}
.slide03 h2 {
   text-align: center;
   position: relative;
   z-index: 2;
   margin-top: -5.836vw;
   display: inline-block;
}
.slide03 h2::after {
   content: "";
   position: absolute;
   top: 0.521vw;
   width: 5.888vw;
   height: 5.211vw;
   background: url(../images/index/slide03-deco.svg) no-repeat center center;
   background-size: contain;
   left: -3.804vw;
}
.slide03 h2 img {
    width: 23.606vw;
}
.slide03 .en-deco {
   position: absolute;
   top: 1.73vw;
   left: -6.097vw;
}
.slide03 .en-deco img {
    width: 24.648vw;
}
.slide03 .deco {
   position: absolute;
   top: 1.98vw;
   left: 17.77vw;
}
.slide03 .deco img {
    width: 5.888vw;
}
.slide03 .label {
   position: absolute;
   bottom: 1.511vw;
   right: -0.677vw;
}
.slide03 .label img {
    width: 8.963vw;
}
.slide03 .photo {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   margin-top: -1.615vw;
   margin-bottom: 0.886vw;
}
.slide03 .photo img {
    width: 100%;
    height: auto;
}
.slide03 .subt {
   font-weight: bold;
   font-size: 1.407vw;
   letter-spacing: 0.1em;
   line-height: 1.51851;
   text-align: center;
   color: #141414;
   display: inline-block;
   margin-left: -0.677vw;
   margin-bottom: 0.782vw;
   position: relative;
}
.slide03 .subt::before {
   content: "";
   position: absolute;
   top: -5.836vw;
   left: -5.472vw;
   width: 5.836vw;
   height: 5.836vw;
   background: url(../images/index/slide03-subt-deco.svg) no-repeat;
   background-size: contain;
}
.slide03 .subt span {
   background: linear-gradient(transparent 77%, #FDF202 10%);
}
.slide03 .subt02 {
   font-weight: 500;
   font-size: 0.782vw;
   letter-spacing: 0.1em;
   line-height: 1.2666;
   text-align: center;
   color: #141414;
   margin-bottom: 0.938vw;
}
.slide03 .btn {
   width: 34.862vw ;
   margin-inline: auto;
} 
.slide03 .btn img {
   width: 100%;
   height: auto;
}
.logo-wrap.is-white-bg {
   background-color: #fff;
   padding: 0.661vw;
 } 
 
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1600px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
   .slide03 .en-deco {
      left: 1vw;
   }
}


/* ========================================
@media screen and (min-width:768px) and (max-width:1600px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1600px) {
   #reason .inner {
      width: 90.4vw;
   }
   #reason h2 img {
      width: 46.875vw ;
      height: auto;
   }
   #reason .list li .photo img {
      width: 100%;
      height: auto;
   }
   #reason .list li h3 img {
      width: 7.5vw;
      height: auto;
   }
   #reason .list li h4 {
      font-size: clamp(1.125rem, 0.779rem + 0.72vw, 1.5rem);
   }
   #reason .list li .num-wrap {
      gap: 1.688vw;
   }
   #reason .list li .txt {
      font-size: clamp(0.75rem, 0.519rem + 0.48vw, 1rem);
   }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
   #reason h2 img {
      width: 75vw ;
      height: auto;
   }
}

/* ========================================
media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
   #reform .inner {
      padding: 0 0 10.938vw;
   }
   #reform h2 img {
      width: 65.156vw;
   }
   #reform .ttl-box {
      top: -10.875vw;
      padding: 0 0 4.625vw;
      margin-bottom: -1.25vw;
   }
   #reform .en-ttl {
      margin-bottom: 4.813vw;
   }
   #reform .en-ttl::after {
      width: 7.422vw;
   }
   #reform .subt-box {
      padding: 0 0 3.313vw;
   }
   #reform .subt-box::before {
      position: absolute;
      content: "";
      top: 1.328vw;
      left: 3.906vw;
      width: 10.703vw;
      height: 14.141vw;
      background: url(../images/index/reform-deco.png) no-repeat;
      background-size: contain;
  }
   #reform .subt-box::after {
      position: absolute;
      content: "";
      bottom: 0;
      right: 4.453vw;
      width: 12.031vw;
      height: 18.281vw;
      background: url(../images/index/reform-staff.png) no-repeat;
      background-size: contain;
  }
   #reform .subt01 {
      font-size: 2.266vw;
      margin-bottom: 1.563vw;
   }
   #reform .subt02 {
      font-size: 2.5vw;
      margin-bottom: 3.125vw;
   }
   #reform .subt02 span {
      font-size: 3.125vw;
   }
   #reform .subt03 img {
      width: 57.813vw;
      height: auto;
   }
   #reform .list {
      gap: 12.5vw 3.75vw;
   }
   #reform .list .set h3 img {
      width: 48.75vw;
   }
   #reform .list .toilet h3 img {
      width: 29.063vw;
   }
   #reform .list .bath h3 img {
      width: 30vw;
   }
   #reform .list .kitchen h3 img {
      width: 33.828vw;
   }
   #reform .list .washroom h3 img {
      width: 26.25vw;
   }
   #reform .list li .photo img {
      width: 100%;
      height: auto;
   }
   #reform .list li .icon {
      top:-9.375vw;
   }
   #reform .list li .icon img {
      width: 18.828vw;
   }
   #reform .list li .content {
      padding: 3.125vw 0 0;
   }
   #reform .list li .txt {
      font-size: 1.25vw;
      margin-bottom: 1.812vw;
   }
   #reform .list li .bottom {
      padding: 0px 3.125vw 3.125vw;
   }
   #reform .price-frame {
      gap: 4.625vw;
      margin-bottom: -0.25vw;
   }
   #reform .price-frame .include {
      font-size: 1.25vw;
      padding: 0.588vw 0.5vw;
      width: 8.2vw;
   }
   #reform .price {
      font-size: 7.5vw;
   }
   #reform .price::after {
      bottom: 1.875vw;
      height: 1.172vw;
   }
   #reform .price .small {
      font-size: 5.156vw;
      margin: 1.35vw 0 0 -0.4vw;
   }
   #reform .price .yen {
      font-size: 3.359vw;
      margin: 1.406vw 0 0;
   }
   #reform .btn a {
      font-size: 1.25vw;
      padding: 1.313vw 0;
      width: 38.672vw;
   }
   #reform .btn a::after {
      right: 3.125vw;
   }
   #reform .list .set h3 {
      margin-bottom: 1.25vw;
   }
   #reform .set .cate {
      margin-bottom: 1.75vw;
      width: 39.375vw;
   }
   #reform .set .cate span {
      font-size: 1.719vw;
      padding: 0.875vw 0;
      width: 8.906vw;
   }
   #reform .set .cate span:last-child {
      width: 9.844vw;
   }
   #reform .list li.set .bottom {
      padding: 2.234vw 0 3.125vw 3.125vw;
   }
   #reform .set .right {
      top: 2.5vw;
      right: 3.125vw;
   }
   #reform .set .price-frame {
      gap: 2.813vw;
      margin-bottom: 0.625vw;
   }
   #reform .set .price-frame .include {
      font-size: 1.484vw;
      padding: 0.588vw 0.5vw;
      width: 9.475vw;
   }
   #reform .set .price {
      font-size: 8.359vw;
   }
   #reform .set .price::after {
      bottom: 1.875vw;
      height: 1.172vw;
   }
   #reform .set .yen {
      font-size: 3.906vw;
      margin: 1.719vw 0 0;
   }
   #reform .list li.set .btn a {
      width: 40.234vw;
      padding: 1.313vw 0 1.313vw 1.25vw;
   }


   /* special
   -------------------------------------*/
   #special .inner {
      padding: 18.25vw 0 12.5vw;
   }
   #special h2 {
      gap: 4.25vw;
      margin-bottom: 14.75vw;
   }
   #special h2 span {
      font-size: 2.344vw;
   }
   #special h2::after {
      top: -11vw;
      width: 34.219vw;
      height: 20.703vw;
   }
   #special .list {
      gap: 12.937vw 3.906vw;
   }
   #special .list li .icon {
      top:-9.375vw;
   }
   #special .list li .icon img {
      width: 18.828vw;
   }
   #special .list li .content {
      padding: 2vw 0 0;
   }
   #special .list li .icon {
      top: -8.312vw;
   }
   #special .list li h3 {
       margin-bottom: 1.25vw;
       font-size: 3.125vw;
   }
   #special .list li .txt {
      font-size: 1.25vw;
      margin-bottom: 2.625vw;
   }
   #special .list li .bottom {
      padding: 0px 2.875vw 2.875vw;
   }
   #special .price-frame {
      gap: 4.625vw;
      margin-bottom: -0.625vw;
   }
   #special .price-frame .include {
      font-size: 1.25vw;
      padding: 0.588vw 0.5vw;
      width: 8.2vw;
   }
   #special .price {
      font-size: 8.594vw;
      padding: 0.313vw 0 0;
   }
   #special .price::after {
      bottom: 1.875vw;
      height: 1.172vw;
   }
   #special .price .small {
      font-size: 5.156vw;
      margin: 0.781vw 0 0 -1.094vw;
   }
   #special .price .yen {
      font-size: 3.906vw;
      margin: 1.875vw 0 0;
   }
   #special .btn a {
      font-size: 1.25vw;
      border-radius: 3.125vw;
      padding: 1.313vw 0 1.313vw 2.813vw;
      width: 38.672vw;
   }
   #special .btn a::after {
      right: 3.125vw;
      width: 0.938vw;
      height: 1.016vw;
   }
   #special .list li.taishin::before {
      top: -17.75vw;
      width: 11.953vw;
      height: 19.453vw;
   }
   #special .list li.renovation .price {
      font-size: 7.5vw;
   }
   #special .list li.renovation .price .yen {
      margin: 1.438vw 0 0;
   }
   #special .list li.renovation .price-frame {
      gap: 3.5vw;
   }
   
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
   #showroom {
      padding: 6.646vw 0 0;
   }
   #showroom .inner {
      padding: 4.024vw 18.415vw 2.561vw;
      margin-bottom: 1.89vw;
      background-size: cover;
   }
   #showroom h2 {
      font-size: 3.049vw;
      margin-bottom: 1.707vw;
   }
   #showroom h2 img {
      width: 18.659vw;
   }
   #showroom h2 span {
      margin-top: 1.037vw;
   }
   #showroom h2::before {
      top: -5.061vw;
      right: 8.11vw;
      width: 10.366vw;
      height: 10.366vw;
   }
   #showroom .subt {
      margin-bottom: -3.049vw;
   }
   #showroom .subt img {
      width: 29.512vw ;
   }
   #showroom .en-deco {
      top: -4.756vw;
      left: 2.195vw;
   }
   #showroom .en-deco img {
      width: 44.756vw;
   }
   #showroom .deco {
      bottom: 8.841vw;
      left: 9.756vw;
   }
   #showroom .deco img {
      width: 15.976vw;
   }
   #showroom .label {
      bottom: 8.049vw;
      right: 12.256vw;
   }
   #showroom .label img {
      width: 15.183vw;
   }
   #showroom .staff {
      top: 6.402vw;
      right: 14.024vw;
   }
   #showroom .staff img {
      width: 9.817vw;
   }
   #showroom .photo {
      margin-bottom: 1.585vw;
   }
   #showroom .photo img {
      width: 100%;
      height: auto;
   }
   #showroom .txt01 {
      font-size: 1.22vw;
      margin-bottom: 2.012vw;
   }
   #showroom .txt02 {
      margin: 0 1.463vw 0 0;
   }
   #showroom .txt02 img {
      width: 59.024vw;
   }
   #showroom .btn {
      width: 40.793vw;
      top: 3.232vw;
   }
   #showroom .btn img {
      width: 100%;
      height: auto;
   }
   #showroom .info {
      font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
      margin-bottom: -1.524vw;
   }
   
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
   #topic h2 {
      font-size: clamp(1.375rem, 0.813rem + 1.17vw, 1.75rem);
   }
   #topic .campaign .txt {
      font-size: 1.25vw;
      top: -5.625vw;
      width: 41.484vw;
   }
   #topic .campaign .txt::before,
   #topic .campaign .txt::after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 4.063vw;
      height: 0.156vw;
      background-color: #1c1c1c;
   }
   #topic .campaign .txt::before {
      left: 0.547vw;
      transform: rotate(55deg);
   }
   #topic .campaign .txt::after {
      right: 0.547vw;
      transform: rotate(-55deg);
   }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
   #works::after {
      content: "";
      position: absolute;
      top: 9.059vw;
      left: 0;
      height: 26.785vw;
      width: 100%;
      background-color: #F0F0F0;
   }
   #works h2 img {
      width: 21.886vw;
   }
   #works h3 img {
      width: 36.842vw;
   }
   #works h3::before {
      content: "";
      position: absolute;
      background: url(../images/index/works-staff01.png)no-repeat;
      background-size: contain;
      width: 7.243vw;
      height: 12.402vw;
      bottom: 1.876vw;
      left: -9.171vw;
   }
   #works h3::after {
      content: "";
      position: absolute;
      background: url(../images/index/works-staff02.png)no-repeat;
      background-size: contain;
      width: 6.931vw;
      height: 12.507vw;
      bottom: 1.876vw;
      right: -8.338vw;
   }
   #works .inner {
      padding: 11.506vw 0 7.087vw;
   }
   #works .en-ttl {
      position: absolute;
      top: 5.888vw;
      left: 50%;
      transform: translateX(-50%);
   }
   #works .en-ttl img {
      width: 37.363vw;
   }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
   #works .system-list {
      gap: 0 3.125vw;
      margin-bottom: 6.25vw;
  }
   #works .search-box {
      margin-top: -3vw;
      margin-bottom: 6.188vw;
   }
   #works .search-box .inner {
      gap: 2.313vw;
      padding: 2.656vw 5vw 2.5vw 4.375vw;
      align-items: center;
   }
   #works .search-box .item {
      gap: 1.563vw;
   }
   #works .search-box .item li a {
      font-size: 1.25vw;
      padding: 1vw 0 1.266vw;
   }
   #works .search-box .icon-box {
      gap: 1.719vw;
   }
   #works .search-box .icon-box img {
      width:4.609vw;
   }
   #works .search-box .icon-box .txt {
      font-size: 1.563vw;
   }

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
   #estimate.form-Box .form-box-inner::before {
      top: -12.387vw;
      left: 11.871vw;
      width: 16.452vw;
      height: 15.726vw;
  }
  
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
   #area .map img {
      width: 100%;
      height: auto;
   }
   #area .txt-box {
      padding: 5.128vw 7.921vw 2.335vw;
   }
   #area .txt-box::before {
      top: 3.231vw;
      left: -24.763vw;
      width: 31.528vw;
      height: 13.028vw;
   }
   #area .en-ttl {
      top: 2.793vw;
      left: 2.793vw;
   }
    #area .en-ttl img {
       width: 28.504vw;
     }
   #area h2 {
      font-size: 1.668vw;
      margin-bottom: 2.701vw;
   }
   #area .area-box span {
      font-size: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
      padding: 0.167vw 0.809vw;
   }
   #area .area-box .txt {
      font-size: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
      margin: 0.75vw 0 0.208vw;
   }
   #area .area-box .desc {
      font-size: clamp(0.563rem, 0.271rem + 0.61vw, 1rem);
   }
   
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
   #voice .ttl-box {
      gap: 1.376vw;
      padding: 9.672vw 0 1.793vw;
      width: 76vw;
   }
   #voice .ttl-box::after {
      bottom: -12.298vw;
      right: -8.921vw;
      width: 27.045vw;
      height: 21.886vw;
   }
  #voice h2::before {
      top: 0.167vw;
      left: -5.836vw;
      width: 4.742vw;
      height: 3.96vw;
   }
   #voice .ttl-box .en-ttl {
      top: 2.668vw;
      left: -2.126vw;
   }
  #voice .ttl-box .en-ttl img {
    width: 13.809vw;
   }
   #voice .system-list li {
      width: 28.14vw;
      margin: 0 0.782vw;
   }
   #voice .system-pic img {
      height: 18.551vw;
   }
   #voice .next-arrow {
      margin-left: 42.731vw;
      width: 3.127vw;
    }
    #voice .prev-arrow {
      margin-left: -42.731vw;
      width: 3.127vw;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1100px)
======================================== */
@media screen and (min-width:768px) and (max-width:1100px) {
   #voice h2 {
      font-size: 3.636vw;
   }
   #voice .ttl-box .txt {
      font-size: 1.455vw;
   }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
   #bnr-box .inner img {
      width: 100%;
      height: auto;
   }
}




/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.util-btn {
   background: url(../images/index/util-btn-bg_sp.png)no-repeat center center;
   background-size: contain;
   text-align: center;
}
.util-btn a {
   font-size:3.865vw;
   line-height: 1;
   font-weight: 500;
   letter-spacing: 0.1em;
   display: block;
   padding: 7vw 0;
}

/* sliderArea
-------------------------------------*/
#mv {
   max-width: 100vw;
   margin-inline: auto;
   width: 100%;
}
.slick-slider .slick-track, .slick-slider .slick-list {
   margin-bottom: 0!important;
}
.slick-slide img  {
   margin-inline: auto;
}

/* slide01
-------------------------------------*/
.slide01 {
   background: url(../images/index/mv-slide01_sp.jpg)no-repeat center center;
   background-size: cover;
   padding: 4.05vw 0 0;
}
.slide01 .inner {
   width: 91.79vw;
   margin-inline: auto;
   position: relative;
   padding: 0 0 54.1vw;
}
.slide .area {
   font-weight: 500;
   font-size:3.382vw;
   line-height: 1.71428;
   color: #141414;
   background: #FFFFFF;
   position: relative;
   padding: 2vw 2vw 2vw;
   letter-spacing: 0;
   margin-bottom: 35.4vw;
   width: 91.79vw;
   margin-inline: auto;
   font-feature-settings: "palt";
}
.slide .area::before {
   content: "";
   position: absolute;
   top: 1.5vw;
   left: 2.2vw;
   width: 3.9vw;
   height: 5.6vw;
   background: url(../images/index/area-icon.svg)no-repeat;
   background-size: contain;
}
.slide .area span {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.12em;
   line-height: 1.5625;
   text-align: left;
   color: #0488e5;
   margin: 0 3.8vw 0 5vw;
   font-feature-settings: normal;
}
.slide01 h1 img {
   width: 91.79vw;
}
.slide01 h2 {
   text-align: center;
   margin-top: -1vw;
   position: relative;
   z-index: 2;
}
.slide01 h2 img {
   width: 82.4vw;
}
.slide01 h3 {
   text-align: center;
}
.slide01 .label {
   position: absolute;
   bottom: 12vw;
   left: 50%;
   transform: translateX(-50%);
}
.slide01 .label img {
   width: 32.7vw;
}

/* slide02
-------------------------------------*/
.slide02 {
   background: url(../images/index/mv-slide02_sp.jpg)no-repeat center center;
   background-size: cover;
   padding: 4.05vw 0 0;
}
.slide02 .inner {
   width: 91.79vw;
   margin-inline: auto;
   padding: 0 0 14.1vw;
}
.slide02 .area {
   border: 0.2vw solid #707070;
   margin-bottom: 12vw;
}
.slide02 .mv-box {
   position: relative;
}
.slide02 h2 {
   text-align: center;
   margin: 1vw 0 0 6vw;
}
.slide02 h2 img {width: 15.8vw;}
.slide02 .label {
   position: absolute;
   bottom: -17.4vw;
   left: 0vw;
   z-index: 2;
}
.slide02 .label img {
   width: 32.7vw;
}

/* slide03
-------------------------------------*/
.slide03 {
   background: url(../images/index/showroom-bg_sp.png)no-repeat;
   background-size: cover;
   padding: 4vw 0 0;
}
.slide03 .inner {
   background: url(../images/index/mv-slide03-innerBg_sp.png)no-repeat top center;
   position: relative;
   text-align: center;
   padding: 10vw 0 3vw;
   background-size: 84vw;
}
.slide03 .inner::before {
   content: "";
   position: absolute;
   top: 14.8vw;
   left: 11.8vw;
   width: 17vw;
   height: 14.3vw;
   background: url(../images/index/showroom-deco02.png)no-repeat;
   background-size: contain;
   z-index: 1;
}
.slide03 .inner::after {
   position: absolute;
   content: "";
   top: 6vw;
   right: 8vw;
   width: 15.5vw;
   height: 27.1vw;
   background: url(../images/index/slide03-staff.png)no-repeat;
   background-size: contain;
}
.slide03 .area {
   border: 0.2vw solid #707070;
   margin-bottom: 6vw;
}
.slide03 h2 {
   text-align: center;
   position: relative;
   z-index: 3;
   margin-top: -1vw;
}
.slide03 h2 img {width: 54vw;}
.slide03 .en-deco {
   position: absolute;
   top: -7vw;
   left: 4vw;
}
.slide03 .en-deco img {width: 57vw;}
.slide03 .deco {
   position: absolute;
   top: 1vw;
   left: 1vw;
}
.slide03 .deco img {

}
.slide03 .label {
   position: absolute;
   top: 42vw;
   right: 3vw;
   z-index: 3;
}
.slide03 .label img {
   width: 32.7vw;
}
.slide03 .photo {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   margin-top: -4.9vw;
   margin-bottom: 2vw;
   position: relative;
   z-index: 2;
}
.slide03 .subt {
   font-weight: bold;
   font-size:4.589vw;
   letter-spacing: 0.05em;
   line-height: 1.736842;
   text-align: center;
   color: #141414;
   display: inline-block;
   margin-left: -26vw;
   margin-bottom: 3.4vw;
   position: relative;
}
.slide03 .subt::before {
   content: "";
   position: absolute;
   top: -21.5vw;
   left: -7.4vw;
   width: 21.74vw;
   height: 21.74vw;
   background: url(../images/index/mv-slide03-subt-deco_sp.svg);
   z-index: 3;
   background-repeat: no-repeat;
}
.slide03 .subt span {
   background: linear-gradient(transparent 70%, #FDF202 20%);
}
.slide03 .subt02 {
   width: 74vw;
   font-weight: 500;
   font-size: 3.382vw;
   letter-spacing: 0.1em;
   line-height: 1.71428;
   color: #141414;
   margin-bottom: 1.8vw;
   margin-inline: auto;
   text-align: left;
}
.slide03 .btn {
   width: 91vw;
   margin-inline: auto;
}  

/* reason
-------------------------------------*/
#reason .inner {
   width: 91.79vw;
   margin-inline: auto;
   padding: 10.6vw 0 41vw;
 }
 #reason .en-ttl {
   font-size:4.348vw;
   line-height: 1;
   letter-spacing: 0em;
   font-weight: 400;
   text-align: center;
   position: relative;
   margin-bottom: 10.15vw;
 }
 #reason .en-ttl::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -3.4vw;
   width: 8.5vw;
   height: 0.2vw;
   background-color: #1C1C1C;
 }
 #reason h2 {
   text-align: center;
   margin-bottom: 22.1vw;
 }
 #reason .list {
   display: grid;
   grid-template-columns: 1fr;
   gap: 25.9vw;
   margin-bottom: 11vw;
 }
 #reason .list li {
   position: relative;
 }
 #reason .list li h3 {
   position: absolute;
   top: -14.9vw;
   left: 0;
 }
 #reason .list li .photo {
   margin-bottom: 6vw;
 }
 #reason .list li .num-wrap {
   display: flex;
   gap: 4.6vw;
   margin-bottom: 3vw;
 }
 #reason .list li .num {
   font-size:9.662vw;
   line-height: 1;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: rgba(4, 136, 229, 0.3);
   padding: 1vw 0 0;
 }
 #reason .list li h4 {
   font-size:5.314vw;
   line-height: 1.363636;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #0488E5;
 }
 #reason .list li .txt {
   font-size:3.865vw;
   line-height: 1.875;
   letter-spacing: 0.05em;
   font-weight: 500;
 }
 #reason .list li:nth-child(3) .txt {
   letter-spacing: 0.03em;
 }

  /* reform
 -------------------------------------*/
 #reform {
   background: url(../images/index/reform-bg_sp.png) no-repeat center center/cover;
 }
 #reform .inner {
   width: 91.79vw;
   margin-inline: auto;
   padding: 0 0 12.2vw;
 }
 #reform .ttl-box {
   background: #FFFFFF;
   position: relative;
   top: -21vw;
   padding: 0 0 8.55vw;
   margin-bottom: -9.5vw;
 }
 #reform .ttl-box::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -5vw;
   width: 10.15vw;
   height: 5vw;
   background: url(../images/index/ttl-box-arrow_sp.svg) no-repeat center center/contain;
 }
 #reform .en-ttl {
   font-size:4.348vw;
   line-height: 1;
   letter-spacing: 0em;
   font-weight: 400;
   text-align: center;
   position: relative;
   margin-bottom: 10.2vw;
   color: #0096DF;
 }
 #reform .en-ttl::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -3.2vw;
   width: 8.5vw;
   height: 0.2vw;
   background-color: #0096DF;
 }
 #reform h2 {
   text-align: center;
 }
 #reform .subt-box {
   position: relative;
   padding: 0 0 10vw;
 }
 #reform .subt-box::before {
   position: absolute;
   content: "";
   top: -16.2vw;
   left: 2vw;
   width: 17.7vw;
   height: 23.5vw;
   background: url(../images/index/reform-deco.png) no-repeat;
   background-size: contain;
 }
#reform .subt-box::after {
   position: absolute;
   content: "";
   bottom: -0.4vw;
   right: 6vw;
   width: 25.13vw;
   height: 38.2vw;
   background: url(../images/index/reform-staff.png) no-repeat;
   background-size: contain;
}
 #reform .subt01 {
   font-size:4.348vw;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 500;
   color: #FFFFFF;
   display: inline-block;
   position: relative;
   margin-bottom: 5vw;
   text-align: center;
   margin-left: 26.7vw;
 }
 #reform .subt01::before,
 #reform .subt01::after {
  content: "";
  position: absolute;
  top: 0vw;
}
#reform .subt01::before {
  background: url(../images/index/reform-subt-line-l_sp.svg)no-repeat;
  background-size: contain;
  width: 3.4vw;
  height: 5.4vw;
  left: -5vw;
}
#reform .subt01::after {
  background: url(../images/index/reform-subt-line-r_sp.svg)no-repeat;
  background-size: contain;
  width: 3.4vw;
  height: 5.4vw;
  right: -5vw;
}
 #reform .subt02 {
   font-size:4.831vw;
   line-height: 1.4;
   letter-spacing: 0.1em;
   font-weight: 700;
   color: #FFFFFF;
   margin-bottom: 6vw;
   display: flex;
   text-align: left;
   margin-left: 4vw;
   gap: 0.8vw;
 }
 #reform .subt02 span {
   font-size:11.111vw;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   color: #FDF202;
 }
 #reform .subt03 {
 margin-left: 4vw;
 }

 #reform .list {
   display: grid;
   grid-template-columns: 1fr;
   gap: 31vw;
 }
 #reform .list li {
   border-top: 3.2vw solid #2B6FAC;
   background: #FFFFFF;
   position: relative;
   z-index: 5;
 }

 /* list */
 #reform .list li .content {
   position: relative;
   background: #fff;
   z-index: 2;
   display: grid;
 }
 #reform .list li .content .photo {
   order: 1;
 }
 #reform .list li .icon {
   position: absolute;
   top: -22.2vw;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
   width: 58.215vw;
 }
 #reform .list li .icon img {
   width: 100%;
   height: auto;
 }
#reform .list li h3 {
    margin-bottom: 3.7vw;
    order: 2;
    padding: 5vw 0 0 6.4vw;
}
 #reform .list li .txt {
   font-size:3.382vw;
   line-height: 1.85714;
   letter-spacing: 0.1em;
   font-weight: 500;
   margin-bottom: 1vw;
   order: 1;
 }
 #reform .list li .bottom {
    padding: 0vw 3.9vw 5vw;
    order: 3;
    display: grid;
}
 #reform .price-frame {
   position: relative;
   margin: -1.7vw 0 7.1vw 1vw;
   order: 2;
 }
 #reform .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.3vw;
   position: absolute;
   top: 3.2vw;
   right: 12.9vw;
 }
 #reform .price {
   display: flex;
   font-size:19.535vw;
   line-height: 1.19753;
   letter-spacing: -0.07em;
   font-weight: 700;
   color: #D7000F;
   position: relative;
   z-index: 2;
   justify-content: center;
   margin: 0 0 0 -5vw;
 }
 #reform .price::after {
   content: "";
   position: absolute;
   bottom: 2vw;
   left: 50%;
   width: 77.1vw;
   height: 3.4vw;
   background: #FFDF4D;
   z-index: -1;
   transform: translateX(-50%);
 }
 #reform .price .small {
   font-size:13.285vw;
   font-weight: 700;
   line-height: 1.74545;
   position: relative;
   bottom: -3vw;
 }
 #reform .price .yen {
   font-size:7.729vw;
   line-height: 1;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #1C1C1C;
   margin: 12vw 0vw 0 0vw;
   position: relative;
   left: 4vw;
 }
 #reform .list li .bottom .btn {
   order: 3;
 }
 #reform .btn a{
   font-size:3.865vw;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   background: #E5A700;
   color: #FFFFFF;
   border-radius: 10vw;
   display: block;
   padding: 5.3vw 0 5.3vw 4vw;
   text-align: center;
   position: relative;
 }
 #reform .btn a::after {
   position: absolute;
   content: "";
   top: 50%;
   right: 7.5vw;
   transform: translateY(-50%);
   width: 3.15vw;
   height: 2.9vw;
   background: url(../images/index/reform-btn-arrow.svg) no-repeat center center;
   background-size: contain;
 }

  /* set */
  #reform .list .set .bottom {
   padding: 4.2vw 3.9vw 5vw;
  }
  #reform .list .set h3 {
   text-align: center;
   margin-bottom: 4vw;
   padding: 0;
}
  #reform .set .cate {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   justify-content: space-between;
   margin-bottom: 3vw;
 }
 #reform .set .cate span {
   font-size:3.623vw;
   line-height: 1;
   letter-spacing: 0.05em;
   font-weight: 700;
   border: 0.2vw solid #0488E5;
   border-radius: 5vw;
   color: #0488E5;
   text-align: center;
   padding: 1.7vw 0;
   width: 19vw;
 }
 #reform .set .cate span:last-child {
   width: 20.8vw;
 }
 #reform .set .price-frame {
   position: relative;
   margin: -1.7vw 0 7.8vw 1vw;
 }
 #reform .set .price {
   font-size:21.467vw;
   line-height: 1.20224719;
   letter-spacing: 0em;
   margin: 0;
 }
 #reform .set .price .yen {margin: 14vw 0 0;left: 2vw;}
 #reform .set .price-frame .include {
    top: 5.2vw;
    right: 7.9vw;
}

/* special
-------------------------------------*/
#special {
   background: url(../images/index/special-bg_sp.jpg) no-repeat top center/contain;
   max-width: 100vw;
   margin-inline: auto;
   width: 100%;
}
#special .inner {
   width: 91.79vw;
   margin-inline: auto;
   padding: 32.5vw 0 24.2vw;
}
#special h2 {
   display: grid;
   align-items: center;
   position: relative;
   text-align: center;
   gap: 7.8vw;
   z-index: 2;
   margin-bottom: 28vw;
}
#special h2 span {
   font-weight: bold;
   font-size:4.831vw;
   letter-spacing: 0.1em;
   line-height: 1;
   color: #141414;
   display: block;
}
#special h2::after {
   position: absolute;
   content: "";
   top: -22vw;
   left: 47%;
   transform: translateX(-50%);
   width: 68.12vw;
   height: 44vw;
   background: url(../images/index/special-en-ttl_sp.svg) no-repeat center center;
   background-size: contain;
   z-index: -1;
}
#special .list {
   display: grid;
   grid-template-columns: 1fr;
   gap: 31.85vw;
   position: relative;
 }
 #special .list li {
   outline: 0.6vw solid #1C1C1C;
   background: #FFFFFF;
   position: relative;
   z-index: 5;
 }
 #special .list li .content {
   position: relative;
   background: #fff;
   z-index: 2;
   padding: 5.8vw 0 0;
 }
 #special .list li .icon {
   position: absolute;
   top: -20vw;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
   width: 58.215vw;
 }
 #special .list li .icon img {
   width: 100%;
   height: auto;
 }
#special .list li h3 {
    text-align: center;
    margin-bottom: 5.5vw;
    font-size:7.729vw;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
}
#special .list li .content .photo {
}
#special .list li .content .photo img {
   width: 100%;
   height: auto;
}
 #special .list li .txt {
   font-size:3.382vw;
   line-height: 1.8571428;
   letter-spacing: 0.1em;
   font-weight: 500;
   margin-bottom: -2vw;
   order: 1;
 }
 #special .list li .bottom {
    padding: 4.2vw 3.6vw 4vw;
    display: grid;
}
 #special .price-frame {order: 2;position: relative;margin-bottom: 6vw;}
 #special .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.3vw;
   position: absolute;
   top: 5.2vw;
   right: 16.2vw;
 }
 #special .price {
   display: flex;
   font-size: 21.709vw;
   line-height: 1.19753;
   letter-spacing: -0.02em;
   font-weight: 700;
   color: #D7000F;
   position: relative;
   z-index: 2;
   justify-content: center;
   margin: 0 0 0 -2vw;
 }
 #special .price::after {
   content: "";
   position: absolute;
   bottom: 2vw;
   left: 50%;
   width: 77.1vw;
   height: 4.9vw;
   background: #FFDF4D;
   z-index: -1;
   transform: translateX(-50%);
 }
 #special .price .yen {
   font-size: 7.729vw;
   line-height: 1;
   letter-spacing: 0.05em;
   font-weight: 700;
   color: #1C1C1C;
   margin: 14vw 0vw 0 0vw;
   position: relative;
   left: 2vw;
 }
 #special .btn {
   order: 3;
 }
 #special .btn a{
   font-size: 3.865vw;
   line-height: 1;
   letter-spacing: 0.1em;
   font-weight: 700;
   background: #0488E5;
   color: #FFFFFF;
   border-radius: 10vw;
   display: block;
   padding: 5.3vw 0 5.3vw 4vw;
   text-align: center;
   position: relative;
 }
 #special .btn a::after {
   position: absolute;
   content: "";
   top: 50%;
   right: 7.5vw;
   transform: translateY(-50%);
   width: 3.15vw;
   height: 2.9vw;
   background: url(../images/index/reform-btn-arrow.svg) no-repeat center center;
   background-size: contain;
 }

  /* taishin */
  #special .list li.taishin::before {
   content: "";
   position: absolute;
   top: -29vw;
   left: 1vw;
   width: 21.1vw;
   height: 34.1vw;
   background: url(../images/index/special-staff.png) no-repeat center center;
   background-size: contain;
   z-index: 2;
 }

 /* renovation */
 #special .list li.renovation .include {right: 10.4vw;top: 6vw;}

  /* showroom
-------------------------------------*/
#showroom {
   background: url(../images/index/showroom-bg_sp.png)no-repeat;
   background-size: cover;
   padding: 22vw 0 0;
}
#showroom .inner {
   background: #fff;
   position: relative;
   text-align: center;
   padding: 0 4.8vw 11vw;
   width: 83.6vw;
   margin-inline: auto;
   margin-bottom: 11vw;
}
#showroom .inner::before {
   content: "";
   position: absolute;
   top: -12vw;
   left: 0;
   width: 100%;
   height: 12.1vw;
   background: url(../images/index/showroom-innerBg_sp.svg)no-repeat;
   background-size: contain;
   z-index: 1;
}
#showroom h2 {
   font-weight: bold;
   font-size:5.314vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   color: #141414;
   text-align: center;
   position: relative;
   margin-bottom: 0;
   top: -3vw;
   z-index: 2;
}
#showroom h2 img {
   margin-bottom: 3vw;
}
#showroom h2 span {
   margin-inline: auto;
   text-align: center;
   background: linear-gradient(transparent 77%, #FDF202 10%);
}
#showroom h2::before {
   content: "";
   position: absolute;
   top: -2vw;
   right: -5.5vw;
   width: 20.3vw;
   height: 20.3vw;
   background: url(../images/index/showroom-deco_sp.svg) no-repeat;
   background-size: contain;
}
#showroom .subt {
   position: relative;
   z-index: 5;
   margin-bottom: -5vw;
}
#showroom .en-deco {
   position: absolute;
   top: -19vw;
   left: -4vw;
   z-index: 2;
}
#showroom .deco {
   position: absolute;
   top: 4.3vw;
   left: -1.9vw;
   z-index: 2;
   width: 19vw;
}
#showroom .label {
   position: absolute;
   bottom: 71.2vw;
   left: 50%;
   z-index: 6;
   transform: translateX(-50%);
   width: 100%;
}
#showroom .staff {
   position: absolute;
   top: 13vw;
   right: 2vw;
   width: 15.5vw;
   height: 27.1vw;
   z-index: 3;
}
#showroom .photo {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   margin-bottom: 26vw;
   position: relative;
   z-index: 4;
}
#showroom .txt01 {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   color: #141414;
   margin-bottom: 6.7vw;
   text-align: left;
}
#showroom .txt02 {
   margin: 0 1vw 0 0;
}
#showroom .btn {
   width: 90.825vw;
   margin-inline: auto;
   position: relative;
   top: 9.4vw;
   text-align: center;
} 
#showroom .info {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.1em;
   line-height: 1.875;
   text-align: center;
   color: #fff;
   margin-bottom: -5vw;
}

/* topic
-------------------------------------*/
#topic .inner {
   width: 91.79vw;
   margin-inline: auto;
   display: grid;
   grid-template-columns: 1fr;
   gap: 14.4vw;
   padding: 50.5vw 0 39vw;
}
#topic .sec-box {
   background: #141414;
   padding: 6vw 4.1vw 4vw;
   margin-bottom: 7vw;
}
#topic .campaign .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.1em;
   line-height: 1.75;
   text-align: center;
   color: #1c1c1c;
   position: absolute;
   top: -24.5vw;
   left: 50%;
   transform: translateX(-50%);
   width: 66vw;
}
#topic .campaign .txt::before,
#topic .campaign .txt::after {
   content: "";
   position: absolute;
   top: 53%;
   transform: translateY(-50%);
   width: 20.1vw;
   height: 0.5vw;
   background-color: #1c1c1c;
}
#topic .campaign .txt::before {
   left: -12vw;
   transform: rotate(68deg);
}
#topic .campaign .txt::after {
   right: -12vw;
   transform: rotate(-68deg);
}
#topic .en-ttl {
   font-weight: 300;
   font-size:4.831vw;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: center;
   color: #fff;
   margin-bottom: 4vw;
}
#topic h2 {
   font-weight: bold;
   font-size:5.797vw;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: center;
   color: #fff;
   margin-bottom: 5.9vw;
}
#topic .system-list {
   background: #FFFFFF;
   grid-template-columns: 1fr;
   box-sizing: border-box;
   max-height: 59.43vw;
}
#topic .system-list {
   padding: 5vw 3.6vw;
}
#topic .system-pic img {
   height: 49.52vw;
}
#topic .util-btn {

}
#topic .util-btn a {

}
/* campaign */
#topic .campaign {
   position: relative;
}
/* news */
#topic .news .system-list {
   overflow-y: scroll;
}
#topic .news .system-list li a{
   display: grid;
   grid-template-columns: 50% 50%;
   gap: 2.4vw;
}
#topic .news .system-list {gap: 7.3vw;max-height: 87vw;}
#topic .news .system-pic img {height: 25.605vw;}
#topic .news .system-category-set p {
   background: #0488E5;
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: center;
   color: #fff;
   display: inline-block;
   padding: 1.1vw 4.7vw;
   margin-bottom: 1vw;
}
#topic .news .system-date {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.1em;
   line-height: 1.71428;
   margin-bottom: 0vw;
}
#topic .news .system-ttl-01 {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.1em;
   line-height: 1.71428;
}

/* works
-------------------------------------*/
#works {
   position: relative;
}
#works::before {
   position: absolute;
   content: "";
   top: -19.6vw;
   left: 0;
   width: 100%;
   height: 19.6vw;
   background: url(../images/index/works-bg_sp.png) no-repeat top center;
   background-size: contain;
}
#works::after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   height: 117vw;
   width: 100%;
   background-color: #F0F0F0;
}
#works .inner {
   width: 91.79vw;
   margin-inline: auto;
   position: relative;
   padding: 10vw 0 18vw;
   text-align: center;
   z-index: 5;
   top: -2vw;
}
#works .en-ttl {
   position: absolute;
   top: 0vw;
   left: 50%;
   transform: translateX(-50%);
   width: 69.4vw;
}
#works h2 {
   text-align: center;
   position: relative;
   z-index: 2;
   margin-bottom: 1.8vw;
}
#works h3 {
   text-align: center;
   position: relative;
   display: inline-block;
   margin-bottom: 21vw;
}
#works h3::before {
   content: "";
   position: absolute;
   background: url(../images/index/works-staff01.png)no-repeat;
   background-size: contain;
   width: 29vw;
   height: 49.6vw;
   bottom: -45.8vw;
   right: 20vw;
}
#works h3::after {
   content: "";
   position: absolute;
   background: url(../images/index/works-staff02.png)no-repeat;
   background-size: contain;
   width: 27.8vw;
   height: 50.5vw;
   bottom: -45.8vw;
   left: 20vw;
}
#works .search-box {
   background: #fff;
   border: 0.5vw solid #53b0c1;
   margin-top: -2vw;
   position: relative;
   z-index: 2;
   margin-bottom: 12.5vw;
}
#works .search-box .inner {
   display: grid;
   gap: 1vw;
   padding: 7vw 0vw 2vw;
}
#works .search-box .icon-box {
   display: grid;
   margin: 0vw 0 4vw 25vw;
   gap: 2vw;
   grid-template-columns: 29% 1fr;
   justify-content: center;
   width: 29.8vw;
   align-items: center;
}
#works .search-box .icon-box .txt {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.1em;
   line-height: 1;
   margin: -1vw 0 0;
}
#works .search-box .item {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 4.8vw 3.5vw;
   width: 83.6vw;
   margin-inline: auto;
}
#works .search-box .item li a{
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1;
   text-align: center;
   color: #fff;
   display: block;
   padding: 3.505vw 0;
}
#works .search-box .item li:nth-child(1) {background-color: #6C6B6B;}
#works .search-box .item li:nth-child(2) {background-color: #D54238;}
#works .search-box .item li:nth-child(3) {background-color: #F07E31;}
#works .search-box .item li:nth-child(4) {background-color: #EAA73B;}
#works .search-box .item li:nth-child(5) {background-color: #8AAB3B;}
#works .search-box .item li:nth-child(6) {background-color: #4C8228;}
#works .search-box .item li:nth-child(7) {background-color: #549BEB;}
#works .search-box .item li:nth-child(8) {background-color: #3173BE;}
#works .search-box .item li:nth-child(9) {background-color: #9C6AA5;}
#works .search-box .item li:nth-child(10) {background-color: #DC64BB;}

#works .system-list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 9.67vw 4.8vw;
   margin-bottom: 12.1vw;
}
#works .system-pic {
   margin-bottom: 0;
}
#works .system-pic img {
   height: 31.404vw;
}
#works .system-category span {
   display: block;
   font-weight: bold;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1;
   text-align: center;
   color: #fff;
   padding: 1.33vw 0;
   margin-bottom: 2vw;
}
#works .system-category span.icon01 {
   background-color: #D54238;
}
#works .system-category span.icon02 {
   background-color: #F07E31;
}
#works .system-category span.icon03 {
   background-color: #EAA73B;
}
#works .system-category span.icon04 {
   background-color: #8AAB3B;
}
#works .system-category span.icon05 {
   background-color: #4C8228;
}
#works .system-category span.icon06 {
   background-color: #549BEB;
}
#works .system-category span.icon07 {
   background-color: #3173BE;
}
#works .system-category span.icon08 {
   background-color: #9C6AA5;
}
#works .system-category span.icon09 {
   background-color: #DC64BB;
}
#works .system-ttl-01 {
   font-weight: 400;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.42857;
   text-align: left;
   border-bottom: 0.2vw solid #707070;
   padding: 0 0 2.4vw;
   margin-bottom: 3vw;
}
#works .system-name {
   font-weight: 400;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.71428;
   text-align: left;
   color: #1c1c1c;
}

/* estimate
-------------------------------------*/
#estimate {
   background: url(../images/index/estimate-bg.png)no-repeat;
   background-size: cover;
   width: 91.79vw;
   margin-inline: auto;
   line-height: 1;
   padding: 0;
   margin-bottom: 19vw;
}
#estimate .inner {
   margin-inline: auto;
   position: relative;
   text-align: center;
   padding: 9vw 0 15.4vw;
}
#estimate .subt {
   font-weight: bold;
   font-size:5.314vw;
   letter-spacing: 0.05em;
   line-height: 1;
   text-align: center;
   background: #FFFFFF;
   border-radius: 2.5rem;
   position: relative;
   display: inline-block;
   padding: 3.6vw 6.5vw;
   margin-bottom: 4.2vw;
}
#estimate .subt::after {
   content: "";
   position: absolute;
   bottom: -2vw;
   left: 50%;
   transform: translateX(-50%);
   width: 5.6vw;
   height: 4.85vw;
   background: url(../images/index/estimate-subt-arrow.svg) no-repeat center center;
   background-size: contain;
}
#estimate h2 {
   font-weight: bold;
   font-size:6.763vw;
   letter-spacing: 0.1em;
   line-height: 1.5;
   text-align: center;
   color: #141414;
   position: relative;
   z-index: 2;
   margin-bottom: 23.5vw;
}
#estimate h2 span {
   position: relative;
}
#estimate h2 span::after {
   content: "";
   position: absolute;
   top: 2vw;
   right: -10vw;
   width: 6.6vw;
   height: 7.8vw;
   background: url(../images/index/estimate-deco.svg) no-repeat center center;
   background-size: contain;
}
#estimate .en-ttl {
   position: absolute;
   top: 13vw;
   left: 50%;
   transform: translateX(-50%);
   width: 63.77vw;
}
#estimate .en-ttl img {
   width: 100%;
   height: auto;
}
#estimate.form-Box .form-box-inner {
   position: relative;
}
#estimate.form-Box .form-box-inner::before {
   content: "";
   position: absolute;
   top: -19.5vw;
   left: 51.9%;
   width: 28.1vw;
   height: 26.8vw;
   background: url(../images/index/estimate-deco.png) no-repeat center center;
   background-size: contain;
   transform: translateX(-50%);
}

/* area
-------------------------------------*/
#area {
   background: #212121;
   display: grid;
   grid-template-columns: 1fr;
}
#area .txt-box {
   position: relative;
   padding: 32.2vw 8vw 12vw;
}
#area .txt-box::before {
   content: "";
   position: absolute;
   top: -71vw;
   right: 8.4vw;
   width: 60.39vw;
   height: 79.23vw;
   background: url(../images/index/area-map-point_sp.svg) no-repeat;
   background-size: contain;
}
#area .en-ttl {
   position: absolute;
   top: 13vw;
   left: 50%;
   transform: translateX(-50%);
   width: 86vw;
}
#area h2 {
   font-weight: bold;
   font-size:6.763vw;
   letter-spacing: 0.1em;
   line-height: 1.071428;
   color: #fff;
   margin-bottom: 5.9vw;
}
#area .area-box {
}
#area .area-box span{
   background: #FFFFFF;
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   color: #212121;
   padding: 0.73vw 3.8vw;
}
#area .area-box .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.75;
   color: #fff;
   margin: 3.5vw 0 1vw;
}
#area .map img{
   width: 100%;
}

/* voice
-------------------------------------*/
#voice .ttl-box {
   width: 81.6vw;
   margin-inline: auto;
   display: grid;
   gap: 6.4vw;
   position: relative;
   padding: 32vw 0 42.5vw;
}
#voice .ttl-box::after {
   content: "";
   position: absolute;
   bottom: -36.4vw;
   left: 48%;
   transform: translateX(-50%);
   width: 94.689vw;
   height: 74.035vw;
   background: url(../images/index/voice-photo_sp.png) no-repeat center center;
   background-size: contain;
}
#voice h2 {
   font-weight: bold;
   font-size:6.763vw;
   letter-spacing: 0.1em;
   line-height: 1;
   position: relative;
   z-index: 2;
   text-align: center;
}
#voice h2::before {
   content: "";
   position: absolute;
   top: -2vw;
   left: 6vw;
   width: 11.6vw;
   height: 9.7vw;
   background: url(../images/index/voice-deco.svg) no-repeat;
   background-size: contain;
}
#voice .ttl-box .txt {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin: 0;
}
#voice .ttl-box .en-ttl {
   position: absolute;
   top: 8vw;
   left: 46%;
   transform: translateX(-50%);
}
#voice .system-list {
   margin-bottom: 7.4vw;
   grid-template-columns: 1fr;
   width: 91.79vw;
   margin-inline: auto;
   position: relative;
   z-index: 2;
   background: #fff;
   gap: 9.7vw 0;
}
#voice .system-pic {
   border: 0.2vw solid #707070;
   background: #fff;
   padding: 0;
   margin-bottom: 4vw;
}
#voice .system-pic img {
   height: 68.2vw;
}
#voice .system-name {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.1em;
   line-height: 1;
   text-align: left;
   color: #fff;
   display: inline-block;
   padding: 1.1vw 3.7vw;
   margin-bottom: 3vw;
}
#voice .system-name.has-bg {
   background: #0488e5;
}
#voice .system-ttl-01{
   font-size:3.865vw;
   line-height: 1.875;
   letter-spacing: 0.1em;
   font-weight: 500;
}
#voice .util-btn {width: 91.79vw;margin-inline: auto;}

/* bnr-box
-------------------------------------*/
#bnr-box .inner {
   width: 83.6vw;
   margin-inline: auto;
   padding: 24.3vw 0 17vw;
}
#bnr-box .bnr-list01 {
   display: grid;
   grid-template-columns: 1fr;
   gap: 8.4vw;
   margin-bottom: 11vw;
}
#bnr-box .bnr-list01 img {
   margin-bottom: 3.15vw;
}
#bnr-box .bnr-list01 .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.1em;
   line-height: 1.875;
}
#bnr-box .bottom-box {
   background: #EFEDDF;
}
#bnr-box .bottom-box .inner {
   padding: 5.5vw 0 7vw;
   display: grid;
   gap: 5.5vw;
   align-items: center;
   justify-content: center;
}
#bnr-box .bottom-box .inner .bnr-list02 {
   display: grid;
   grid-template-columns:1fr;
   gap: 3.8vw;
   justify-content: center;
   align-items: center;
   margin-inline: auto;
}
#bnr-box .inner .name {
   width: 45vw;
}


}

