@charset "UTF-8";
/* CSS Document */

/*===共通部分==============
====================================================================*/
html{
	font-size: 100%;
}
body{
	position: relative;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 400;
	font-weight: 700;
	line-height: 1.7;
	color: #683f26;
	font-size: 16px;
	background: #fff;
	-webkit-font-smoothing: antialiased;/*アンチエイリアスを滑らかに*/
	-moz-osx-font-smoothing: grayscale;
}
a{
	text-decoration: none;
	color: #683f26;
	transition: .4s;
}
ul,ol{
	list-style: none;
	padding: 0;
}
svg{
	padding: 0;
	margin: 0;
	vertical-align: bottom;
	min-height: 0%;
}
img{
  	line-height: 1;
	vertical-align: top;
	max-width: 100%;
	transition: .4s;
}
.img{
	min-height: 0%;
}
.img img{
	display: block;
	width: 100%;
}
.img a{
	display: block;
	width: 100%;
	background: #fff;
}
.img a:hover img{
	opacity: .8;
}

.inner{
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

/*flexbox*/
.flexbox{
	display: flex;
	justify-content: space-between;
}

.mg100{
	margin-bottom: 100px !important;
}
.mg80{
	margin-bottom: 80px !important;
}
.mg60{
	margin-bottom: 60px !important;
}
.mg40{
	margin-bottom: 40px !important;
}
.mg20{
	margin-bottom: 20px !important;
}
.mg10{
	margin-bottom: 10px !important;
}
.lh2{
	line-height: 2;
}
.pmg p{
	margin-bottom: 10px;
}
.pmg15 p{
	margin-bottom: 15px;
}

/*蛍光マーカー*/
.marker{
	text-decoration: underline;
  	text-decoration-thickness: 0.5em;
  	text-decoration-color: rgba(255, 228, 0, 0.4);
  	text-underline-offset: -0.2em;
  	text-decoration-skip-ink: none;
}

/*Title*/
h2.title{
	margin-bottom: 40px;
	text-align: center;
	font-weight: bold;
}
h2.title span.en{
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	text-transform: capitalize;
	color: #FD86BC;
	text-shadow: 2px 2px rgb(63 63 63 / 5%);
}
h2.title span.ja{
	display: block;
	font-size: 2rem;
	line-height: 1.4;
	letter-spacing: 0.05em;
	color: #FD86BC;
}
h2.title.white span.en,
h2.title.white span.ja{
	color: #fff;
}


/*mtitle*/
.mtitle{
    position: relative;
    border-radius: 0 5px 5px 0;
    padding: 10px 15px;
	padding-right: 0;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 30px;
}
.mtitle::before,
.mtitle::after{
	position: absolute;
    content: "";
    left: 0;
    height: 8px;
}
.mtitle::before{
    width: 25%;
    top: -8px;
    background: #FD86BC;
    background: #FDD2E5;
    border-radius: 5px 5px 0 0;
}
.mtitle::after{
	width: 40%;
    bottom: -8px;
    background: #FDD2E5;
    background: #FD86BC;
    border-radius: 0 0 5px 5px;
}

/*stitle*/
.stitle{
	position: relative;
  	font-size: 1.4rem;
	font-weight: bold;
	border-bottom: 2px solid #FDD2E5;
	margin-bottom: 20px;
}
.stitle::before{
	content: '';
	position: absolute;
	bottom: -2px;
	width: 100px;
	height: 2px;
	background: #FD86BC;
}

/*dtitle*/
.dtitle{
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
}
.dtitle::after{
	content: '';
	display: block;
	width: 150px;
	height: 1px;
	background: #FD86BC;
	margin: 20px auto 40px;
}
@media (max-width: 750px){
	.dtitle{
		font-size: 1.2rem;
	}
}

.ntitle{
	font-size: 1.2rem;
	margin-bottom: 15px;
	border-bottom: 1px solid #eee;
}
.ntitle::before{
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-weight: bold;
	margin-right: 10px;
	color: #FDD2E5;
}

.btitle{
	display: flex;
  	align-items: center;
	font-size: 1.2rem;
	margin-bottom: 15px;
}
.btitle::before{
	content: '';
	border-top: 1px solid;
	width: 2em;
	margin-right: .5em;
}

.center{
	text-align: center;
}
.bold{
	font-weight: bold;
	font-size: 1.2rem;
}


/*ボタン*/
.sbtn{
	text-align: center;
}
.sbtn a{
	display: block;
	border: 1px solid #fff;
	margin: 0 auto;
	text-align: center;
	width: 300px;
	padding: 15px 0;
	border-radius: 40px;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-size: 0.8rem;
	color: #fff;
	transition: all .5s ease;
	background: #FD86BC;
}
.sbtn a:hover{
	background:#fff;
	color: #FD86BC;
	border: 1px solid #FD86BC;
}
.sbtn.left a{
	margin: 0 auto 0 0;
}

.sbtn.white a{
	background:#fff;
	color: #FD86BC;
	border: 1px solid #FD86BC;
}
.sbtn.white a:hover{
	color: #fff;
	background: #FD86BC;
	border: 1px solid #fff;
}

.m_contact a{
	min-width: 280px;
}

.sbtn2{
	max-width: 750px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
}
@media (max-width: 750px){
	.sbtn.left a{
		margin: 0 auto;
	}
	.sbtn2{
		display: block;
	}
	.sbtn2 .sbtn:first-child a{
		margin-bottom: 10px;
	}
}



/*2行の基本Table*/
.info_table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-weight: normal;
}
.info_table tr{
	border: 2px solid #f5f5f5;
}
.info_table th {
	background: #FD86BC;
	color: #fff;
	width: 30%;
	border-right: 2px solid #f5f5f5;
	/*background: #FDD2E5;
	color: #FD86BC;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;*/
}
.info_table th,
.info_table td {
	padding: 15px 0;
}
.info_table td{
	padding-left: 10px;
}
.info_table td {
	background: #fff;
	width: 70%;
	border-right: 2px solid #f5f5f5;
	border-left: 2px solid #f5f5f5;
}

/*スタイリッシュver*/
.info_table02{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-weight: normal;
}
.info_table02 tr{
	border-bottom: 2px solid #f5f5f5;
}
.info_table02 th{
	width: 30%;
	border-bottom: 2px solid #FD86BC;
}
.info_table02 th,
.info_table02 td {
	padding: 15px 0;
}
.info_table02 td{
	padding-left: 10px;
}
.info_table02 td{
	width: 70%;
}


/*改行*/
@media (min-width: 451px){
	br.only450{
		display: none;
	}
}

@media (max-width: 450px){
	br.not450{
		display: none;
	}
}

@media (max-width: 895px){
	br.not895{
		display: none;
	}
}
@media (max-width: 1100px){
	br.not1100{
		display: none;
	}
}
span.ib{
	display: inline-block;
}


/*list*/
ul.check_list li{
}
ul.check_list li::before{
	font-family: "Font Awesome 5 Free";
	content: "\f058";
	font-weight: bold;
	display: inline-block;
	color: #FDD2E5;
	margin-right: .5em;
	font-size: .9em;
}

ul.dot_list li{
	margin-bottom: 5px;
}
ul.dot_list li::before{
	content: '・';
	color: #FDD2E5;
	margin-right: 5px;
}

ul.care_list li{
	margin-bottom: 5px;
}
ul.care_list li::before{
	content: '※';
	color: #f05742;
	font-weight: bold;
}

/*===info_flexbox======*/
/*画像 + テキスト 通常のflex*/
.info_flexbox{
	display: flex;
	justify-content: space-between;
}
.info_flexbox .img{
	width: 48%;
}
.info_flexbox .text{
	width: 48%;
}
@media (max-width: 750px){
	.info_flexbox{
		display: block;
	}
	.info_flexbox .img{
		width: 100%;
	}
	.info_flexbox .text{
		width: 100%;
	}
}

/*画像 + テキスト 上下逆転のflex*/
.info_flexbox_reverse{
	display: flex;
	justify-content: space-between;
}
.info_flexbox_reverse .text{
	width: 48%;
}
.info_flexbox_reverse .img{
	width: 48%;
}
@media (max-width: 750px){
	.info_flexbox_reverse{
		flex-direction: column-reverse;
	}
	.info_flexbox_reverse .text{
		width: 100%;
	}
	.info_flexbox_reverse .img{
		width: 100%;
	}
}

.img_wrap3{
	display: flex;
	justify-content: space-between;
}
.img_wrap3 .img{
	width: 32%;
}

.img_wrap2{
	display: flex;
	justify-content: space-between;
}
.img_wrap2 .img{
	width: 48%;
}

/*===// 共通部分ここまで ===========*/






/*===ヘッダー==============================*/
.site_header{
}
.site_header .header_top{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
}
.site_header .header_top .flex_l{
	display: flex;
}
.site_header .header_top .flex_l h1{
	width: 450px;
}
.site_header .header_top .flex_l h1 a{
	display: block;
	width: 100%;
}
.site_header .header_top .flex_l h1 a img{
	display: block;
	width: 100%;
	transition: .4s;
}
.site_header .header_top .flex_l h1 a:hover img{
	opacity: .6;
}

.site_header .tr .sbtn:nth-child(2){
	margin-left: 10px;
}
.site_header .tr .sbtn a{
	width: 200px;
	padding: 10px 0;
}

@media (max-width: 960px){
	.sticky{
		position: sticky;
		top: 0;
		z-index: 100;
		background: #fff;
	}
	.site_header.transform{
		border-bottom: 1px solid #ccc;
	}
	.site_header .tr{
		display: none;
	}
}
@media (max-width: 750px){
	.site_header .header_top{
		padding: 15px 0;
	}
	.site_header .header_top .flex_l h1{
		width: 340px;
	}
}
@media (max-width: 450px){
	.site_header .header_top{
		padding: 20px 0;
	}
	.site_header .header_top .flex_l h1{
		width: 280px;
	}
}

/*global_nav*/
.global_nav{
	width: 100%;
	padding: 10px;
}
.global_nav ul{
	width: 100%;
	position: relative;
}
.global_nav ul::before{
	content: '';
	width: 5px;
	height: 5px;
	background: #FD86BC;
	border-radius: 50%;
	position: absolute;
	top: -1px;
	right: -2px;
	z-index: 2;
}
.global_nav ul::after{
	content: '';
	width: 5px;
	height: 5px;
	background: #FD86BC;
	border-radius: 50%;
	position: absolute;
	bottom: -1px;
	right: -2px;
	z-index: 2;
}
.global_nav ul li{
	width: calc(100% / 6);
	border-left: 1px dotted #c690e0;
	position: relative;
}
.global_nav ul li::before{
	content: '';
	width: 5px;
	height: 5px;
	background: #FD86BC;
	border-radius: 50%;
	position: absolute;
	top: -1px;
	left: -3px;
	z-index: 2;
}
.global_nav ul li::after{
	content: '';
	width: 5px;
	height: 5px;
	background: #FD86BC;
	border-radius: 50%;
	position: absolute;
	bottom: -1px;
	left: -3px;
	z-index: 2;
}
.global_nav ul li:last-child{
	border-right: 1px dotted #FD86BC;
}
.global_nav ul li a{
	display: block;
	width: 100%;
	text-align: center;
	font-weight: bold;
}
.global_nav ul li a .img{
	width: 30%;
	margin: 0 auto;
}
.global_nav ul li a span{
	display: block;
	font-size: .8rem;
	text-transform: capitalize;
	color: #FD86BC;
}
.global_nav ul li a:hover{
	transform: translateY(-5px);
	transition: 0.2s all ease-in;
}
@media (max-width: 960px){
	.global_nav{
		display: none;
	}
}


/*===スライダー==============================*/
.top_slider{
	width: 98%;
	margin: 0 auto;
}
.top_slider .slider{
	width: 100%;
}
.top_slider .slider li{
	width: 100%;
	height: 70vh;
	min-height: 400px;
	position: relative;
	overflow: hidden;
	border-radius: 40px;
}
.top_slider .slider li::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255,1);
	z-index: 1;
	animation: apper 2s ease-in-out;
	opacity: 0;
}
@keyframes apper {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.top_slider .slider li .slide_img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
}
.top_slider .slick-active .slide_img{
	position: relative;
	animation: zoom 9s ease-in-out 0s forwards;
}
@keyframes zoom {
  0% {
		transform: scale(1.2);
	}
  100% {
		transform: scale(1);
	}
}


/*キャッチ*/
.top_slider li .catch{
	position: absolute;
	top: 50%;
    left: 0;
	transform: translateY(-50%);
	width: 100% ;
	pointer-events: none;
	z-index: 3;
	text-align: center;
	opacity: 0;
}
.top_slider li .catch p{
	text-shadow: rgb(255, 255, 255) 0px 0px 1px, rgb(255, 255, 255) 0px 0px 2px, rgb(255, 255, 255) 0px 0px 3px, rgb(255, 255, 255) 0px 0px 4px, rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 6px;
	font-weight: bold;
	font-size: 2rem;
}
.top_slider .slick-active .catch{
	animation: UpDown 10s ease-in-out;
}
/*Safariのみ*/
_::-webkit-full-page-media, _:future, :root .top_slider li .catch{
	opacity: 1;
}
_::-webkit-full-page-media, _:future, :root .top_slider .slick-active .catch{
	animation: none;
}
@keyframes UpDown {
	0% {
		opacity: 0;
		transform: translateY(-40%);
	}
	30% {
		opacity: 1;
		transform: translateY(-50%);
	}
	40% {
		opacity: 1;
		transform: translateY(-50%);
	}
	80% {
		opacity: 1;
		transform: scale(1) translateY(-50%);
	}
	90% {
		opacity: 0;
	}
	100% {
		opacity: 0;
		transform: scale(0) translateY(-50%);
	}
}
@media (max-width: 750px){
	.top_slider li .catch h3{
		font-size: 4rem;
	}
	.top_slider li .catch p{
		font-size: 1.8rem;
	}
}
@media (max-width: 450px){
	.top_slider .slider li{
		height: 60vh;
		border-radius: 20px;
	}
	.top_slider li .catch h3{
		font-size: 3rem;
	}
	.top_slider li .catch p{
		font-size: 1.4rem;
	}
}


/*===メイン==============================*/
main{
	display: block;
	position: relative;
}
main section{
	padding: 100px 0;
	position: relative;
}

.sec_last{
	padding-bottom: 160px;
}

@media (max-width: 750px){
	main section{
		padding: 60px 0;
	}
	.sec_last{
		padding-bottom: 120px;
	}
}

.info_wrap{
	background-color: #fff;
	padding: 40px 30px;
	border-radius: 10px;
}
@media (max-width: 750px){
	.info_wrap{
		padding: 30px 15px;
	}
}

.bg01{
	background: #fbf9f3;
}


/*===banner01==============================*/
.banner01{
	padding: 60px 0;
}
.banner01 .inner{
	max-width: 960px;
}


/*==welcome==============================*/
.welcome{
	background: url(../img/welcome_bg.png);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: bottom center;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
	z-index: 1;
}
.welcome::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.4);
	z-index:-1;
}
.welcome .img_box{
	display: flex;
	justify-content: space-around;
	max-width: 600px;
	margin: 0 auto 10px;
}
.welcome .img_box .img{
	width: 45%;
}
@media (max-width: 750px){
	.welcome .text p{
		margin-bottom: 15px;
	}
}


/*===contents==============================*/
.contents{
}
.contents .flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-top: 60px;
	margin-bottom: -40px;
}
.contents .flex .box{
	width: 23%;
	margin: 0 1%;
}
.contents .flex .box a{
	display: block;
	width: 100%;
}
.contents .flex .box a .img{
	overflow: hidden;
	border-radius: 50%;
	background: #fff;
}
.contents .flex .box a .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.2s ease-in;
}
.contents .flex .box a .text{
	width: 90%;
	margin: 0 auto;
	transform: translateY(-50%);
	background: #fff;
	padding: 20px 10px;
	background-size: contain;
	background-position: top right;
	background-repeat: no-repeat;
	border-radius: 10px;
}
.contents .flex .box01 a .text{
	background-image: url(../img/contents_bg01.png);
}
.contents .flex .box02 a .text{
	background-image: url(../img/contents_bg02.png);
}
.contents .flex .box03 a .text{
	background-image: url(../img/contents_bg03.png);
}
.contents .flex .box04 a .text{
	background-image: url(../img/contents_bg04.png);
}
.contents .flex .box a .text p{
	font-weight: bold;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
	font-size: 1.2rem;
}
.contents .flex .box a .text p span{
	display: block;
	text-transform: capitalize;
	color: #FD86BC;
	font-weight: bold;
	font-weight: normal;
	letter-spacing: 0.07em;
	font-size: 1rem;
	text-shadow: 2px 2px rgb(63 63 63 / 5%);
}
.contents .flex .box a .text p span::before{
	content: '';
	display: block;
	width: 0;
	height: 1px;
	background: #FD86BC;
	margin: 3px 0 5px;
	margin: 0;
	transition: all 0.2s ease-in;
}
.contents .flex .box a:hover .img img{
	transform: scale(1.1);
}
.contents .flex .box a:hover .text p span::before{
	width: 25px;
}
@media (max-width: 960px){
	.contents .flex .box{
		width: 48%;
	}
	.contents .flex .box a .text p{
		font-size: 1rem;
	}
	.contents .flex .box a .text p span::before{
		margin: 2px 0;
	}
}
@media (max-width: 450px){
	.contents .flex .box{
		width: 90%;
		margin: 0 auto 40px;
	}
}

/*===就労継続支援Ａ型事業所とはt==============================*/
.t_service{
	background: url(../img/t_service01.png);
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: bottom right;
	z-index: 1;
}
.t_service::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.5);
	z-index:-1;
}

.t_service .text{
	width: 60%;
}
.t_service .text p{
	margin-bottom: 20px;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
}
@media (max-width: 960px){
	.t_service .text{
		width: 100%;
	}
}


/*===企業の方へ==============================*/
.company{
}
.company .text{
	text-align: center;
	background: #fff;
	padding: 40px 20px;
	border-radius: 20px;
}
.company .text .deco{
	margin: 0 auto;
	margin-top: 40px;
	width: 70%;
	max-width: 480px;
}
@media (max-width: 750px){
	.company .text{
		text-align: left;
	}
}


/*===採用バナー==============================*/
.rec_banner{
	
}
.rec_banner .flex{
	position: relative;
	display: flex;
	justify-content: space-between;
	background: #fff;
	border-radius: 10px;
	padding: 40px 20px;
	/*box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;*/
	border: 2px dotted #FDD2E5;
}
.rec_banner .flex .pin{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -85%);
	width: 150px;
}
.rec_banner .flex .pin img{
	display: block;
	width: 100%;
}
.rec_banner .text{
	width: 48%;
}
.rec_banner .text p{
	font-size: 1.2rem;
	margin-bottom: 5px;
}
.rec_banner .flex .img{
	width: 48%;
	border-radius: 10px;
	overflow: hidden;
}
.rec_banner .flex .img img{
	height: 100%;
	object-fit: cover;
}

@media (max-width: 750px){
	.rec_banner .flex{
		display: block;
	}
	.rec_banner .text{
		width: 100%;
		margin-bottom: 40px;
	}
	.rec_banner .flex .img{
		width: 100%;
	}
	.rec_banner .flex .img img{
		height: auto;
	}
}
@media (max-width: 450px){
	.rec_banner .text p{
		font-size: 1.1rem;
	}
}


/*===フッター==============================*/
.footer_top{
	background: #FDD2E5;
	text-align: center;
}

.footer_top .container{
	background: #fff;
	border-radius: 20px;
	padding: 40px 20px;
	transform: translateY(-60px);
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	position: relative;
	z-index: 10;
}
.footer_top .text .lede{
	color: #FD86BC;
	font-size: 1.4rem;
	margin-bottom: 5px;
}


.footer_middle{
	text-align: center;
	padding: 80px 0 40px;
}
.footer_middle h3{
	width: 80%;
	max-width: 400px;
	margin: 0 auto 10px;
}
.footer_middle h3 a{
	display: block;
	width: 100%;
}
.footer_middle h3 a img{
	display: block;
	width: 100%;
}
.footer_middle h3 a:hover img{
	opacity: 0.7;
}
.footer_middle p{
	font-size: 0.8rem;
}

.footer_bottom{
	background: #FD86BC;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	color: #fff;
}
.footer_bottom small{
	font-size: 0.9rem;
}
@media (max-width: 750px){
	.footer_top .btn_wrap{
		display: block;
	}
	.footer_top .btn_wrap .btn{
		width: 100%;
		margin-bottom: 20px;
	}
}


/*トップに戻る*/
.page_top{
	opacity: 0;
	pointer-events: none;
  	width: 50px;
  	height: 50px;
  	position: fixed;
  	right: 10px;
  	bottom: 10px;
	border-radius: 50%;
	opacity: 0;
	transition: 1s;
  	background: #FD86BC;
  	z-index: 50;
}
.page_top a{
	display: block;
	position: relative;
	z-index: 10;
  	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}
.page_top a i{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  	font-weight: 900;
  	font-size: 25px;
  	color: #fff;
}
.page_top.is_animation{
	opacity: 1;
	pointer-events: all;
	opacity: .6;
}
.page_top.is_animation:hover{
	opacity: 1;
	transform: translateY(-10px);
}


/*=================================*/
/*===下層ページ===============================================================*/
/*下層トップ*/
.kasou_top{
	background: url(../img/kasou_top.jpg);
	background-size: cover;
	background-position: bottom 15% center;
	width: 98%;
	margin: 0 auto;
	padding-bottom: 80px;
	box-shadow: rgb(255, 255, 255) 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
	overflow: hidden;
	border-radius: 40px;
}
.kasou_top::before{
	content: '';
	display: block;
	width: 1px;
	height: 80px;
	background: #fff;
	margin: 0 auto;
}

.kasou_top h2{
	width: 100%;
	text-align: center;
	font-weight: bold;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
	margin-top: 20px;
	font-size: 2.5rem;
	letter-spacing: 0.1rem;
}
@media (max-width: 750px){
	.kasou_top{
		padding-bottom: 60px;
	}
	.kasou_top::before{
		height: 60px;
	}
	.kasou_top h2{
		font-size: 1.5rem;
	}
}

/*パンくず*/
.breadcrumb{
	z-index: 1;
	font-size: 12px;
}
.breadcrumb li {
	display: inline;
	list-style: none;
	font-weight: normal;
}
.breadcrumb li:after {
	content: '>';
	padding: 0 0.2em;
	vertical-align: top;
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	text-decoration: none;
	font-size: 1.1em;
	color: #FD86BC;
}
.breadcrumb li:first-child a::before{
	font-family: "Font Awesome 5 Free";
	content: '\f015';
	font-weight: bold;
}


/*===お仕事紹介ページ==============================*/
.work{
	z-index: 1;
}
.work .deco{
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	z-index: -1;
	opacity: 0.6;
}

.work .info_flexbox,
.work .info_flexbox_reverse{
	align-items: center;
	max-width: 960px;
	margin: 0 auto;
}
@media (max-width: 750px){
	.work .info_flexbox .img,
	.work .info_flexbox_reverse .img{
		margin-bottom: 20px;
	}
}

.line01{
	width: 98%;
	max-width: 750px;
	margin: 0 auto;
}

.daily_flow{

}
.daily_flow .box{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dashed #683f26;
	padding: 20px 0 10px;
}
.daily_flow .box .time{
}
.daily_flow .box .time p{
	background-color: #FDD2E5;
	color: #FD86BC;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
	padding: 5px 10px;
	border-radius: 20px;
	text-align: center;
	width: 140px;
}
.daily_flow .box .time p:nth-child(2){
	margin-top: 5px;
}
.daily_flow .box .time p span{
	display: block;
}
.daily_flow .box .text{
	width: calc(100% - 160px);
}
.daily_flow .box .text h3{
	color: #FD86BC;
	font-size: 1.4rem;
}
@media (max-width: 750px){
	.daily_flow .box{
		display: block;
	}
	.daily_flow .box .time{
		margin-bottom: 10px;
	}
	.daily_flow .box .time p{
		display: inline-block;
	}
	.daily_flow .box .text{
		width: 100%;
	}
}

.recreation .info_flexbox,
.recreation .info_flexbox_reverse{
	align-items: center;
	max-width: 960px;
	margin: 0 auto;
}
@media (max-width: 750px){
	.recreation .info_flexbox,
	.recreation .info_flexbox_reverse .img{
		margin-bottom: 20px;
	}
}


.wrap220506{
	background-color: #fff;
	padding: 40px 20px;
}
.wrap220506 .flex{
	display: flex;
	flex-wrap: wrap;
}
.wrap220506 .flex .img{
	width: 31%;
	margin: 0 1% 30px;
}
.new_title{
	font-weight: 700;
	font-size: 1.5rem;
	color: #FD86BC;
	background: url(../img/new_title.png);
	background-size: 30px;
	background-repeat: no-repeat;
	background-position: top left;
	padding-left: 30px;
	padding-top: 20px;
	margin-bottom: 20px;
}
@media (max-width: 750px){
	.wrap220506 .flex .img{
		width: 48%;
		margin: 0 1% 20px;
	}
}


/*===利用案内ページ==============================*/
.cell_list li{
	padding: 8px;
    margin-bottom: 5px;
	border-bottom: 1px dotted #683f26;
}
.cell_list li::before{
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 900;
    margin-right: 10px;
    color: #FD86BC;
}
.cell_list li p{
}
.cell_list li p:first-child{
	display: inline;
	font-weight: bold;
}
.cell_list li p:nth-child(2){
	margin-top: 5px;
}
.cell_list .area{
	display: flex;
	align-items: center;
	margin-top: 20px;
}
.cell_list .area .img{
	width: 160px;
}
.cell_list .area .img:first-child{
	margin-right: 40px;
}
.guidance .tail{
	color: #FD86BC;
}
@media (max-width: 750px){
	.cell_list .area .img{
		width: 150px;
		margin: 0 auto 10px !important;
	}
}

.flow_list{

}
.flow_list .box{
	background-color: #fff;
	padding: 60px;
	display: flex;
}
.flow_list .box:nth-child(odd){
	background-color: #FDD2E5;
	background-color: #FFEDF5;
}
.flow_list .box .num{
	padding-right: 40px;
}
.flow_list .box .num p{
	text-transform: uppercase;
	font-size: 2.5rem;
	color: #FD86BC;
	line-height: 1;
}
.flow_list .box .text{

}
.flow_list .box .text h3{
	margin-bottom: 15px;
	font-weight: bold;
	font-size: 1.6rem;
}
@media (max-width: 750px){
	.flow_list .box{
		padding: 40px 20px;
		display: block;
	}
	.flow_list .box .num{
		padding-right: 0;
	}
	.flow_list .box .num p{
		font-size: 1.4rem;
		line-height: 1.4;
	}
}


.slider01 li{
	margin: 0 5px;
}
.slider01 a{
	position: relative;
	display: block;
	text-align: center;
	overflow: hidden;
	background-color: #000;
}
.slider01 a::after{
	content: '';
	display: block;
	padding-top: 100%;
}
.slider01 a img{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s ease;
}
.slider01 a:hover img{
	opacity: 0.7;
	transform: scale(1.15);
}


/*===ギャラリーページ==============================*/
.gallery .flex{
	display: flex;
	flex-wrap: wrap;
}
.gallery .flex .box{
	display: block;
	width: 31%;
	margin: 0 1% 40px;
	min-height: 0%;
}
.gallery .flex .box a{
	display: block;
	width: 100%;
	position: relative;
    overflow: hidden;
	margin-bottom: 5px;
}
.gallery .flex .box a::before{
    content: '';
    display: block;
    padding-top: 65%;
}
.gallery .flex a::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0);
	transition: all 0.3s ease;
}
.gallery .flex a img{
	display: block;
	object-fit: cover;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	transition: all 0.3s ease;
}
.gallery .flex a:hover::after{
	background: rgba(0, 0, 0, 0.2);
}
.gallery .flex a:hover img{
	transform: scale(1.15);
}
@media (max-width: 750px){
	.gallery .flex .box{
		width: 48%;
		margin: 0 1% 20px;
	}
}



/*===採用情報ページ==============================*/
.recruit{
	z-index: 1;
}
.recruit .lede{
	display: flex;
	justify-content: space-between;
}
.recruit .lede .text{
	width: calc(100% - 280px);
}
.recruit .lede .img{
	width: 160px;
}
.recruit .tail{
	color: #FD86BC;
}
.recruit .deco{
	position: absolute;
	bottom: 80px;
	right: 0;
	width: 30%;
	max-width: 200px;
	z-index: -1;
	opacity: 0.8;
}
@media (max-width: 750px){
	.recruit .lede{
		display: block;
	}
	.recruit .lede .text{
		width: 100%;
	}
	.recruit .lede .img{
		margin: 0 0 0 auto;
		width: 120px;
	}
}


/*===施設概要ページ==============================*/
.vision h3{
	text-align: center;
	line-height: 2.4;
	font-size: 1.3rem;
}
.policy ul{
	max-width: 750px;
	margin: 0 auto;
}
.policy ul li{
	border-bottom: 1px dotted #683f26;
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	padding: 0 5px;
	padding-bottom: 13px;
	margin-bottom: 13px;
}
.policy ul li span{
	color: #FD86BC;
}


.score .flex{
	
}

.access .lede{
	background-color: #fff;
	text-align: center;
	margin: 0 auto 20px;
	padding: 15px 0;
}
.access .lede p{
	margin-bottom: 5px;
}

.contact .lede{

}
.contact .lede ul{
	display: inline-block;
	text-align: left;
}

.nw_contact .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.nw_contact .flex .box{
	width: 48%;
}
.nw_contact .flex .box .num{
	font-size: 1.8rem;
	text-align: center;
	color: #FD86BC;
	white-space: nowrap;
}
.nw_contact .flex .box .num span{
	display: inline-block;
	margin-right: 0.2em;
}
.nw_contact .flex .box .num a{
	color: #FD86BC;
}
@media (max-width: 750px){
	.nw_contact .flex .box{
		width: 100%;
		margin-bottom: 30px;
	}
}
@media (max-width: 450px){
	.nw_contact .flex .box .num{
		font-size: 1.5rem;
	}
}

/*メールフォーム*/
.mailform .row{
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
}
.mailform .row:not(.last){
	border-bottom: 1px dotted #cccccc;
}
.mailform .row div:nth-child(1){
	width: 20%;
	font-weight: bold;
}
.mailform .row div:nth-child(2){
	width: 70%;
	line-height: 1.5;
}
.normal{
	font-weight: normal !important;
}
.mailform .row span{
  	color: #fff;
  	background: #FD86BC;
  	padding: 5px;
  	margin-right: 5px;
  	font-size: 11px;
	border-radius: 2px;
	vertical-align: middle;
}
.mailform .row small{
	display: block;
	margin-top: 3px;
}
.mailform .box, .mailform textarea{
	border: 1px solid #ddd;
  	padding: 5px;
  	width: 100% !important;
  	border-radius: 0;
	-webkit-appearance: none;
	margin-bottom: 5px;
	background: #fff;
}
.mailform .postal_btn{
	padding: 2px 10px;
	background: #FD86BC;
	color: white;
	border-radius: 2px;
	margin-top: 5px;
	border: 1px solid #FD86BC;
}
.mailform .postal_btn:hover{
	background: #FD86BC;
	opacity: 0.9;
}
.mailform button{
	display: block;
	color: #111;
	text-align: center;
	transition: .6s;
	font-size: 1rem;
	font-weight: bold;
	padding: 8px 5px;
	margin: 0 auto;
	width: 250px;
	background: #FD86BC;
	border: 1px solid #FD86BC;
	border-radius: 25px;
	color: #fff;
	margin-top: 40px;
}
.mailform button:hover{
	background: #fff;
	color: #FD86BC;
}
.mailform button::before{
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 700;
	margin-right: 10px;
}

@media (max-width: 750px){
	.mailform .row{
		padding: 20px 0;
		flex-direction: column;
	}
	.mailform .row div:nth-child(1){
		width: 100%;
		margin-bottom: 20px;
	}
	.mailform .row div:nth-child(2){
		width: 100%;
	}
}

/*チェックボックス*/
input[type=checkbox] {
    display: none;
}
input[type=checkbox] + label{
    display: inline-block;
	padding-left: 20px;
	position:relative;
	margin-right: 20px;
	margin-bottom: 10px;
	cursor: pointer;
}
input[type=checkbox] + label::before{
    background: #fff;
    border: 1px solid #999;
    content: '';
    display: block;
	position: absolute;
	top: 55%;
	transform: translate(0,-50%);
  	left: 0;
    width: 15px;
  	height: 15px;
	border-radius: 3px;
}
input[type=checkbox] + label::after{
    border-right: 3px solid #FD86BC;
    border-bottom: 3px solid #FD86BC;
    content: '';
    display: block;
    height: 15px;
    left: 8px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 36%;
    width: 5px;
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
	transition: transform .2s ease-in-out, opacity .2s ease-in-out;
}
input[type=checkbox]:checked + label::after{
    opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1);
}

.contact_info ul li{
	margin-bottom: 5px;
	text-align: center;
}

::placeholder{
	font-family: sans-serif;
	font-size: 0.9rem;
}


/*プライバシーポリシー*/
.privacy_flame{
	height: 300px;
	overflow-y: scroll;
	background: #fff;
	border-radius: 20px;
}
.privacy_flame p{
	padding: 10px;
}
.privacy p span{
	font-weight: bold;
	font-size: 1.1rem;
	display: block;
	color: #FD86BC;
}
/*スクロールバー全体*/
.privacy_flame::-webkit-scrollbar {
    width: 5px;
}

/*スクロールバーの軌道*/
.privacy_flame::-webkit-scrollbar-track {
  	border-radius: 10px;
  	box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}

/*スクロールバーの動く部分*/
.privacy_flame::-webkit-scrollbar-thumb {
  	background-color: rgba(0, 0, 0, .5);
  	border-radius: 10px;
  	box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
}

/*===サンクスページ===*/
.thanks .inner .small p{
	font-size: 0.8rem;
}
.thanks .sbtn a{
	margin-bottom: 20px;
}

/*===倉庫==============================*/
@media (max-width: 960px){
}
@media (max-width: 750px){
}
@media (max-width: 450px){
}

/*Safariのみ*/
_::-webkit-full-page-media, _:future, :root .class{
	background-attachment: scroll;
}





/*=== 240306更新分 身体拘束禁止に関する指針 ==============================*/
.physical_restraint_prohibition h2.title span.ja {
	font-size: clamp(1.45rem, 0.7625rem + 2.2vw, 2rem);
}
.physical_restraint_prohibition .privacy_flame {
	background: #fbf9f3;
	padding: 20px;
}
.physical_restraint_prohibition .privacy_flame p {
	padding: 0;
	margin-bottom: 15px;
}
.physical_restraint_prohibition .privacy_flame .privacy_flame_item {
	margin-bottom: 25px;
}
.physical_restraint_prohibition .privacy_flame .privacy_flame_item:last-child {
	margin-bottom: 0 !important;
}
@media (max-width: 450px) {
	.physical_restraint_prohibition h2.title {
		margin-bottom: 30px;
	}
	.physical_restraint_prohibition .privacy_flame {
		padding: 20px 10px;
	}
}
/* 見出し ===============*/
.physical_restraint_prohibition .privacy_flame p span {
	font-size: clamp(1rem, 0.875rem + 0.4vw, 1.1rem);
}
/* 特定非営利活動法人 大志 */
.physical_restraint_prohibition_taishi {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(1.15rem, 0.8375rem + 1vw, 1.4rem);
	margin-bottom: 20px;
}
/* 番号 見出し */
.physical_restraint_prohibition .privacy_flame h3 {
	background: #FD86BC;
	color: #fff;
	padding: 5px 7px;
	border-radius: 5px;
	margin-bottom: 7px;
	font-size: clamp(1.05rem, 0.8625rem + 0.6vw, 1.2rem);
	font-weight: 700;
}
/* 附則 */
.physical_restraint_prohibition .privacy_flame p.supplementary_provisions {
	border-bottom: 1px solid #fab9d6;
	border-top: 1px solid #fab9d6;
	margin-bottom: 7px;
	padding: 5px 3px;
}





/* 250411更新分 就労継続支援Ａ型事業所におけるスコア表（全体）ボタンリンク ==============*/
.pdf_linkbtn2504 a {
  width: 250px;
  margin: 5px;
  display: inline-block;
}