#services_anker_inner{
max-width:40vw;
	margin:0 auto;
	gap: 2rem;
}

#services_anker a{
    background: var(--main);
    color: var(--main-r);
    width: calc(50% - 1rem);
    padding: 2rem;
    display: flex;
    gap: 2rem;
    font-family: "NotosansJP-B", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Meiryo", sans-serif;
}

.services-main .img-deco p{
    position: absolute;
    top: -30px;
    left: 3rem;
    font-size: 5rem;
    font-family: var(--en);
    color: var(--accent);
    line-height: 1;
}

.services-title h2{
    font-size: 3rem;
    color: var(--txt);
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 3rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #A7A7A7;
}

.services-en{
    font-family: var(--en);
    color: var(--accent);
    font-size: 1.6rem;
}

.sec-subtitle{
    border-bottom: 1px solid #707070;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
}

.necessity .l-flex{
	align-items:initial;
}

.necessity-item,
.sign-item,
.point-item{
    width: calc(100% / 3 - 3.3333333rem);
}

.necessity-item{
    background: #F5F5F5;
    padding: 4rem 3rem;
}

.necessity-item h4{
    line-height: 1;
	margin-bottom:3rem;
}

.necessity-item h4 .num{
font-size: 3rem;
    font-family: var(--en);
    margin-right: 1rem;
}

.necessity-item h4,
.sign-item h4,
.point-item h5{
    font-size: 1.6rem;	
}

.works-wrap{
background: #F5F5F5;
    padding: 5rem;
}

.bg .works-wrap{
background: var(--main-r);
}

.bg .works-wrap article{
background: var(--bg);
}

.bg .necessity-item {
background: var(--main-r);
}

.sign-item .sec-img {
    height: 30rem;
	margin:3rem 0 1rem 0;
}

.waterproof-item{
    background: var(--main-r);
    padding: 3rem;
	margin-bottom:5rem;
}

.waterproof-main{
	margin-bottom: 3rem;
}

.waterproof-main .sec-img{
    height: 40rem;
}

.waterproof-main .flex-l{
   width: calc(40% - 2.5rem);	
}

.waterproof-main .flex-r{
   width: calc(60% - 2.5rem);	
}

.waterproof-main .flex-r h4,
.painting-item .flex-r h4{
    font-size: 2.5rem;
    line-height: 1;
	margin-bottom:3rem;
}

.waterproof-main .flex-r h5{
    padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:1px solid #CCCCCC;
}

.waterproof-merit{
	align-items:initial;
}

.waterproof-merit .flex-l,
.waterproof-merit .flex-r{
    background: #F5F5F5;
    padding: 2rem;
}

.waterproof-merit .flex-l h5,
.waterproof-merit .flex-r h5{
    padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:1px solid #CCCCCC;
}

.waterproof-merit .flex-r h5{
    color: #EC5151;
}

.waterproof-point{
    margin-top: 10rem;
    text-align: center;
}

.waterproof-point h4{
    font-size: 2rem;
    background: var(--main-r);
    display: inline-block;
    margin-left:auto;
	margin-right:auto;
    line-height: 1;
    padding: 2rem 3rem;
    border-radius: 100px;
    border: 2px solid;
}

.waterproof-point .l-flex{
	align-items:initial;
}

.point-item{
text-align: left;
    background: var(--main-r);
    padding: 3rem;
}

.point-item h5{
	padding-bottom:2rem;
}

.painting-item{
background: #F5F5F5;
    padding: 3rem;
    margin-bottom: 5rem;
}

.painting-item .flex-l{
    width: calc(40% - 2.5rem);
    height: 35rem;
}

.painting-item .flex-r{
    width: calc(60% - 2.5rem);
}

.painting-flex{
display: flex;
    flex-wrap: wrap;
    gap: 5rem;
    margin-top: 3rem;
}

.painting-flex .painting-flex-l,
.painting-flex .painting-flex-r{
width: calc(100% / 2 - 2.5rem);
    background: var(--main-r);
    padding: 2rem;
}

.painting-flex h5{
padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #CCCCCC;
}

#painting_timing{
    text-align: center;
}

#painting_timing_inner{
    border: 1px solid var(--main);
	display:inline-block;
	    padding: 3rem;
}

#painting_timing h4{
	font-size: 2rem;
}

#painting_timing p{
	margin: 3rem 0;
font-family: "NotosansJP-B", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Meiryo", sans-serif;
}

#painting_timing p.note{
	color:#EC5151;
	font-size:13px;
	margin:0;
}

#flow{
	text-align:center;
}

#flow_inner{
	display: inline-block;
    background: var(--main-r);
    padding: 5rem;
    max-width: 70%;
}

.flow-item{
    text-align: left;
    background: #F5F5F5;
    margin-bottom: 2rem;
    padding: 3rem;
}

.flow-item:last-child{
    margin-bottom: 0;
}

.flow-item h4{
	margin-bottom:1rem;
}

.flow-item h4 .num{
	font-family:var(--en);
	font-size:2.5rem;
	margin-right:1rem;
}

@media screen and (max-width:1600px) {
.services-title h2 {
    font-size: 2.5rem;
gap: 2rem;
}
.services-en {
    font-size: 1.4rem;
}
.waterproof-main .flex-r h4, .painting-item .flex-r h4 {
    font-size: 2rem;
}
}

@media screen and (max-width:1400px) {
#services_anker_inner {
    max-width: 60vw;
}
.waterproof-main .sec-img,
.painting-item .flex-l {
    height: 30rem;
}
.sign-item .sec-img {
    height: 25rem;
}
.works-wrap {
    padding: 3rem;
}
.painting-flex {
    gap: 3rem;
}
.painting-flex .painting-flex-l, .painting-flex .painting-flex-r {
    width: calc(100% / 2 - 1.5rem);
}
.painting-item .flex-l {
    width: calc(40% - 1.5rem);
}
.painting-item .flex-r {
    width: calc(60% - 1.5rem);
}
}

@media screen and (max-width:1200px) {
.necessity-item{
    width: 100%;
}
#waterproof_lifespan .l-flex {
    align-items: initial;
}
 .sign-item{
    width: calc(100% / 3 - 2rem);
}
.sign-item h4{
    font-size: 1.4rem
    }
    .waterproof-main .flex-r h4, .painting-item .flex-r h4 {
        font-size: 1.8rem;
    }
.services-title h2 {
        font-size: 2rem;
    }

    .waterproof-main .sec-img, .painting-item .flex-l {
        height: 25rem;
    }

.services-main .sec-img {
        height: 35rem;
    }

.sign-item .sec-img {
        height: 20rem;
    }
}

@media screen and (max-width:960px) {
#services_anker_inner {
        max-width: 80vw;
    }
.services-main .sec-img {
        height: 30rem;
    }
#sealing_lifespan h4{
	font-size:14px;
	}
    .waterproof-main .sec-img, .painting-item .flex-l {
        height: 20rem;
    }
.waterproof-point {
    margin-top: 7rem;
}
.waterproof-point h4 {
    font-size: 1.6rem;
}
.point-item {
    padding: 2rem;
}
.painting-item .l-flex{
	align-items:initial;
	}
#painting_timing p {
    margin: 2rem 0;
}
#flow_inner {
    padding: 3rem;
    max-width: 80%;
}
}

@media screen and (max-width:767px) {
#services_anker_inner {
        max-width: 100%;
    gap: 1rem;
    }
#services_anker a {
    width: calc(50% - .5rem);
    padding: 1rem;
    gap: 1rem;
}
.services-main .sec-img {
        height: 20rem;
    }
    .services-title h2 {
        font-size: 1.6rem;
margin-bottom: 1rem;
    padding-bottom: 1rem;
    }
.services-en {
        font-size: 12px;
    }
.services-main .img-deco p {
    top: -25px;
    left: 2rem;
    font-size: 4rem;
}
.necessity-item {
    padding: 2rem;
}
.necessity-item h4, .sign-item h4, .point-item h5 {
    font-size: 1.4rem;
}
	.works-wrap {
        padding: 1rem;
    }
.sign-item {
        width: 100%;
    }
.waterproof-item {
    padding: 1rem;
    margin-bottom: 3rem;
}
    .waterproof-point h4 {
        font-size: 1.4rem;
        padding: 1rem;
    }
.point-item {
        padding: 2rem;
        width: 100%;
    }
.waterproof-main .flex-r h4, .painting-item .flex-r h4 {
        font-size: 1.6rem;
        margin-bottom: 2rem;
    }
.waterproof-main .flex-r h5,.waterproof-merit .flex-l h5, .waterproof-merit .flex-r h5,.painting-flex h5{
    font-size: 1.4rem;
}
.painting-item {
    padding: 2rem;
}
.painting-flex {
        gap: 1rem;
    }
    .painting-flex .painting-flex-l, .painting-flex .painting-flex-r {
        width:100%;
		        padding: 1rem;
    }
#painting_timing h4 {
    font-size: 1.6rem;
}
#painting_timing_inner {
    padding: 2rem;
}
#flow_inner {
        padding: 2rem;
        max-width: 100%;
    }
}