@charset "UTF-8";

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px),print {
#renovation main {
    padding: 36px 0 214px;
}


/* main-frame
-------------------------------------*/
.main-frame {
    position: relative;
}
.main-frame::before {
    position: absolute;
    content: "";
    background: #F4F4EE;
    bottom: 55px;
    left: 0;
    width: 100%;
    height: 379px;
}
.main-frame .enttl {
    text-align: center;
    margin-bottom: -32px;
}
.main-frame .inner {
    width: min(95%, 1400px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 58.85%;
}
.main-frame h2 {
    padding: 180px 0 0 171px;
    font-weight: bold;
    font-size: 28px;
    letter-spacing: 0.1em;
    line-height: 1.6428;
    position: relative;
}
.main-frame h2 span {
    display: inline-block;
    font-weight: bold;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.53;
    background: #FFFFFF;
    padding: 0 22px;
    position: relative;
    left: -21px;
    margin-bottom: 13px;
}
.main-frame .photo {
    position: relative;
}

/* worries
-------------------------------------*/
.worries {
    text-align: center;
    padding-block: 98px 88px;
}
.worries h2 {
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4375;
    letter-spacing: 0.1em;
    padding-left: 36px;
    margin-bottom: 12px;
}
.worries h2::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/worries-human01.png)no-repeat;
    background-size: contain;
    width: 127px;
    height: 115px;
    bottom: 0;
    left: -197px;
}
.worries h2 .span01 {
    position: relative;
}
.worries h2 .span01::before,
.worries h2 .span01::after {
    position: absolute;
    content: "";
    width: 32px;
    height: 52px;
    bottom: 3px;
}
.worries h2 .span01::before {
    background: url(../images/renovation/worries-fukidashi-l.svg)no-repeat;
    left: -76px;
    background-size: contain;
}
.worries h2 .span01::after {
    background: url(../images/renovation/worries-fukidashi-r.svg)no-repeat;
    right: -74px;
    background-size: contain;
}
.worries h2 .blue {
    color: #3E79B7;
}
.worries .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: min(95%, 1208px);
    margin-inline: auto;
    gap: 0 42px;
    position: relative;
    margin-bottom: 124px;
}
.worries .list::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/worries-arrow.svg)no-repeat;
    background-size: contain;
    width: 80px;
    height: 47px;
    bottom: -90px;
    left: 50%;
    transform: translateX(-50%);
}
.worries .list li {
    background: url(../images/renovation/worries-list-bg.png)no-repeat;
    background-size: cover;
    width: min(95%, 583px);
    padding: 90px 70px 39px 129px;
}
.worries .list li h3 {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.3333;
    position: relative;
    text-align: left;
    margin-bottom: 21px;
}
.worries .list li h3::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/check-icon.svg)no-repeat;
    background-size: contain;
    width: 31px;
    height: 30px;
    left: -43px;
    top: 6px;
}
.worries .list li > .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: left;
}

/* list02 */
.worries .list li:nth-child(2){
    padding: 90px 55px 39px 141px;
}
/* list03 */
.worries .list li:nth-child(3){
    padding: 88px 74px 39px 124px;
    margin-top: -22px;
}

.worries h4 {
    font-weight: bold;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 1.1578;
    text-align: center;
    display: inline-block;
    color: #fff;
    position: relative;
    margin-bottom: 23px;
}
.worries h4 span {
    background: #3E79B7;
    padding: 16px 20px;
    display: inline-block;
    margin-bottom: 8px;
}
.worries h4::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/worries-human02.png)no-repeat;
    background-size: contain;
    width: 138px;
    height: 225px;
    bottom: 0;
    right: -109px;
}
.worries .txt {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.7777;
    text-align: center;
}

/* point
-------------------------------------*/
.point .photo img {
    width: 100%;
    height: auto;
}
.point h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: center;
    background: #FFFFFF;
    width: min(95%, 1100px);
    margin-inline: auto;
    padding-block: 68px 114px;
    margin-top: -127px;
    position: relative;
}
.point h2 span {
    color: #3E79B7;
    display: block;
    font-size: 54px;
    line-height: 1.3333;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.point .list {
    display: grid;
    gap: 123px;
}
.point .list li {
    position: relative;
}
.point .list li .num {
    text-align: center;
    margin-bottom: 15px;
}
.point .list li h3 {
    font-weight: bold;
    font-size: 36px;
    letter-spacing: 0.1em;
    line-height: 1.8888;
    text-align: center;
    margin-bottom: 102px;
    position: relative;
}
.point .list li h3 .bold {
    font-weight: bold;
    font-size: 44px;
    letter-spacing: 0.1em;
    line-height: 1.5454;
    text-align: center;
    display: block;
    margin: -2px 0 0;
}
.point .list li h3 .blue {
    color: #3e79b7;
}
.point .list li .txt-box {
    position: relative;
    top: -10px;
}
.point .list li h4 {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.8333;
    border-bottom: 5px solid #3E79B7;
    margin-bottom: 31px;
    padding-bottom: 5px;
    display: inline-block;
}
.point .list li .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 32px;
}
.point .list li .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.point .list li .txt span {
    font-weight: 700;
}

/* list01 */
.point .list .list01::before {
    position: absolute;
    content: "";
    background: #F4F4ED;
    width: 100%;
    height: 712px;
    bottom: 0;
    left: 0;
}
.point .list .list01 .inBox {
    width: min(95%, 1554px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 50% 37%;
    gap: 68px;
    position: relative;
    padding-bottom: 76px;
}
.point .list .list01 .txt {
    width: min(95%, 549px);
}

/* list02 */
.point .list .list02::before {
    position: absolute;
    content: "";
    background: #F4F4ED;
    width: 44.01%;
    height: 440px;
    bottom: 0;
    right: 0;
}
.point .list .list02 h3 {
    margin-bottom: 111px;
}
.point .list .list02 .inBox {
    width: min(95%, 1400px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 47.14% 50%;
    gap: 40px;
    position: relative;
    padding-bottom: 55px;
}
.point .list .list02 .inBox .txt-box {
    padding-left: 100px;
}
.point .list .list02 .txt {
    width: fit-content;
}

/* list03 */
.point .list .list03::before {
    position: absolute;
    content: "";
    background: #F4F4ED;
    width: 47.55%;
    height: 450px;
    bottom: 176px;
    left: 0;
}
.point .list .list03 h3 {
    margin-bottom: 106px;
}
.point .list .list03 .inBox {
    width: min(95%, 1511px);
    margin-right: auto;
    display: grid;
    grid-template-columns: 55.65% 34.34%;
    gap: 154px;
    position: relative;
    padding-bottom: 119px;
}
.point .list .list03 .inBox .txt-box {
    position: relative;
}
.point .list .list03 .inBox .txt-box::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/point03-human.png)no-repeat;
    background-size: contain;
    width: 168px;
    height: 158px;
    bottom: 47px;
    left: -231px;
}
.point .list .list03 .photo {
    position: relative;
    left: -7px;
}

/* menu
-------------------------------------*/
.menu {
    width: min(95%, 1400px);
    margin-inline: auto;
    background: #F4F4ED;
    padding-block: 108px 148px;
    margin-bottom: 121px;
}
.menu h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
    margin-bottom: 67px;
    padding-bottom: 37px;
}
.menu h2::after {
    position: absolute;
    content: "";
    background: #3E79B7;
    width: 150px;
    height: 3px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.menu h2 span {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.3333;
    letter-spacing: 0.1em;
    display: block;
    margin: -3px 0 0;
}
.menu .list {
    width: min(95%, 1100px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    margin-bottom: 71px;
}
.menu .list > li {
    border-radius: 10px;
    background: #fff;
    padding: 29px 27px 37px;
}
.menu .list li .icon {
    text-align: center;
    margin-bottom: 1px;
}
.menu .list li h3 {
    font-weight: bold;
    font-size: 28px;
    letter-spacing: 0.1em;
    text-align: center;
    color: #3e79b7;
    margin-bottom: 21px;
}
.menu .list li .photo {
    margin-bottom: 6px;
}
.menu .list li .point-list {
    margin-bottom: 14px;
}
.menu .list li .point-list > li{
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 2.1;
    border-bottom: 1px dashed #B2B2B2;
    position: relative;
    padding-left: 20px;
}
.menu .list li .point-list > li::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/check-icon.svg)no-repeat;
    background-size: contain;
    width: 20px;
    height: 19px;
    left: 0;
    top: 13px;
}
.menu .list li .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 32px;
}
.menu .list li .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

/* list04 */
.menu .list li:nth-child(4) .photo {
    margin-bottom: 23px;
}
.menu .list li:nth-child(4) .point-list {
    margin-bottom: 40px;
}

/* list05 */
.menu .list li:nth-child(5) {
    grid-column: 1 / -1;
    padding: 41px 27px 50px;
    position: relative;
}
.menu .list li:nth-child(5)::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/menu-human.png)no-repeat;
    background-size: contain;
    width: 267px;
    height: 156px;
    bottom: -107px;
    right: 67px;
}
.menu .list li:nth-child(5) .icon {
    margin-bottom: 10px;
}
.menu .list li:nth-child(5) .inBox {
    display: grid;
    grid-template-columns: 44.74% 48.75%;
    gap: 55px;
    align-items: flex-end;
}
.menu .list li:nth-child(5) .point-list > li {
    font-size: 18px;
    font-weight: 700;
    line-height: 2.3333;
    letter-spacing: 0.02em;
}
.menu .list li:nth-child(5)  .photo {
    margin-bottom: 0;
    position: relative;
    top: 3px;
}

/* pickup */
.menu .pickup {
    position: relative;
}
.menu .pickup::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/pickup.svg) no-repeat;
    background-size: contain;
    width: 245px;
    height: 139px;
    top: -44px;
    left: 152px;
}
.menu .pickup h4{
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.1em;
    line-height: 1.375;
    text-align: center;
    color: #fff;
    margin-bottom: 22px;
}
.menu .pickup h4 span {
    background: #3E79B7;
    padding: 6px 25px;
}
.menu .pickup .lead {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.5833;
    text-align: center;
    margin-bottom: 32px;
}
.menu .pickup .list {
    display: grid;
    grid-template-columns: 43% 49.54%;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 0;
}
.menu .pickup .list li {
    padding: 0;
    position: relative;
    background: none;
}
.menu .pickup .list li:nth-child(1)::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/pickup-arrow.svg)no-repeat;
    background-size: contain;
    width: 39px;
    height: 69px;
    top: 49%;
    right: -57px;
    transform: translateY(-50%);
}
.menu .pickup .list li:nth-child(2) {
    margin-left: -7px;
}

/* end-sec
-------------------------------------*/
.end-sec {
    text-align: center;
    padding-bottom: 150px;
}
.end-sec .photo{
    margin-bottom: 116px;
}
.end-sec .photo img {
    width: 100%;
    height: auto;
}
.end-sec .lead {
    font-weight: bold;
    font-size: 36px;
    letter-spacing: 0.1em;
    line-height: 1.7777;
    text-align: center;
    margin-bottom: 8px;
}
.end-sec h2 {
    font-weight: bold;
    font-size: 36px;
    letter-spacing: 0.1em;
    line-height: 1.8888;
    text-align: center;
    position: relative;
    display: inline-block;
}
.end-sec h2::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/end-sec-human.png)no-repeat;
    background-size: contain;
    width: 131px;
    height: 353px;
    bottom: -73px;
    left: -130px;
}
.end-sec h2 span {
    font-size: 44px;
    font-weight: 700;
    line-height: 1.5454;
    letter-spacing: 0.1em;
    color: #3E79B7;
}

/* area
-------------------------------------*/
.area {
    background: #F4F4ED;
}
.area .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    padding-block: 83px 346px;
    display: grid;
    grid-template-columns: 47% 1fr;
}
.area .txt-box {
    padding-left: 92px;
    position: relative;
    padding-top: 109px;
}
.area .enttl {
    margin-bottom: 53px;
}
.area .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 25px;
}
.area .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.area .lead {
    font-weight: bold;
    font-size: 19px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 17px;
}
.area .map {
    margin-left: -43px;
}

/* form
-------------------------------------*/
#renovation .m-form-bx {
    margin-top: -247px;
    position: relative;
    padding: 82px 0 89px;
    margin-bottom: -210px;
}
#renovation .m-form-bx::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/contact-human.png)no-repeat;
    background-size: contain;
    width: 156px;
    height: 194px;
    top: -194px;
    right: 99px;
}

#renovation .wpcf7-form-control.wpcf7-radio {
    display: grid;
    gap: 14px 0;
    grid-template-columns: repeat(1, 1fr);
}
#renovation .wpcf7-list-item {
    margin: 0!important;
    display: block;
}

#renovation .l-inner.l-tel {
    padding: 265px 0px 110px;
}

}


/* ========================================
@media screen and (min-width:768px) and (max-width:1650px)
======================================== */
@media screen and (min-width:768px) and (max-width:1650px) {/* main-frame
/* main-frame
-------------------------------------*/
.main-frame::before {
    bottom: 3.333vw;
    height: 22.97vw;
}
.main-frame .enttl {
    margin-bottom: -1.939vw;
}
.main-frame .enttl img {
    width: 82.61vw;
}
.main-frame .inner {
    width: 84.85vw;
    grid-template-columns: 1fr 58.85%;
}
.main-frame h2 {
    padding: 10.909vw 0 0 10.364vw;
    font-size: 1.697vw;
}
.main-frame h2 span {
    font-size: 2.182vw;
    padding: 0 1.333vw;
    left: -1.273vw;
    margin-bottom: 0.788vw;
}
.main-frame .photo img {
    width: 100%;
    height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* worries
-------------------------------------*/
.worries {
    padding-block: 7.656vw 6.875vw;
}
.worries h2 {
    font-size: 2.5vw;
    padding-left: 2.813vw;
    margin-bottom: 0.938vw;
}
.worries h2::before {
    width: 9.922vw;
    height: 8.984vw;
    bottom: 0;
    left: -15.391vw;
}
.worries h2 .span01::before,
.worries h2 .span01::after {
    width: 2.5vw;
    height: 4.063vw;
    bottom: 0.234vw;
}
.worries h2 .span01::before {
    background: url(../images/renovation/worries-fukidashi-l.svg)no-repeat;
    left: -5.937vw;
    background-size: contain;
}
.worries h2 .span01::after {
    background: url(../images/renovation/worries-fukidashi-r.svg)no-repeat;
    right: -5.781vw;
    background-size: contain;
}
.worries .list {
    width: 94.38vw;
    gap: 0 3.281vw;
    margin-bottom: 9.688vw;
}
.worries .list::after {
    width: 6.25vw;
    height: 3.672vw;
    bottom: -7.031vw;
    left: 50%;
    transform: translateX(-50%);
}
.worries .list li {
    background: url(../images/renovation/worries-list-bg.png)no-repeat;
    background-size: cover;
    width: 45.55vw;
    padding: 7.031vw 5.469vw 3.047vw 10.078vw;
}
.worries .list li h3 {
    font-size: 1.875vw;
    margin-bottom: 1.641vw;
}
.worries .list li h3::before {
    width: 2.422vw;
    height: 2.344vw;
    left: -3.359vw;
    top: 0.469vw;
}
.worries .list li > .txt {
    font-size: clamp(0.563rem, -0.094rem + 1.37vw, 1rem);
}

/* list02 */
.worries .list li:nth-child(2){
    padding: 7.031vw 4.297vw 3.047vw 11.016vw;
}
/* list03 */
.worries .list li:nth-child(3){
    padding: 6.875vw 5.781vw 3.047vw 9.688vw;
    margin-top: -1.719vw;
}

.worries h4 {
    font-size: 2.969vw;
    margin-bottom: 1.797vw;
}
.worries h4 span {
    padding: 1.25vw 1.563vw;
    margin-bottom: 0.625vw;
}
.worries h4::after {
    width: 10.781vw;
    height: 17.578vw;
    bottom: 0;
    right: -8.516vw;
}
.worries .txt {
    font-size: clamp(0.75rem, 0.188rem + 1.17vw, 1.125rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1610px)
======================================== */
@media screen and (min-width:768px) and (max-width:1610px) {
/* point
-------------------------------------*/
.point h2 {
    font-size: 2.36vw;
    width: 68.32vw;
    padding-block: 4.224vw 7.081vw;
    margin-top: -7.888vw;
}
.point h2 span {
    font-size: 3.354vw;
}
.point .list {
    gap: 7.64vw;
}
.point .list li .num {
    margin-bottom: 0.932vw;
}
.point .list li h3 {
    font-size: 2.236vw;
    margin-bottom: 6.335vw;
}
.point .list li h3 .bold {
    font-size: 2.733vw;
    margin: -0.124vw 0 0;
}
.point .list li .txt-box {
    top: -0.621vw;
}
.point .list li h4 {
    font-size: clamp(0.75rem, -0.375rem + 2.34vw, 1.5rem);
    margin-bottom: 1.925vw;
    padding-bottom: 0.311vw;
    border-bottom: 0.31vw solid #3E79B7;
    width: max-content;
}
.point .list li .txt {
    font-size: clamp(0.625rem, 0.063rem + 1.17vw, 1rem);
    margin-bottom: 1.988vw;
}

/* list01 */
.point .list .list01::before {
    height: 81%;
}
.point .list .list01 .inBox {
    width: 96.52vw;
    grid-template-columns: 50% 37%;
    gap: 4.224vw;
    padding-bottom: 4.72vw;
}
.point .list .list01 .txt {
    width: 34.10vw;
}

/* list02 */
.point .list .list02::before {
    width: 44.01%;
    height: 27.329vw;
}
.point .list .list02 h3 {
    margin-bottom: 6.894vw;
}
.point .list .list02 .inBox {
    width: 86.96vw;
    grid-template-columns: 47.14% 50%;
    gap: 2.484vw;
    padding-bottom: 3.416vw;
}
.point .list .list02 .inBox .txt-box {
    padding-left: 6.211vw;
}

/* list03 */
.point .list .list03::before {
    width: 47.55%;
    height: 27.95vw;
    bottom: 10.932vw;
    left: 0;
}
.point .list .list03 h3 {
    margin-bottom: 6.584vw;
}
.point .list .list03 .inBox {
    width: 93.85vw;
    grid-template-columns: 55.65% 34.34%;
    gap: 9.565vw;
    padding-bottom: 7.391vw;
}
.point .list .list03 .inBox .txt-box::before {
    width: 10.435vw;
    height: 9.814vw;
    bottom: 2.919vw;
    left: -14.348vw;
}
.point .list .list03 .photo {
    left: -0.435vw;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* menu
-------------------------------------*/
.menu {
    padding-block: 8.438vw 11.563vw;
    margin-bottom: 9.453vw;
}
.menu h2 {
    font-size: 2.5vw;
    margin-bottom: 5.234vw;
    padding-bottom: 2.891vw;
}
.menu h2::after {
    width: 11.719vw;
    height: 0.234vw;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.menu h2 span {
    font-size: 3.281vw;
    margin: -0.234vw 0 0;
}
.menu .list {
    gap: 4.688vw;
    margin-bottom: 5.547vw;
}
.menu .list > li {
    border-radius: 0.781vw;
    padding: 2.266vw 2.109vw 2.891vw;
}
.menu .list li .icon {
    margin-bottom: 0.078vw;
}
.menu .list li h3 {
    font-size: 2.188vw;
    margin-bottom: 1.641vw;
}
.menu .list li .photo {
    margin-bottom: 0.469vw;
}
.menu .list li .point-list {
    margin-bottom: 1.094vw;
}
.menu .list li .point-list > li{
    font-size: 1.563vw;
    padding-left: 1.563vw;
}
.menu .list li .point-list > li::before {
    width: 1.563vw;
    height: 1.484vw;
    left: 0;
    top: 1.016vw;
}
.menu .list li .txt {
    font-size: clamp(0.625rem, 0.063rem + 1.17vw, 1rem);
    margin-bottom: 2.5vw;
}

/* list04 */
.menu .list li:nth-child(4) .photo {
    margin-bottom: 1.797vw;
}
.menu .list li:nth-child(4) .point-list {
    margin-bottom: 3.125vw;
}

/* list05 */
.menu .list li:nth-child(5) {
    padding: 3.203vw 2.109vw 3.906vw;
}
.menu .list li:nth-child(5)::after {
    width: 20.859vw;
    height: 12.188vw;
    bottom: -8.359vw;
    right: 5.234vw;
}
.menu .list li:nth-child(5) .icon {
    margin-bottom: 0.781vw;
}
.menu .list li:nth-child(5) .inBox {
    grid-template-columns: 44.74% 48.75%;
    gap: 4.297vw;
}
.menu .list li:nth-child(5) .point-list > li {
    font-size: 1.406vw;
}
.menu .list li:nth-child(5)  .photo {
    top: 0.234vw;
}

/* pickup */
.menu .pickup::before {
    width: 19.141vw;
    height: 10.859vw;
    top: -3.438vw;
    left: 11.875vw;
}
.menu .pickup h4{
    font-size: 2.5vw;
    margin-bottom: 1.719vw;
}
.menu .pickup h4 span {
    padding: 0.469vw 1.953vw;
}
.menu .pickup .lead {
    font-size: 1.875vw;
    margin-bottom: 2.5vw;
}
.menu .pickup .list li:nth-child(1)::after {
    width: 3.047vw;
    height: 5.391vw;
    top: 49%;
    right: -4.453vw;
    transform: translateY(-50%);
}
.menu .pickup .list li:nth-child(2) {
    margin-left: -0.547vw;
}
.menu .list li .photo img {
    width: 100%;
    height: auto;
}
.menu .pickup .list li img {
    width: 100%;
    height: auto;
}


/* end-sec
-------------------------------------*/
.end-sec {
    padding-bottom: 11.719vw;
}
.end-sec .photo{
    margin-bottom: 9.063vw;
}
.end-sec .lead {
    font-size: 2.813vw;
    margin-bottom: 0.625vw;
}
.end-sec h2 {
    font-size: 2.813vw;
}
.end-sec h2::before {
    width: 10.234vw;
    height: 27.578vw;
    bottom: -5.703vw;
    left: -10.156vw;
}
.end-sec h2 span {
    font-size: 3.438vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* area
-------------------------------------*/
.area .txt-box {
    padding-left: 7.187vw;
    padding-top: 8.516vw;
}
.area .enttl {
    margin-bottom: 4.141vw;
}
.area .txt {
    margin-bottom: 1.953vw;
}
.area .lead {
    font-size: 1.484vw;
    margin-bottom: 1.328vw;
}
.area .map {
    margin-left: -3.359vw;
}
.area .map img {
    width: 100%;
    height: auto;
}
}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#renovation main {
    padding: 3vw 0 10vw;
}


/* main-frame
-------------------------------------*/
.main-frame {
    position: relative;
}
.main-frame::before {
    position: absolute;
    content: "";
    background: #F4F4EE;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 72.22vw;
}
.main-frame .enttl {
    text-align: center;
    margin-bottom: -3vw;
}
.main-frame .inner {
    width: 93.96vw;
    margin-inline: auto;
    display: grid;
    padding-bottom: 8vw;
}
.main-frame h2 {
    font-weight: bold;
    font-size:5.072vw;
    letter-spacing: 0.1em;
    line-height: 1.6666;
    position: relative;
    order: 2;
    margin-left: 7.5vw;
    z-index: 3;
}
.main-frame h2 span {
    display: inline-block;
    font-weight: bold;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
    background: #FFFFFF;
    padding: 1vw 3.9vw 0;
    position: relative;
    margin-bottom: 2.5vw;
    left: -4vw;
}
.main-frame .photo {
    position: relative;
    order: 1;
    margin-bottom: -7vw;
}

/* worries
-------------------------------------*/
.worries {
    text-align: center;
    padding-block: 8.94vw 16.91vw;
}
.worries h2 {
    position: relative;
    display: inline-block;
    text-align: center;
    font-size:5.797vw;
    font-weight: 700;
    line-height: 1.375;
    letter-spacing: 0.1em;
    margin-bottom: 5.07vw;
    padding-right: 15vw;
}
.worries h2::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/worries-human01_sp.png)no-repeat;
    background-size: contain;
    width: 18.48vw;
    height: 16.91vw;
    bottom: 1vw;
    right: -9.4vw;
}
.worries h2 .span01 {
    position: relative;
}
.worries h2 .span01::before,
.worries h2 .span01::after {
    position: absolute;
    content: "";
    width: 4.59vw;
    height: 7.25vw;
    bottom: 1.1vw;
}
.worries h2 .span01::before {
    background: url(../images/renovation/worries-fukidashi-l_sp.svg)no-repeat;
    left: -7.2vw;
    background-size: contain;
}
.worries h2 .span01::after {
    background: url(../images/renovation/worries-fukidashi-r_sp.svg)no-repeat;
    right: -6.5vw;
    background-size: contain;
}
.worries h2 .blue {
    color: #3E79B7;
}
.worries .list {
    display: grid;
    width: 91.79vw;
    margin-inline: auto;
    gap: 5.25vw 0;
    position: relative;
    margin-bottom: 14.87vw;
}
.worries .list::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/worries-arrow.svg)no-repeat;
    background-size: contain;
    width: 10.14vw;
    height: 6.04vw;
    bottom: -10.5vw;
    left: 50%;
    transform: translateX(-50%);
}
.worries .list li {
    background: url(../images/renovation/worries-list-bg_sp.png)no-repeat;
    background-size: contain;
    padding: 14.5vw 13.04vw 15.08vw 20.98vw;
}
.worries .list li h3 {
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 1.5625;
    position: relative;
    text-align: left;
    margin-bottom: 2vw;
}
.worries .list li h3::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/check-icon_sp.svg)no-repeat;
    background-size: contain;
    width: 3.86vw;
    height: 3.86vw;
    left: -6vw;
    top: 2vw;
}
.worries .list li > .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: left;
}

/* list02 */
.worries .list li:nth-child(2) {
    order: 3;
    padding: 17.5vw 13.04vw 12.08vw 20.98vw;
}

/* list03 */
.worries .list li:nth-child(3){
    order: 2;
    padding: 15.2vw 12.04vw 9.08vw 19.98vw;
}

.worries h4 {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.03em;
    line-height: 1.1666;
    text-align: center;
    display: inline-block;
    color: #fff;
    position: relative;
    margin-bottom: 4.67vw;
}
.worries h4 span {
    background: #3E79B7;
    padding: 2.06vw 4.05vw;
    display: inline-block;
    margin-bottom: 0.8vw;
}
.worries h4 .span02 {
    padding: 2.06vw 1.5vw;
}
.worries h4::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/worries-human02_sp.png)no-repeat;
    background-size: contain;
    width: 17.75vw;
    height: 28.86vw;
    top: -21vw;
    right: 2.1vw;
}
.worries > .txt {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 1.75;
    text-align: center;
    width: 86.96vw;
    margin-inline: auto;
}

/* point
-------------------------------------*/
.point h2 {
    font-size:4.348vw;
    font-weight: 700;
    line-height: 2.1111;
    letter-spacing: 0.1em;
    text-align: center;
    background: #FFFFFF;
    width: 75.36vw;
    margin-inline: auto;
    padding-block: 2.89vw 4.35vw;
    margin-top: -12.4vw;
    position: relative;
    margin-bottom: 4.5vw;
}
.point h2 span {
    color: #3E79B7;
    display: block;
    font-size:6.28vw;
    line-height: 1.46153;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.point .list {
    display: grid;
    gap: 13.63vw;
}
.point .list li {
    position: relative;
}
.point .list li .inBox {
    width: 91.79vw;
    margin-inline: auto;
    position: relative;
    display: grid;
    gap: 5.5vw;
    padding-bottom: 13.65vw;
}
.point .list li .num {
    text-align: center;
    margin-bottom: 2.8vw;
    position: relative;
}
.point .list li h3 {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.7777;
    text-align: center;
    margin-bottom: 8.45vw;
    position: relative;
}
.point .list li h3 .bold {
    font-weight: bold;
    font-size:6.039vw;
    letter-spacing: 0;
    line-height: 1.76;
    text-align: center;
    display: block;
}
.point .list li h3 .blue {
    color: #3e79b7;
}
.point .list li .txt-box {
    width: 86.96vw;
    margin-inline: auto;
    order: 2;
}
.point .list li h4 {
    font-weight: bold;
    font-size:4.831vw;
    letter-spacing: 0.05em;
    line-height: 1.7;
    margin-bottom: 7vw;
    padding-bottom: 4.59vw;
    text-align: center;
    position: relative;
}
.point .list li h4::after {
    position: absolute;
    content: "";
    background: #3E79B7;
    height: 0.72vw;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.point .list li .txt {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.875;
    margin-bottom: 7.2vw;
}
.point .list li .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.point .list li .txt span {
    font-weight: 700;
}

/* list01 */
.point .list .list01::before {
    position: absolute;
    content: "";
    background: #F4F4ED;
    width: 100%;
    height: 257.03vw;
    bottom: 0;
    left: 0;
}
.point .list .list01 h4::after  {
    width: 86.96vw;
}

/* list02 */
.point .list .list02 h3 .bold {
    letter-spacing: 0.1em;
}
.point .list .list02 h4::after  {
    width: 70.05vw;
}

/* list03 */
.point .list .list03 {
    padding-top: 3vw;
}
.point .list .list03 h3 .bold {
    letter-spacing: 0.1em;
}
.point .list .list03::before {
    position: absolute;
    content: "";
    background: #F4F4ED;
    width: 100%;
    height: 150.84vw;
    top: -14vw;
    left: 0;
}
.point .list .list03 .inBox {
    width: 93.96vw;
    padding-bottom: 19vw;
}
.point .list .list03 h4::after  {
    width: 75.36vw;
}
.point .list .list03 .inBox .txt-box::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/point03-human_sp.png)no-repeat;
    background-size: contain;
    width: 26.21vw;
    height: 24.76vw;
    bottom: 0;
    right: 9.5vw;
}

/* menu
-------------------------------------*/
.menu {
    background: #F4F4ED;
    padding-block: 13.23vw 16.36vw;
    margin-bottom: 16.91vw;
}
.menu h2 {
    font-size:3.865vw;
    font-weight: 700;
    line-height: 2.125;
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
    margin-bottom: 9.73vw;
    padding-bottom: 4.65vw;
}
.menu h2::after {
    position: absolute;
    content: "";
    background: #3E79B7;
    width: 19.32vw;
    height: 0.72vw;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.menu h2 span {
    font-size:5.797vw;
    font-weight: 700;
    line-height: 1.4166;
    letter-spacing: 0.1em;
    display: block;
    margin: -1vw 0 0;
}
.menu .list {
    width: 91.79vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 18.12vw;
    margin-bottom: 19.5vw;
}
.menu .list > li {
    border-radius: 2.42vw;
    background: #fff;
    padding: 7.73vw 4.83vw 7.45vw;
}
.menu .list li .icon {
    text-align: center;
    margin-bottom: -0.91vw;
}
.menu .list li h3 {
    font-weight: bold;
    font-size:5.797vw;
    letter-spacing: 0.1em;
    text-align: center;
    color: #3e79b7;
    margin-bottom: 3.35vw;
}
.menu .list li .photo {
    margin-bottom: 1.7vw;
}
.menu .list li .point-list {
    margin-bottom: 3.68vw;
}
.menu .list li .point-list > li{
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    border-bottom: 0.2vw dashed #B2B2B2;
    position: relative;
    padding-left: 6vw;
}
.menu .list li .point-list > li::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/check-icon.svg)no-repeat;
    background-size: contain;
    width: 3.97vw;
    height: 3.93vw;
    left: 1.5vw;
    top: 2vw;
}
.menu .list li .txt {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.875;
    margin-bottom: 7.65vw;
    width: 78.74vw;
    margin-inline: auto;
}
.menu .list li .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

/* list05 */
.menu .list li:nth-child(5) {
    position: relative;
}
.menu .list li:nth-child(5)::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/menu-human_sp.png)no-repeat;
    background-size: contain;
    width: 36.47vw;
    height: 21.50vw;
    bottom: -12vw;
    right: 6vw;
}

/* pickup */
.menu .pickup {
    position: relative;
}
.menu .pickup::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/pickup.svg) no-repeat;
    background-size: contain;
    width: 32.68vw;
    height: 26.53vw;
    top: -16vw;
    left: 7vw;
}
.menu .pickup h4{
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
    color: #fff;
    margin-bottom: 4.99vw;
}
.menu .pickup h4 span {
    background: #3E79B7;
    padding: 1.4vw 3.7vw;
}
.menu .pickup .lead {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.5555;
    text-align: left;
    margin-bottom: 3.76vw;
    width: 76.09vw;
    margin-inline: auto;
}
.menu .pickup .list {
    display: grid;
    gap: 10.97vw;
    margin-bottom: 0;
}
.menu .pickup .list li {
    padding: 0;
    position: relative;
    background: none;
}
.menu .pickup .list li:nth-child(1)::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/pickup-arrow_sp.svg)no-repeat;
    background-size: contain;
    width: 13.77vw;
    height: 7.97vw;
    bottom: -8vw;
    left: 50%;
    transform: translateX(-50%);
}

/* end-sec
-------------------------------------*/
.end-sec {
    text-align: center;
    padding-bottom: 12.90vw;
}
.end-sec .photo{
    margin-bottom: 10.33vw;
}
.end-sec .lead {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.5555;
    text-align: left;
    margin-bottom: -1.2vw;
    width: 62.32vw;
    margin-inline: auto;
    padding-left: 9vw;
}
.end-sec h2 {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 2;
    text-align: left;
    position: relative;
    display: inline-block;
    width: 84.32vw;
    margin-inline: auto;
    padding-left: 20vw;
}
.end-sec h2::before {
    position: absolute;
    content: "";
    background: url(../images/renovation/end-sec-human_sp.png)no-repeat;
    background-size: contain;
    width: 13.89vw;
    height: 37.44vw;
    bottom: -1vw;
    left: 2vw;
}
.end-sec h2 span {
    font-size:5.797vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #3E79B7;
    display: block;
    margin: -0.5vw 0 0;
}

/* area
-------------------------------------*/
.area {
    background: #F4F4ED;
    width: 91.79vw;
    margin-inline: auto;
    margin-bottom: 14.54vw;
    position: relative;
    z-index: 1;
}
.area::after {
    position: absolute;
    content: "";
    background: url(../images/renovation/contact-human.png)no-repeat;
    background-size: contain;
    width: 28.02vw;
    height: 40.82vw;
    bottom: -25vw;
    right: 3.5vw;
}
.area .inner {
    width: 86.96vw;
    margin-inline: auto;
    padding-block: 12.97vw 12.20vw;
    display: grid;
}
.area .txt-box {
    display: contents;
}
.area .enttl {
    margin-bottom: 5.28vw;
    order: 1;
    text-align: center;
}
.area .enttl img {
    width: 28.74vw;
}
.area .txt {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 2.8vw;
    order: 3;
}
.area .txt:nth-last-of-type(1) {
    margin-bottom: 0;
    order: 5;
}
.area .lead {
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 3.94vw;
    order: 4;
}
.area .map {
    order: 2;
    padding-left: 1.5vw;
    margin-bottom: 1.08vw;
}

.p-tel {
    position: relative;
    z-index: 10;
}

/* form
-------------------------------------*/
#renovation .form-Box {
    padding: 12.493vw 0 0;
}
#renovation .form-Box .formttl {
    line-height: 1.5;
}
#renovation .wpcf7-form-control.wpcf7-radio {
    display: grid;
    gap: 2.7vw 0;
    grid-template-columns: repeat(1, 1fr);
}

}