@charset "utf-8";

/* #walfare {
    .wrap {
        .contents {
            max-width:1200px;
            p{
                text-align: center;
                &.body{
                    display: block;
                    color: #7abb3f;
                    font-size:3.2rem;
                    margin-bottom: 1em;
                    font-weight:600;
                }
                &.body2 {
                    font-size:1.8rem;
                }
            }
            .contents_inner{
                display: grid;
                grid-template-columns: repeat(2,1fr);
                grid-column-gap: 8%;
                margin-top: 90px;
                align-items: center;
                p{
                    text-align: left;
                }
            }
        }
    }
} */
#case{
    .wrap{
		padding-bottom:60px;
        .contents{          
            .contents_inner{
                position: relative;
                background-color: #fff;
                border: #7abb3f 5px dotted;
                border-radius: 20px;
                display: grid;
                justify-content: center;
                padding: 50px 70px;
                .angel_01{
                    position: absolute;
                    width: 120px;
                    bottom: 50px;
                    left:30px;
                }
                h2{
                    display: block;
                    font-size: 3.2rem;
                    margin-bottom: 1.5em;
                }
                ul{
                    li{
                        line-height: 2;
                        margin-bottom: 0.5em;
                        position: relative;
                        text-indent: -1.2em;
						padding-left:1.2em;
                        &::before{
                            content:"";
							display:inline-block;
                            background-color: #7abb3f;
                            border-radius: 50%;
                            height: 0.6em;
                            width: 0.6em;
							margin-right:.66em;
                        }
                    }
                }
            }
        }
    }
}
#target{
    .wrap{
        padding-bottom: 120px;
        .contents{          
            .contents_inner{               
                position: relative;
                background-color: #f7fcec;
                border: #7abb3f 5px dotted;
                border-radius: 20px;
                display: grid;
                justify-content: center;
                padding: 70px;
                .angel_01{
                    position: absolute;
                    width: 73px;
                    top: 50px;
                    right:30px;
                }
                h2{
                    display: block;
                    font-size: 2.4rem;
                    margin-bottom: 1.5em;
                }
                ul{
                    li{
                        line-height: 2;
                        margin-bottom: 0.5em;
                        position: relative;
                        text-indent: 1.5em;
                        &::before{
                            content:"";
                            background-color: #7abb3f;
                            border-radius: 50px;
                            height: 0.6em;
                            width: 0.6em;
                            top:0.7em;
                            left: 0;
                            position: absolute;
                        }
                    }
                }
            }
        }
    }
}
#service{
    .wrap{
		padding-bottom:120px;
        .contents{
            max-width: 1400px;
            position: relative;
            &::before {
                content:'';
                display:block;
                width:1200px;
                height:1200px;
                position:absolute;
                z-index:-1;
                background:url(../img/common/bg2.png) no-repeat center center/contain;
                top:-300px;
                left:-300px;
            }
            .contents_inner{
                display: grid;
                grid-template-columns: auto 1fr;
                grid-column-gap: 100px;
                .text{
					margin-top:1em;
	                font-size: min(12vw,20rem);
                    width: 1em;
                    height: 4em;
                    position: relative;
                    .angel_01{
                        position: absolute;
                        width: 100px;
                        top:25%;
                        right:-50px;
                        z-index: 2;
                    }
                    .angel_02{
                        position: absolute;
                        width: 100px;
                        bottom:-10%;
                        left:0;
                        z-index: 2;
                    }
                    span {
                        color: #eaf4e2;
	                    font-size: min(12vw,20rem);
                        font-weight: 800;
                        transform: translate(-50%, -50%) rotate(-90deg);
                        display: inline-block;
                        position: absolute;
                        top: 50%;
                        left: 50%;
                    }
                }
                .service{
                    padding: 20px 30px 20px 90px;
                    border-radius: 50px 0 0 0;
					position:relative;
					&::before {
						content:'';
						display:block;
						width:100vw;
						height:100%;
						background-color:#FFFFFF;
						position:absolute;
						z-index:0;
						left:0;
						top:0;
						border-radius:90px;
					}
					&::after {
						content:'';
						display:block;
						width:100vw;
						height:calc(100% + 60px);
						background-color: transparent;
						background-image: radial-gradient(circle, #e6f2dd 2.5px, transparent 2.5px), radial-gradient(circle, #e6f2dd 2.5px, transparent 2.5px);
						background-position: 0 0, 5.5px 11px;
						background-size: 11px 22px;
						position:absolute;
						z-index:-1;
						left:-30px;
						top:-30px;
						border-radius:90px;
					}
                    .service_box{
                        display: grid;
                        grid-template-columns: auto auto;
                        grid-column-gap: 30px;
                        padding: 70px 0;
                        border-bottom: #7ABB3F dotted 5px;
						position:relative;
						z-index:1;
                        &:last-child{
                            border-bottom: none;
                        }
                        img{
                            width: 350px;
                        }
                        .detail{
                            h3{
                                font-size: 3.2rem;
                                display: grid;
                                grid-template-columns: auto 1fr;
                                align-items: center;
                                margin-bottom: 1em;
                                span{
                                    color: #7ABB3F;
                                    font-size: 6.4rem;
                                    margin-right: 0.2em;
                                    transform: none
                                }
                            }
                            ul{
                                li{
                                    line-height: 1.6;
                                    margin-bottom: .66em;
                                }
                            }
                        }
                        &.service1,&.service3{
							flex-wrap: wrap; 
							.detail{
								order: 2;
							}
							img{
								order: 1;
							}
						}
                    }
                }
            }
        }
    }
}
/* #facility{
    .wrap{
        background-color: #efffd04e;
        padding: 120px 0;
		overflow:clip;
        .contents{
            position: relative;
            .angel_01{
                position: absolute;
                width: 100px;
                top:200px;
                right:-150px;
            }
            .angel_02{
                position: absolute;
                width: 100px;
                bottom:0;
                left:-150px;
				bottom:-50px;
            }
			h2 {
				z-index:1;
				span {
					color:#FFFFFF;
				}
			}
            .contents_inner{
                margin-bottom: 90px;
				position:relative;
				z-index:2;
                &:last-child{
                    margin-bottom: 0;
                }
                h3{
                    background-color: #f388a6;
                    color: #fff;
                    font-size: 3.0rem;
                    text-align: center;
                    padding: .66em 0;
                    font-weight: 500;
                    border-radius: 20px;
                    margin-bottom: 1em;
                }
                .facility_box{
                    background-color: #fff;
                    padding: 70px;
					border-radius:40px;
                    .inner_box{
                        display: grid;
                        grid-template-columns: 300px 1fr;
                        grid-column-gap: 50px;
                        align-items: center;
                        margin-bottom: 50px;
                        img{
                            border-radius: 20px;
                        }
                    }
                }
                .map{
                    iframe{
                        width: 100%;
                        height: 300px;
                        border-radius: 20px;
                    }
                }
            }
        }
    }
} */

@media screen and (max-width:1200px){

}

@media screen and (max-width:1024px){

	#case{
	    .wrap{
	        .contents{          
	            .contents_inner{
	                padding: 40px;
	                .angel_01{
	                    width: 100px;
	                    bottom: 20px;
	                    left:10px;
	                }
	                h2{
	                    font-size: 2.6rem;
	                }
	            }
	        }
	    }
	}
	#target{
	    .wrap{
	        .contents{          
	            .contents_inner{
	                padding: 40px;
	                .angel_01{
	                    position: absolute;
	                    width: 73px;
	                    top: 50px;
	                    right:30px;
	                }
	            }
	        }
	    }
	}

	#service{
	    .wrap{
			padding-bottom:90px;
	        .contents{
	            .contents_inner{
	                grid-template-columns: 1fr;
	                .text{
						display:none;
	                }
	                .service{
	                    padding: 20px 30px;
						display:grid;
						justify-items:center;
	                }
	            }
	        }
	    }
	}
		
}

@media screen and (max-width:768px){
    
    #case{
        .wrap{
            padding-bottom:30px;
            .contents{          
                .contents_inner{
                    border: #7abb3f 3px dotted;
                    padding: 20px 20px 60px;
                    .angel_01{
                        position: absolute;
                        width: 80px;
                        bottom: 10px;
                        left:10px;
                    }
                    h2{
                        font-size: 2.0rem;
                        margin-bottom: .66em;
                    }
                    ul{
                        li{
                            line-height: 1.6;
							font-size:1.5rem;
                            &::before{
                            }
                        }
                    }
                }
            }
        }
    }
    #target{
        .wrap{
            padding-bottom: 60px;
            .contents{          
                .contents_inner{
                    border: #7abb3f 3px dotted;
                    padding: 20px;
                    .angel_01{
                        position: absolute;
                        width: 50px;
                        top: 5px;
                        right:10px;
                    }
                    h2{
                        font-size: 2.0rem;
                        margin-bottom: .66em;
                    }
                }
            }
        }
    }
    #service{
        .wrap{
            padding-bottom:60px;
            .contents{
                &::before {
                    width:600px;
                    height:600px;
                    top:-150px;
                    left:-150px;
                }
                .contents_inner{
                    .service{
                        padding: 20px 10px 20px 20px;
                        border-radius: 50px 0 0 0;
                        position:relative;
                        &::before {
                            border-radius:30px;
                        }
                        &::after {
                            height:calc(100% + 40px);
                            left:-20px;
                            top:-20px;
                        }
                        .service_box{
							width:100%;
							max-width:400px;
                            display: grid;
                            grid-template-columns: auto 1fr;
                            grid-column-gap: 30px;
                            padding: 30px 0;
                            border-bottom: #7ABB3F dotted 3px;
                            &:last-child{
                                border-bottom: none;
                            }
                            img{
                                width: 100%;
								max-width:200px;
                            }
                            .detail{
								display:contents;
                                h3{
                                    font-size: 2.0rem;
                                    grid-template-columns: auto 1fr;
                                    margin-bottom: 0;
                                    span{
                                        font-size: 3.0rem;
                                    }
                                }
                                ul{
									grid-area:2/1/3/3;
									font-size:1.5rem;
                                    li{
										margin-bottom:.5em;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
}