

/* FV */

.fv-top{
	position: relative;
	overflow: hidden;
}

.slider{
	z-index: 1;
}

.fv-text-box{
    display: block;
    position: absolute;
    top: calc(50% + 45px);
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: calc(50vw - 150px);
	min-width: 660px;
}

.fv-text{
	width: 100%;
	display: block;
	background: url("../img/top/top-info.png") no-repeat;
	aspect-ratio: 1000/580;
	background-size: cover;
}

.fv-text h2{
	text-indent: -9999px;
}

.fv-text-box ul{
	display: grid;
	justify-content: space-between;
	align-items: center;
	gap:0;
	grid-template-columns: repeat(4, 1fr);
}

@media(max-width: 1000px){
	
	.fv-text-box {
		width: calc(100vw - 10vw);
		min-width: calc(100vw - 10vw);
	}
	
}

/* FV ///*/



/* worries */

#worries{
	background: url("../img/bk/skyblue-drop.png") repeat center top;
	background-size: auto;
}


.worry-title h3{
	display: flex;
	flex-direction: row;
	text-align: center;
	font-size: 3.25rem;
	text-shadow: 4px 4px 0 #fff, -4px -4px 0 #fff, -4px 4px 0 #fff, 4px -4px 0 #fff, 0px 4px 0 #fff, 0 -4px 0 #fff, 0px 0 0 #fff, 4px 0 0 #fff;
	justify-content: center;
	line-height: 1;
	z-index: 2;
	position: relative;
}


.worry-title h3 span{
	color: #f46f14;
	display: inline;
	position: relative;
}

.worry-title h3 span::before{
	position: absolute;
	content: '';
	display: block;
	top: -15px;
	background: url("../img/dec/water-drop.png");
	background-size: cover;
	width: 15px;
	aspect-ratio: 3/4;
	left: 50%;
	transform: translateX(-50%);
}

.worries-box{
	background: #003c93;
	border-radius: 80px;
	border: 10px solid #fff;
	padding: 60px 80px;
	position: relative;
    top: -2px;
	max-width: 1040px;
    margin: auto;
}

.worries-box ul{
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: space-around;
	gap:30px;
}

.worries-box ul li{
	position: relative;
	background: #fff;
	padding: 10px 40px;
	border-radius: 50px;
	margin-right: 40px;
}


.worries-box ul li::before{
	position: absolute;
	content: '';
	display: block;
	background: url("../img/dec/chat-tri.png") no-repeat;
	background-size: cover;
	width: 20px;
	aspect-ratio: 1/1;
	left: -16px;
	bottom: 10px;
}


.worries-box ul li:nth-child(even){
	margin-right: 0;
	margin-left: 30px;
}

.worries-box ul li:nth-child(even)::before{
	left: auto;
	right: -16px;
	transform: scale(-1,1);
}

.worries-box ul li p{
	color: #000;
	font-size: 1.5rem;
	font-weight: 600;
}

.worry-man{
	position: absolute;
	left: -100px;
	display: block;
	background: url("../img/dec/worry-man.png") no-repeat;
	background-size: cover;
	width: 160px;
	aspect-ratio: 5/7;
	bottom: 10px;
}


.worry-woman{
	position: absolute;
	right: -100px;
	display: block;
	background: url("../img/dec/worry-woman.png") no-repeat;
	background-size: cover;
	width: 160px;
	aspect-ratio: 5/7;
	bottom: 10px;
}

.drop-skyblue-jpg{
	background: url("../img/top/sky-drop.jpg");
	background-size: cover;
	bottom: 1px;
	transform: scale(1,1);
	z-index: -1;
}


@media(max-width: 1360px){
	
	.worry-woman {
    	right: -80px;
		bottom: 0;
	}
	
	.worry-man {
    	left: -80px;
		bottom: 0;
	}
	
	.worries-box ul li p {
    	font-size: min(1.9vw, 1.5rem);
	}
	
}



@media(max-width: 1300px){

	.worries-box {
    	padding: 60px 60px 220px 60px;
	}
	
	.worry-man {
        left: calc(50% - 90px);
        bottom: -20px;
		transform: translateX(-50%);
	}
	
	.worry-woman {
        left: calc(50% + 80px);
        bottom: -20px;
		transform: translateX(-50%);
	}
}


  
@media(max-width: 1050px){
	
	
	.worry-title h3 {
    	font-size: 2.25rem;
	}
	
	.worry-title h3 span::before {
    	width: 10px;
	}
	
	.worries-box {
        padding: 40px 30px 220px 30px;
    	border-radius: 40px;
    }
	
	.worries-box ul li p {
        font-size: max(2vw, 1.3rem);
    }
	
	.worries-box ul li {
    	padding: 10px 20px;
	}
	
}

@media(max-width: 900px){
	
	.worries-box ul li p {
        font-size: max(3.5vw, 1.25rem);
    }
	
	.worries-box ul li::before {
		width: 5vw;
		left: -1.5vw;
		bottom: 5px;
		z-index: -1;
	}
	
	.worries-box ul li:nth-child(even)::before {
		right: -1.5vw;
	}
	
	
}

@media (max-width: 600px) {
	
    .worry-title h3 {
        font-size: min(6.5vw, 1.75rem);
		text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, 2px 0 0 #fff;
    }
	
	.worries-box {
    	border-radius: 20px;
		border: 5px solid #fff;
		padding: 20px 20px 220px 20px;
	}
	
	.worries-box ul {
		gap: 10px;
	}
	
	.worries-box ul li {
		margin-right: 0;
	}
	
	.worries-box ul li:nth-child(even) {
		margin-left: 0;
	}
	
	    .worries-box ul li p {
        font-size: max(4vw, 0.85rem);
    }
}


@media(max-width: 350px){
	
	.worry-man{
		left: calc(50% - 60px);
    	width: 40vw;
	}
	.worry-woman {
    	width: 40vw;
		left: calc(50% + 60px);
	}
	
    .worries-box ul li::before {
		bottom: 10px;
	}
	
}

/* worries ///*/


/* 雨漏り放置ダメ */

.dangerous .main-area{
	display: flex;
    flex-direction: row;
    column-gap: 30px;
    justify-content: center;
    width: 100%;
	align-items: center;
}

.rain-leaking-photo span{
	display: block;
	background: url("../img/top/rain-leak.png");
	background-size: cover;
	aspect-ratio: 400/632;
	min-width: 340px;	
}

.rain-leaking-text {
	width: 100%;
	max-width: 750px;
}

.rain-leaking-text .title h3{
	text-indent: -9999px;
	display: block;
	background: url("../img/top/dangrous-title.png") no-repeat;
	background-size: cover;
	width: 100%;
	aspect-ratio: 881/240;
}


.rain-leaking-text .main-text{
	background: #003c93;
	border-radius: 30px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}



.rain-leaking-text .main-text p{
	color: #fff;
}

@media(max-width: 1000px){
	
	.dangerous .main-area {
    	gap: 20px;
	}
	
	.dangerous .main-area {
    	flex-direction: column-reverse;
	}
	
	.rain-leaking-text {
		max-width: 100%;
	}
	
	.rain-leaking-photo {
		width: 100%;
	}
	
	.rain-leaking-photo span {
		display: block;
		background: url("../img/top/rain-leak-ver.png");
		background-size: cover;
		width: 100%!important;
		aspect-ratio: 820/300;
		border-radius: 20px;
	}
	
	
	
}

	
@media(max-width: 600px){
	
	.rain-leaking-text .main-text {
   	    border-radius: 20px;
		padding: 20px;
	}
	
	.rain-leaking-photo span {
        display: block;
        background: url(../img/top/rain-leak.png);
		background-size: cover;
		aspect-ratio: 400/632;
		min-width: 100%;
	}

}


/* 雨漏り放置ダメ ///*/


/* こんな時！ */

.the-time {
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
    position: relative;
}

.the-time span{
	display: block;
	background: url("../img/top/the-time.png");
	background-size: cover;
	aspect-ratio: 55/20;
	width: 450px;
}

@media(max-width:1600px){
	
	.the-time span{
		width: 400px;
	}
	
}


@media(max-width:1000px){
	
    .the-time span {
        width: 300px;
	}
	
}


/* こんな時！ ///*/

/*　特徴強調　*/

#feature{
	margin-top: -100px;
}

.feature {
    z-index: 1;
    position: relative;
}

.feature .main-area-box {
    display: flex;
    flex-direction: column;
    margin: auto;
	width:100%;
	position: relative;
}

.feature .main-area {
    width: 100%;
}


.feature-background {
	position: sticky;
	top: 70px;
	left: 0;
	width: 100%;
	height: 1px; /* 必要に応じて伸ばしてOK */
	z-index: -1;
}

.feature-background span{
	display: block;
	background: url("../img/bk/feature-bk.jpg") no-repeat center;
	background-size: cover;
	height: calc(100vh - 70px);
	width: 100%;
	opacity: 0.25;
	position: relative;
	z-index: -1;
}

.feature-title h3{
	text-align: center;
}


.feature-title .h3-2{
	text-indent: -9999px;
	background: url("../img/top/kawano-e.png") no-repeat;
	background-size: cover;
	aspect-ratio:1000/135;
	width: 800px;
	margin: 30px auto 60px;
}

.feature ul{
	display: grid;
	max-width: 1100px;
	margin: 80px auto 100px;
	gap:50px;
	grid-template-columns: repeat(2, 1fr);
}

.feature ul li{
	background: #fff;
	border-radius: 50px;
	border: 10px solid #003c93;
	width: 100%;
	position: relative;
}


.feature ul li::before{
	position: absolute;
	content: '';
	display: block;
	width: 250px;
	aspect-ratio: 1/1;
	left: -50px;
	top: -50px;
	z-index: 1;
}

.f01::before{
	background: url("../img/top/point01.png") no-repeat;
	background-size: cover;
}

.f02::before{
	background: url("../img/top/point02.png") no-repeat;
	background-size: cover;
}

.f03::before{
	background: url("../img/top/point03.png") no-repeat;
	background-size: cover;
}

.f04::before{
	background: url("../img/top/point04.png") no-repeat;
	background-size: cover;
}

.feature-photo{
	display: block;
	aspect-ratio: 60/39;
	width: 100%;
	border-radius: 39px 39px 0 0;
}

.f01 .feature-photo{
	background: url("../img/top/feature/f01.jpg") no-repeat;
	background-size: cover;
}

.f02 .feature-photo{
	background: url("../img/top/feature/f02.jpg") no-repeat;
	background-size: cover;
}

.f03 .feature-photo{
	background: url("../img/top/feature/f03.jpg") no-repeat;
	background-size: cover;
}

.f04 .feature-photo{
	background: url("../img/top/feature/f04.jpg") no-repeat;
	background-size: cover;
}

.feature-text{
	padding: 20px;
}


@media(max-width: 1600px){
	
	#feature {
		margin-top: -60px;
	}
	
}


@media(max-width: 1300px){
	
	.feature ul {
		gap: 40px;
	}
	
	.feature .main-area{
		padding: 80px 60px;
    	max-width: 100%;
	}
	
	.feature ul li::before {
		width: 20vw;
		min-width: 220px;
	}
}

@media(max-width: 1000px){
	
	.feature .main-area {
        padding-left: 5vw;
        padding-right: 5vw;
    }
	
	.feature ul li::before {
        min-width: 200px;
    }
	
	.feature-title h3 {
		font-size: max(4.5vw, 1.2rem);
	}
	
	.feature-title .h3-2 {
		width: 100%;
		margin: 30px auto;
	}
	
	.feature ul {
        gap: 30px;
    	margin-top: 50px;
	}
	
	.feature ul li::before {
    	left: -40px;
		top: -40px;
	}
	
	
	
}

@media(max-width: 800px){
	
	
	.feature ul {
		grid-template-columns: repeat(1, 1fr);
	}
	
	.feature ul li::before {
		width: 30vw;
	}
}

@media (max-width: 600px) {
	
	.feature ul {
        margin-top: 40px;
		margin-bottom: 50px;
    }
	
    .feature ul li::before {
        left: -40px;
        max-width: 240px;
    }
	
	.the-time span {
        width: 80vw;
    }
	
	.feature-title .h3-2 {
        margin: 10px auto;
    }
	
	.feature-photo {
		border-radius: 50px 14px 0 0;
	}
	
	.feature ul li {
		border-radius: 50px 20px 20px;
    	border: 5px solid #003c93;
	}
	
	.feature ul li::before {
        top: -30px;
    }
	
}

/*　特徴強調　///*/



/* 事業内容　*/


#business{
	position: relative;
	z-index: 1;
	background: #003c93;
}

.business{
	padding-bottom: 120px;
	position: relative;
	display: flex;
	flex-direction:column;
	align-items: center;
}

.business-title{
	position: absolute;
	top: -100px;
}

.business-title{
	background: #0bc0ff;
	margin: auto;
	width: 100%;
	max-width: 1100px;
	text-align: center;
	color: #fff;
	border-radius: 50px 50px 0 0;
	padding-top: 30px;
	padding-bottom: 20px;
}

.business .main-area{
	display: block;
	border-radius: 0 0 50px 50px;
	border: 10px solid #0bc0ff;
	padding: 0;
	background: #fff;
}

.business .main-area h4 span{
	display: block;
}

.business .drop-blue{
	display: block;
	background: url("../img/top/droplet-blue.png") no-repeat;
	background-size: cover;
	width: 100%;
	aspect-ratio: 1100/50;
}

.business-box{
	padding: 30px 50px;
	position: relative;
}

.business-box::before{
	display: block;
	content: '';
	position: absolute;
	width: 250px;
	background: url("../img/dec/staff-pointer.png");
	background-size: cover;
	aspect-ratio: 35/40;
	right: -50px;
	bottom: -50px;
	z-index: 2;
}

.business-box ul {
	display: grid;
	max-width: 1100px;
	margin: 30px auto 15px;
	gap:15px;
	grid-template-columns: repeat(2, 1fr);
}


.business-box ul li a{
	display: flex;
	flex-direction: row;
	gap:5px;
	align-items: flex-start;
	justify-content: flex-start;
	position: relative;
	max-width: 450px;
}

.business-box ul li a::before{
	position: absolute;
	display: block;
	content: '';
	background: #f9be00;
	height: 90%;
	width: 1px;
	left: 0;
	bottom: 0;
	z-index: 1;
	transition: 0.3s ease-in-out;
	border-radius: 5px;
	opacity: 0;
}

.business-box ul li a:hover::before{
	width: 100%;
	opacity: 1;
}

.business-box ul li span{
	display: block;
	width: 1.5rem;
	min-width: 1.5rem;
	background: url("../img/dec/brush.png") no-repeat;
	background-size: cover;
	aspect-ratio: 85/100;
	position: relative;
	z-index: 1;
	top: 10px;
}



.business-box ul li a:hover span{
	transform: scale(-1,1);
}

.business-box ul li p{
	font-size: 2rem;
	color: #003c93;
	font-weight: 700;
	position: relative;
	z-index: 1;
	line-height: 1.35;
}

@media(max-width: 1200px){
	
	.business-box {
		padding: 30px;
	}
	
	.business-box::before {
    	width: 180px;
    	right: -20px;
		bottom: -20px;
	}
	
	.business-box ul li a {
		max-width: 380px;
		gap: 3px;
	}
	
	.business-box ul li p {
		font-size: 1.75rem;
	}
	
	.business-box ul li span {
		width: 1.25rem;
		min-width: 1.25rem;
		top: 8px;
	}
	
}

@media(max-width: 1000px){

	#business{
		padding-left: 5vw;
		padding-right: 5vw;
	}
	
	.business {
		padding-bottom: 60px;
	}
	
	.business-box {
        padding: 20px;
    }
	
	.business-box ul li p {
    	font-size: 1.5rem;
		letter-spacing: 0;
	}
	
	.business .main-area h4 span {
		display: inline;
	}
	
    .business-box::before {
        width: 22vw;
	}
	
	
	.business-box ul li a {
		max-width: 340px;
	}
	
	.business-box ul li span {
        top: 5px;
    }
}

@media(max-width: 800px){

	.business-box ul {
    	margin: 20px auto 15px;
	    gap: 20px;
	    grid-template-columns: repeat(1, 1fr);
	}
	
	.button-link {
		justify-content: flex-start;
	}
	
	.business-box ul li p {
        font-size: max(3.5vw, 1.5rem);
    }
	
	.business-box ul li a {
		max-width: 100%;
	}

	.business-box ul li a::before {
		display: none;
	}
	
	.business-box ul li a:hover span {
		transform: scale(1,1);
	}
	
	.business-box::before {
        width: 30vw;
		bottom: -50px;
    }
	
	.business-title {
    	padding-top: 20px;
		top: -70px;
	}
	
	
	.business {
		padding-bottom: 80px;
	}
	
}

@media(max-width: 600px){
	
	
	.business-title {
        padding-top: 10px;
		top: -60px;
        padding-bottom: 10px;
    }
	
	.business .main-area {
    	border-radius: 0 0 20px 20px;
		border: 5px solid #0bc0ff;
	}
	
	.business-box::before {
        bottom: -50px;
    }
	
}


/* 事業内容　///*/


/* 採用情報　バナー　*/

.recruit-link{
	background: url("../img/bk/bk-pop.jpg") center no-repeat;
	background-size: cover;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
}


.recruit-link .main-area {
	display:flex;
	justify-content: center;
}

.recruit-link .main-area span{
	background: url("../img/top/recruit-link.png") no-repeat;
	background-size: cover;
	display: block;
	width: 750px;
	aspect-ratio: 75/40;
	margin: auto;
	z-index: 2;
	position: relative;
}

.recruit-link .main-area a{
	display: block;
	position: relative;
}

.recruit-link .main-area a::after{
	position: absolute;
	content: '';
	display: block;
	background: #009e9d;
	width: 100% ;
	height: 100% ;
	left: 50%;
	top:50%;
	transform: translate(-50%,-50%);
	z-index:1;
	border-radius: 50px;
	opacity: 0;
	transition: 0.3s ease-in-out;
}


.recruit-link .main-area a:hover::after{
	width: calc(100% + 30px);
	height: calc(100% + 30px);
	opacity: 0.5;
}

.recruit-link .main-area a::before{
	position: absolute;
	content: '';
	display: block;
	background: url("../img/dec/brush.png") center no-repeat;
	background-size: cover;
	width: 20px;
	aspect-ratio: 85/100;
	right: 20px;
	bottom: 0px;
	transition: 0.3s ease-in-out;
	opacity: 0;
	z-index: 3;
}

.recruit-link .main-area a:hover::before{
	width: 50px;
	right: -10px;
	bottom: 40px;
	opacity: 1;
}

@media(max-width: 1000px){
	
	.recruit-link .main-area span {
		width: calc(100vw - 10vw);
		max-width: 750px;
	}
	
}


@media(max-width: 600px){
    .recruit-link .main-area span {
		background: url(../img/top/recruit-link-sp.png) no-repeat;
		background-size: cover;
		aspect-ratio: 48/42;
    }
	
	.recruit-link .main-area a::before {
		display: none;	
	}
	
	.recruit-link .main-area a::after {
		display: none;
	}
	
	
}

/* 採用情報　バナー　///*/










