@charset "utf-8";
/* Copyright 2022 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

PC、タブレット、スマートフォン共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

トップページ

------------------------------------------------------------ */

.wrapper{
	overflow: hidden;
	margin-top: -115px;
}

/* メインビジュアル
---------------------------------------------- */
.main{
	text-align: center;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.main::before{
	content: "";
	display: block;
	background: url("../img/home/img_deco_main01.jpg") no-repeat 0 0;
	background-size: contain;
	width: min(55.57%, 1067px);
	padding-top: 45.416%;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: -1;
}

.main::after{
	content: "";
	display: block;
	background: url("../img/home/img_deco_main02.jpg") no-repeat 0 0;
	background-size: contain;
	width: min(65%, 1248px);
	padding-top: min(34.79%, 668px);
	position: absolute;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: -1;
}

.main_inner{
	padding: 217px 80px 145px;
	position: relative;
	z-index: 0;
}

.main_inner::after{
	content: "";
	display: block;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
	width: 100%;
	height: 80px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.main img{
	width: 100%;
	max-width: 1024px;
	height: auto;
}

/* 見出し
---------------------------------------------- */
.ttl_home{margin-bottom: 40px;}

.ttl_home p{
	color: #EC7196;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px;
}

.ttl_home p span{
	padding-bottom: 10px;
	display: inline-block;
	position: relative;
}

.ttl_home p span::after{
	content: "";
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #EC7196 2px, transparent 2px);
	background-size: 4px 1px;
	background-repeat: repeat-x;
	position: absolute;
	left: 0;
	bottom: 0;
}

.ttl_home h2{
	font-size: 3rem;
	line-height: 1;
}

/* 今から未来へつなぐ
---------------------------------------------- */
.sec_concept{
	position: relative;
	max-width: 800px;
	margin: 0 auto;
	padding: 125px 50px 150px;
}

.sec_concept::before{
	content: "";
	background: url("../img/img_deco01.png") no-repeat 0 0;
	background-size: contain;
	width: 640px;
	height: 640px;
	position: absolute;
    top: -320px;
    left: -520px;
	z-index: 1;
}

.sec_concept .ttl_home h2 span{position: relative;}

.sec_concept .ttl_home h2 span::after{
	content: "";
	display: inline-block;
	background: #FBBB11;
	width: 6px;
	height: 6px;
	border-radius: 6px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -3px;
}

.sec_concept .txt p{margin-bottom: 30px;}

.sec_concept .txt p:last-of-type{margin-bottom: 0;}

/* 共通
---------------------------------------------- */
.sec_home{
	display: flex;
	max-width: 1280px;
	padding: 0 50px;
	margin: 0 auto 80px;
}

.sec_home:nth-of-type(odd){flex-direction: row-reverse;}

.sec_home:last-of-type{margin-bottom: 150px;}

.sec_home .image{width: 60.67%;}

.sec_home .image img{
	width: 100%;
	height: auto;
}

.sec_home .inner{
	background: #FFF;
	padding: 60px;
	border-radius: 32px;
	width: 43.89%;
	margin: 60px 0 0 0;
	position: relative;
}

.sec_home:nth-of-type(odd) .inner{margin: 60px 0 0 -54px;}

.sec_home:nth-of-type(even) .inner{margin: 60px -54px 0 0;}

.sec_home .inner::before{
	content: "";
	background: url("../img/bg01.png") repeat 0 0;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 40px;
	left: 40px;
	z-index: -1;
}

.sec_home:nth-of-type(even) .inner::before{left: -40px;}

.sec_home .inner .txt{margin-bottom: 40px;}

.sec_home .inner .btn a{
	display: inline-block;
	padding: 20px 25px 20px 30px;
	line-height: 1;
	color: #4B453F;
	font-weight: 700;
	position: relative;
	z-index: 1;
}

.sec_home .inner .btn a::before{
	content: "";
	display: inline-block;
	background: #FBBB11;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	width: 56px;
	height: 56px;
	border-radius: 56px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all .6s;
}

.sec_home .inner .btn a:hover::before{width: 100%;}

.sec_home .inner .btn a .ico_arrow01{
	display: inline-block;
	width: 18px;
	height: 18px;
	fill: #4B453F;
	margin: 0 0 -3px 10px;
}

/* 就労継続支援B型事業所とは
---------------------------------------------- */
.sec_about{position: relative;}

.sec_about::before{
	content: "";
	background: url("../img/img_deco02.png") no-repeat 0 0;
	background-size: contain;
	width: 790px;
	height: 890px;
	position: absolute;
	top: -500px;
	right: -346px; 
	z-index: -1;
}

.sec_about .inner::after{
	content: "";
	display: block;
	background: url("../img/home/img_about02.png") no-repeat 0 0;
	background-size: contain;
	width: 280px;
	height: 205px;
	position: absolute;
	top: -135px;
	right: 30px;
	z-index: 1;
}

/* サービス内容
---------------------------------------------- */
.sec_service{position: relative;}

.sec_service::before{
	content: "";
	background: url("../img/img_deco01.png") no-repeat 0 0;
	background-size: contain;
	width: 640px;
	height: 640px;
	position: absolute;
    top: -240px;
    left: -340px;
	z-index: -1;
}

/* ご利用までの流れ
---------------------------------------------- */
.sec_flow{position: relative;}

.sec_flow::before{
	content: "";
	background: url("../img/img_deco03.png") no-repeat 0 0;
	background-size: contain;
	width: 400px;
	height: 408px;
	position: absolute;
    top: -150px;
    right: -90px;
	z-index: -1;
}

/* よくある質問
---------------------------------------------- */
.sec_faq{position: relative;}

.sec_faq::before{
	content: "";
	background: url("../img/img_deco04.png") no-repeat 0 0;
	background-size: contain;
	width: 790px;
	height: 624px;
	position: absolute;
    top: -100px;
	left: -400px;
	z-index: -1;
}

.sec_faq .inner::after{
	content: "";
	background: url("../img/home/img_faq02.png") no-repeat 0 0;
	background-size: contain;
	width: 168px;
	height: 209px;
	position: absolute;
    top: -100px;
    right: 60px;
	z-index: 1;
}

/* googlemap
---------------------------------------------- */
.map{
	position: relative;
	padding-top: 33.33%;
}

.map iframe{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


@media only screen and (max-width:1024px){ /* 表示領域が1024px以下の場合に適用するスタイル */

	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	タブレット

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */
	
	/* メインビジュアル
	---------------------------------------------- */
	.main_inner{padding-bottom: 80px;}
	
	/* 共通
	---------------------------------------------- */
	.sec_home{flex-direction: column-reverse;}

	.sec_home:nth-of-type(odd){flex-direction: column-reverse;}

	.sec_home .image{
		width: 75%;
		margin-left: auto;
	}
	
	.sec_home:nth-of-type(even) .image{margin-left: 0;}

	.sec_home .inner{
		width: 80%;
		margin: -60px 0 0 0;
	}

	.sec_home:nth-of-type(odd) .inner{margin: -60px 0 0 0;}

	.sec_home:nth-of-type(even) .inner{margin: -60px 0 0 auto;}
	
	/* 就労継続支援B型事業所とは
	---------------------------------------------- */
	.sec_about .inner::after{
		top: -155px;
		left: -60px;
	}
	
	
}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */
	
	.wrapper{margin-top: -66px;}
	
	/* メインビジュアル
	---------------------------------------------- */
	.main::before{
		width: max(100%, 414px);
		padding-top: 81.6%;
	}

	.main::after{
		width: max(100%, 414px);
		padding-top: 53.33%;
	}

	.main_inner{padding: 130px 20px 80px;}

	.main_inner::after{height: 62px;}
	
	/* 見出し
	---------------------------------------------- */
	.ttl_home{margin-bottom: 30px;}

	.ttl_home p{font-size: 1.8rem;}

	.ttl_home h2{font-size: 2rem;}

	/* 今から未来へつなぐ
	---------------------------------------------- */
	.sec_concept{padding: 0 60px 80px;}

	.sec_concept::before{
		width: 300px;
		height: 278px;
		top: -200px;
		left: -130px;
	}
	
	.sec_concept .ttl_home h2{font-size: 2.4rem;}

	.sec_concept .ttl_home h2 span::after{
		width: 4px;
		height: 4px;
		border-radius: 4px;
		margin-left: -2px;
	}
	
	.sec_concept .txt br{display: none;}
	
	/* 共通
	---------------------------------------------- */
	.sec_home{padding: 0;}

	.sec_home:last-of-type{margin-bottom: 100px;}

	.sec_home .image{width: calc(100% - 25px);}

	.sec_home:nth-of-type(odd) .image{
		margin-right: -15px;
		margin-left: auto;
	}
	
	.sec_home:nth-of-type(even) .image{margin-left: -15px;}

	.sec_home .inner{
		border-radius: 24px;
		width: calc(100% - 30px);
		margin: -30px 0 0 0;
	}
	
	.sec_home:nth-of-type(1) .inner{padding: 40px 40px 40px 50px;}
	.sec_home:nth-of-type(2) .inner{padding: 40px 60px 40px 30px;}
	.sec_home:nth-of-type(3) .inner{padding: 40px 30px 40px 60px;}
	.sec_home:nth-of-type(4) .inner{padding: 40px 60px 40px 30px;}

	.sec_home:nth-of-type(odd) .inner{margin: -30px 0 0 0;}
	
	.sec_home:nth-of-type(even) .inner{margin: -30px 0 0 auto;}

	.sec_home .inner::before{
		width: calc(100% + 30px);
		height: 100%;
		top: 45px;
		left: 0;
	}
	
	.sec_home:nth-of-type(1) .inner .ttl_home p,
	.sec_home:nth-of-type(1) .inner .btn{margin-left: 10px;}

	.sec_home .inner .txt{margin-bottom: 30px;}

	.sec_home .inner .btn a{padding: 15px 15px 15px 20px;}

	.sec_home .inner .btn a::before{
		width: 44px;
		height: 44px;
		border-radius: 44px;
	}

	.sec_home .inner .btn a .ico_arrow01{
		width: 15px;
		height: 15px;
		margin: 0 0 -3px 10px;
	}
	
	/* 就労継続支援B型事業所とは
	---------------------------------------------- */
	.sec_about::before{
		width: 310px;
		height: 349px;
		top: -230px;
		right: -60px;
	}

	.sec_about .inner::after{
		width: 170px;
		height: 125.61px;
		top: -55px;
		left: unset;
		right: 15px;
	}

	/* サービス内容
	---------------------------------------------- */
	.sec_service::before{
		width: 300px;
		height: 278px;
		top: unset;
		left: -64px;
		bottom: -117px;
	}

	/* ご利用までの流れ
	---------------------------------------------- */
	.sec_flow::before{
		width: 400px;
		height: 408px;
		top: unset;
		left: unset;
		right: -70px;
		bottom: -208px;
	}

	/* よくある質問
	---------------------------------------------- */
	.sec_faq::before{
		width: 400px;
		height: 316px;
		top: unset;
		left: -130px;
		bottom: -110px; 
	}

	.sec_faq .inner::after{
		width: 100px;
		height: 124px;
		top: -20px;
		right: 10px;
	}
	

}/*--@media--*/


@media only screen and (max-width:500px){ /* 表示領域が500px以下の場合に適用するスタイル */
	
	/* googlemap
	---------------------------------------------- */
	.map{padding-top: 100%;}	

	
}/*--@media--*/

