@charset "UTF-8";
@media screen and (min-width: 768px),print {



#designrenovation {
    max-width: 1830px;
    width: 100%;
    margin-inline: auto;
    position: relative;
}
#designrenovation::before {
    position: absolute;
    content: "";
    background: #F2F0EB;
    width: 100%;
    height: 444px;
    bottom: 0;
    left: 0;
}
/* mv
-------------------------------------*/
.mv {
    background: #F2F0EB;
    margin-top: 65px;
}
.mv .inner {
    width: min(95%, 1160px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 60% 41.38%;
    padding: 65px 0 0;
    gap: 9px;
}
.mv .txt-box {
    position: relative;
    left: 30px;
}
.mv .main-ttl{
    font-weight: 900;
    font-size: 70px;
    line-height: 1.285714;
    letter-spacing: 0;
    margin-bottom: 22px;
}
.mv .main-ttl span{
    font-size: 56px;
}
.mv .subt01{
    font-weight: 900;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.416666;
    margin-bottom: 8px;
}
.mv .photo {
    position: relative;
    top: -128px;
    left: 6px;
    margin-bottom: -156px;
    z-index: 10;
}
.mv .photo img {
    width: 100%;
    height: auto;
}

/* about
-------------------------------------*/
.about .en-deco img {
    width: 100%;
    height: auto;
}

.about .nagare {
    width: 2826px;
    height: 80px;
    overflow: hidden;
    margin-bottom: 4px;
}

.about element {
    backface-visibility: visible;
    backface-visibility: hidden;
}

.about .nagare img {
    backface-visibility: hidden;
}

.about .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    padding: 43px 0 75px;
}
.about h2 {
    font-weight: 900;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.33333;
    text-align: center;
    position: relative;
    margin-bottom: 36px;
}
.about h2::after {
    content: "";
    width: 40px;
    height: 1px;
    background: #252525;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}
.about .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    margin-bottom: 23px;
}
.about .photo img {
    width: 100%;
    height: auto;
}

/* recommend
-------------------------------------*/
.recommend {
    background: #f2f0eb;
}
.recommend .inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    text-align: center;
    padding: 39px 0 80px;
}
.recommend h2 {
    font-weight: 900;
    font-size: 36px;
    line-height: 1.4444;
    letter-spacing: 0.05em;
    text-align: center;
    background: url(../images/designrenovation/recommend-ttl-bg.png)no-repeat center bottom;
    background-size: contain;
    display: inline-block;
    padding: 0 12px 25px;
    margin-bottom: 19px;
}
.recommend h2 span {
    font-size: 54px;
    line-height: 1.4629;
    letter-spacing: 0.05em;
}
.recommend .list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 47px;
}
.recommend .list li .txt{
    background: url(../images/designrenovation/recommend-txt-bg.png)no-repeat;
    background-size: cover;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 1.6;
    padding: 14px 0 27px;
    margin-bottom: 10px;
}
.recommend .list li:nth-child(2) .txt,
.recommend .list li:nth-child(3) .txt {
    background: url(../images/designrenovation/recommend-txt-bg02.png)no-repeat;
    background-size: cover;
}
.recommend .list li .txt span {
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 0.04em;
}
.recommend .list li .img-wrap {
    display: flex;
    gap: 9px;
    align-items: baseline;
    margin-bottom: 4px;
    justify-content: center;
}
.recommend .list li:nth-child(2) .img-wrap,
.recommend .list li:nth-child(3) .img-wrap {
    gap: 1px;
    margin: 0 0 4px 15px;
}
.recommend .list li .name {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1;
    position: relative;
    top: -8px;
}
.recommend .message-box {
    width: min(95%, 1000px);
    margin-inline: auto;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #252525;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    padding: 34px 0 27px;
    position: relative;
}
.recommend .message-box::before {
    position: absolute;
    content: "";
    background: url(../images/designrenovation/recommend-human.png)no-repeat;
    background-size: contain;
    width: 102px;
    height: 153px;
    bottom: 0;
    right: 92px;
}
.recommend .message-box .txt {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    padding: 0 101px 0 0;
}
.recommend .message-box .txt span {
    background: linear-gradient(transparent 70%, #FFDE1E 30%);
}

/* merit
-------------------------------------*/
.merit .inner{
    width: min(95%, 1220px);
    margin-inline: auto;
    padding: 57px 0 100px;
}
.merit h2{
    font-weight: 900;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.33333;
    text-align: center;
    position: relative;
    margin-bottom: 36px;
}
.merit h2::after{
    content: "";
    width: 40px;
    height: 1px;
    background: #252525;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}
.merit .subt{
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    margin-bottom: 37px;
}
.merit .list{
    background: #f2f0eb;
    padding: 60px;
    display: grid;
    gap: 30px;
}
.merit .list li{
    padding: 32px 29px 30px 40px;
    display: grid;
    grid-template-columns: 33.043% 1fr;
    gap: 39px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #252525;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.merit .list li .photo {
    padding: 8px 0 0;
}
.merit .list li .photo img {
    width: 100%;
    height: auto;
}
.merit .list li .num {
    font-family: "Outfit", sans-serif;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.05em;
    display: flex;
    gap: 6px;
    align-items: baseline;
    margin-bottom: 9px;
}
.merit .list li .num span {
    font-size: 30px;
    letter-spacing: 0;
}
.merit .list li h3 {
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.05em;
    line-height: 1.066666;
    border-bottom: 1px solid #252525;
    padding-bottom: 22px;
    margin-bottom: 14px;
}
.merit .list li h3 span {
    color: #FE7500;
}
.merit .list li .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
}

/* case
-------------------------------------*/
.case {
    background: #F2F0EB;
    padding: 92px 0 90px;
}
.case .inner{
    width: min(95%, 1100px);
    margin-inline: auto;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #252525;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    padding: 39px 0 0;
}
.case h2 {
    font-weight: 900;
    font-size: 34px;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 31px;
}
.case h2 span{
    font-size: 42px;
    line-height: 1.35;
    background: linear-gradient(transparent 70%, #FFDE1E 30%);
    margin: 0 0 8px;
    display: inline-block;
}
.case .txt {
    width: min(95%, 1000px);
    margin-inline: auto;
    border-radius: 10px;
    background: #f2f0eb;
    padding: 23px 0;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    margin-top: 12px;
    margin-bottom: 66px;
}
.case .case_reform {
    padding-bottom: 69px;
}
.case .case_reform h3 {
    font-weight: 900;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.1111;
    text-align: center;
    position: relative;
    margin-bottom: 40px;
}
.case .case_reform h3::after {
    content: "";
    width: 40px;
    height: 1px;
    background: #252525;
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
}

.case .btn {
    width: min(95%, 440px);
    margin-inline: auto;
    height: 80px;
}
.case .btn a{
    overflow: hidden;
    display: block;
    transition: 0.25s ease-in-out;
    background: url(../images/designrenovation/btn.png)no-repeat;
    height: 80px;
}
.case .btn a:hover {
    transform: translate(0px, 5px);
    transition: 0.25s ease-in-out;
    height: 75px;
    background: url(../images/designrenovation/btn-hover.png)no-repeat;
}
.case .btn a:hover img {
    opacity: 1;
}
.case .real_estate {
    padding-bottom: 60px;
}
.case .real_estate h3 {
    font-weight: 900;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.527777;
    text-align: center;
    margin-bottom: 12px;
}
.case .real_estate h3 span{
    font-size: 48px;
    line-height: 1.145833;
    background: linear-gradient(transparent 80%, #FFDE1E 20%);
}
.case .real_estate .subt {
    font-weight: bold;
    font-size: 19px;
    letter-spacing: 0.05em;
    line-height: 2.36842;
    text-align: center;
}
.case .real_estate .subt span {
    font-weight: 900;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 1.6071428;
    text-align: center;
}

/* 仮画像 */
.case .sample {
    text-align: center;
}

/* bottom-sec
-------------------------------------*/
.bottom-sec {
    width: min(95%, 1160px);
    margin-inline: auto;
    margin-bottom: -186px;
}
.bottom-sec .inner {
    display: inline-grid;
    grid-template-columns: 53.028% 53.4482%;
    padding: 92px 0 215px;
    align-items: center;
}
.bottom-sec .txt-box {
    border-radius: 50px;
    background: #fff;
    border: 1.2px solid #252525;
    box-shadow: 17px 17px 23px rgba(0, 0, 0, 0.1);
    padding: 60px 0 55px 38px;
    position: relative;
    left: 29px;
    z-index: 2;
    top: 7px;
}
.bottom-sec .txt-box .ttl {
    font-weight: 900;
    font-size: 46px;
    line-height: 1.4347826;
    letter-spacing: 0;
    margin-bottom: 17px;
    position: relative;
}
.bottom-sec .txt-box .ttl::before {
    position: absolute;
    content: "";
    background: url(../images/common/bottom-sec-deco.png)no-repeat;
    background-size: contain;
    width: 56px;
    height: 65px;
    top: -78px;
    left: 20px;
}
.bottom-sec .txt-box .txt {
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.777777;
}
.bottom-sec .photo {
    position: relative;
    left: -45px;
}
.bottom-sec .photo img {
    width: 100%;
    height: auto;
}

}
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
.mv {
    background: #F2F0EB;
    margin-top: 7vw;
}
.mv .inner {
    width: 89vw;
    margin-inline: auto;
    display: grid;
    text-align: center;
    padding: 7vw 0 4vw;
}
.mv .main-ttl{
    font-weight: 900;
    font-size:8.696vw;
    line-height: 1.2777;
    letter-spacing: 0;
    margin-bottom: 5.6vw;
    order: 1;
}
.mv .txt-box {
    display: contents;
}
.mv .subt01{
    font-weight: 900;
    font-size:5.1vw;
    letter-spacing: 0.05em;
    line-height: 1.2727;
    margin-bottom: 1.5vw;
    order: 3;
}
.mv .subt02 {
    order: 4;
}
.mv .photo {
    order: 2;
    width: 86.96vw;
    margin-inline: auto;
    margin-bottom: 2vw;
}

/* about
-------------------------------------*/
.about .nagare {
    width: 123.43vw;
    height: 11.353vw;
    overflow: hidden;
    margin-bottom: 5.072vw;
}

.about element {
    backface-visibility: visible;
    backface-visibility: hidden;
}

.about .nagare img {
    backface-visibility: hidden;
}

.about .inner {
    width: 86.96vw;
    margin-inline: auto;
    padding: 5.5vw 0 8.4vw;
    display: grid;
}
.about h2 {
    font-weight: 900;
    font-size:5.797vw;
    letter-spacing: 0.05em;
    line-height: 1.33333;
    text-align: center;
    position: relative;
    margin-bottom: 9vw;
    order: 1;
}
.about h2::after {
    content: "";
    width: 9.66vw;
    height: 0.2vw;
    background: #252525;
    position: absolute;
    bottom: -4.2vw;
    left: 50%;
    transform: translateX(-50%);
}
.about .txt {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    order: 3;
}
.about .photo {
    order: 2;
    margin-bottom: 2vw;
}

/* recommend
-------------------------------------*/
.recommend {
    background: #f2f0eb;
}
.recommend .inner {
    text-align: center;
    padding: 9.6vw 0 10vw;
}
.recommend h2 {
    font-weight: 900;
    font-size:5.797vw;
    line-height: 1.45833;
    letter-spacing: 0.05em;
    text-align: center;
    background: url(../images/designrenovation/recommend-ttl-bg_sp.png)no-repeat center bottom;
    background-size: contain;
    display: inline-block;
    padding: 0 3.5vw 4.8vw;
    margin-bottom: 4.7vw;
}
.recommend h2 span {
    font-size:8.937vw;
    line-height: 1.45945;
    letter-spacing: 0.05em;
}
.recommend .list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 3.6vw;
    margin-bottom: 7vw;
    width: 86.96vw;
    margin-inline: auto;
}
.recommend .list li {
    position: relative;
}
.recommend .list li .txt{
    background: url(../images/designrenovation/recommend-txt-bg_sp.png)no-repeat;
    background-size: contain;
    font-weight: 700;
    font-size:3.865vw;
    letter-spacing: 0.04em;
    line-height: 1.625;
    padding: 3.4vw 0 6.3vw;
    margin-bottom: 9vw;
    width: 66.8vw;
}
.recommend .list li .txt span {
    font-weight: 900;
    font-size:4.348vw;
    letter-spacing: 0.04em;
}
.recommend .list li .img-wrap {
    display: flex;
    gap: 3vw;
    align-items: baseline;
    margin-bottom: 2vw;
    justify-content: center;
    position: absolute;
    top: 9vw;
    right: 0;
}
.recommend .list li .img-wrap .img {
    order: 2;
}
.recommend .list li .img-wrap img {
    width: 20.29vw;
}
.recommend .list li .name {
    font-weight: bold;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1;
    position: relative;
    order: 1;
    top: -1vw;
}
.recommend .message-box {
    border-radius: 2.42vw;
    background: #fff;
    border: 0.2vw solid #252525;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
    padding: 3.9vw 3.2vw 26vw;
    position: relative;
    width: 86.96vw;
    margin-inline: auto;
}
.recommend .message-box::before {
    position: absolute;
    content: "";
    background: url(../images/designrenovation/recommend-human_sp.png)no-repeat;
    background-size: contain;
    width: 24.64vw;
    height: 31.64vw;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.recommend .message-box .txt {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.777;
    text-align: left;
}
.recommend .message-box .txt span {
    background: linear-gradient(transparent 70%, #FFDE1E 30%);
}

/* merit
-------------------------------------*/
.merit .inner{
    padding: 9vw 0 0;
}
.merit h2{
    font-weight: 900;
    font-size:5.797vw;
    letter-spacing: 0.05em;
    line-height: 1.6666;
    text-align: center;
    position: relative;
    margin-bottom: 7vw;
}
.merit h2::after{
    content: "";
    width: 9.66vw;
    height: 0.2vw;
    background: #252525;
    position: absolute;
    bottom: -3vw;
    left: 50%;
    transform: translateX(-50%);
}
.merit .subt{
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 4vw;
    width: 86.96vw;
    margin-inline: auto;
}
.merit .list{
    background: #f2f0eb;
    padding: 7.25vw 0 17vw;
    display: grid;
    gap: 7.5vw;
    border-bottom: 0.2vw solid #252525;
}
.merit .list li{
    padding: 5.6vw 5.7vw 6vw;
    display: grid;
    border-radius: 2.42vw;
    background: #fff;
    border: 0.2vw solid #252525;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    width: 94.20vw;
    margin-inline: auto;
}
.merit .list li .photo {
   order: 3;
   margin-bottom: 1.5vw;
}
.merit .list li .txt-box {
    display: contents;
}
.merit .list li .num {
    font-family: "Outfit", sans-serif;
    font-weight: bold;
    font-size:4.106vw;
    letter-spacing: 0.05em;
    display: flex;
    gap: 1vw;
    align-items: baseline;
    margin-bottom: 0.4vw;
    order: 1;
    justify-content: center;
}
.merit .list li .num span {
    font-size:6.522vw;
    letter-spacing: 0;
}
.merit .list li h3 {
    font-weight: bold;
    font-size:5.797vw;
    letter-spacing: 0.05em;
    line-height: 1.666666;
    border-bottom: 0.2vw solid #252525;
    padding-bottom: 3vw;
    margin-bottom: 6.2vw;
    order: 2;
    text-align: center;
}
.merit .list li h3 span {
    color: #FE7500;
    display: block;
}
.merit .list li .txt {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    order: 4;
}

/* case
-------------------------------------*/
.case {
    border-bottom: 0.2vw solid #252525;
    position: relative;
}
.case::after {

}
.case .inner{
    width: 88.41vw;
    margin-inline: auto;
    padding: 7.49vw 0 9vw;
}
.case h2 {
    font-weight: 900;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 5vw;
}
.case h2 span{
    font-size:7.971vw;
    line-height: 1.2727;
    background: linear-gradient(transparent 70%, #FFDE1E 30%);
}
.case .txt {
    width: 86.96vw;
    margin-inline: auto;
    border-radius: 2.42vw;
    background: #f2f0eb;
    padding: 4.2vw 4.5vw;
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-top: 4.83vw;
    margin-bottom: 13.08vw;
}
.case .case_reform h3 {
    font-weight: 900;
    font-size:5.797vw;
    letter-spacing: 0.05em;
    line-height: 1.3333;
    text-align: center;
    position: relative;
    margin-bottom: 12.18vw;
}
.case .case_reform h3::after {
    content: "";
    width: 9.66vw;
    height: 0.2vw;
    background: #252525;
    position: absolute;
    bottom: -4vw;
    left: 50%;
    transform: translateX(-50%);
}

.case .btn {
    width: 86.96vw;
    margin-inline: auto;
}
.case .btn a{
    overflow: hidden;
    display: block;
    transition: 0.25s ease-in-out;
    background: url(../images/designrenovation/btn_sp.png)no-repeat;
    height: 19.32vw;
    background-size: contain;
}
.case .btn a:hover {
    transform: translate(0px, 5px);
    transition: 0.25s ease-in-out;
    height: 18.12vw;
    background: url(../images/designrenovation/btn-hover.png)no-repeat;
}
.case .btn a:hover img {
    opacity: 1;
}
.case .real_estate {
    padding: 14.8vw 0 0;
}
.case .real_estate h3 {
    font-weight: 900;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    line-height: 1.61538;
    text-align: center;
    margin-bottom: 1vw;
}
.case .real_estate h3 span{
    font-size:8.937vw;
    line-height: 1.13513;
    background: linear-gradient(transparent 80%, #FFDE1E 20%);
}
.case .real_estate .subt {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.8333;
    text-align: center;
}
.case .real_estate .subt span {
    font-weight: 900;
    font-size:5.797vw;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: center;
}
.case .real_estate .system-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4.83vw;
}

/* bottom-sec
-------------------------------------*/
.bottom-sec {
    background: #F2F0EB;
    margin-top: 22vw;
    position: relative;
}
.bottom-sec::before {
    position: absolute;
    content: "";
    background: #F2F0EB;
    width: 100%;
    height: 9.5vw;
    top: -22vw;
    left: 0;
    z-index: 1;
}
.bottom-sec .inner {
    display: grid;
}   
.bottom-sec .txt-box {
    order: 2;
    border-radius: 7.3vw;
    background: #fff;
    border: 0.2vw solid #252525;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1);
    padding: 12vw 7vw 8.5vw;
    position: relative;
    z-index: 2;
    top: -10vw;
    width: 87vw;
    left: 49%;
    transform: translateX(-50%);
    margin-bottom: 9vw;
}
.bottom-sec .txt-box .ttl {
    font-weight: 900;
    font-size:6.763vw;
    line-height: 1.53571428;
    letter-spacing: 0;
    margin-bottom: 4vw;
    position: relative;
    text-align: center;
}
.bottom-sec .txt-box .ttl::before {
    position: absolute;
    content: "";
    background: url(../images/common/bottom-sec-deco.png)no-repeat;
    background-size: contain;
    width: 11.114vw;
    height: 12.08vw;
    top: -15vw;
    left: 48%;
    transform: translateX(-50%);
}
.bottom-sec .txt-box .txt {
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
}
.bottom-sec .photo {
}
}