@charset "utf-8";
/*------------------------------------------------------------
	welfare
------------------------------------------------------------*/
#main .mv {
	margin: -15rem 0 0;
	position: relative;
	background: url(../img/welfare/mv_bg01.png) no-repeat right top / 46.3%;
}
#main .mv::after {
	width: 60%;
	aspect-ratio: 1440/1547;
	position: absolute;
	right: 0;
	top: 63.5%;
	background: url(../img/welfare/mv_bg02.png) no-repeat right top / 100%;
	content: '';
	z-index: -1;
}
#main .mv .image {
	position: relative;
	z-index: 2;
}
#main .mv .image img {
	width: 100%;
}
#main .mv .textBox {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 17rem;
	z-index: 10;
}
#main .mv .textBox .title {
	max-width: 100rem;
	margin: 0 auto;
	color: #FFF;
	font-size: 2.32rem;
	letter-spacing: 0.22em;
}
#main .mv .textBox .en {
	margin: 0 -1rem -1rem;
	display: block;
	font-size: 11.58rem;
	line-height: 1;
	letter-spacing: -0.04em;
}
#main .vacantRooms {
	width: 29.8rem;
	position: absolute;
	z-index: 10;
	right: 5.2rem;
	bottom: 3.5rem;
	color: #FFF;
	text-align: center;
	background: url(../img/welfare/bg01.jpg) no-repeat center top / cover;
	border-radius: 1rem 1rem 0.8rem 1rem;
	box-shadow: 0.5rem 0.5rem 0 rgb(214, 101, 40, 0.4);
}
#main .vacantRooms .link {
	display: block;
	color: #FFF;
	padding: 1rem 3rem 1.8rem 2rem;
}
#main .vacantRooms h3 {
	margin-bottom: 0.3rem;
	font-size: 2.39rem;
	font-weight: bold;
	letter-spacing: 0.08em;
}
#main .vacantRooms .numText {
	margin-bottom: 0.3rem;
	padding: 0 1rem 0 3.2rem;
	height: 2.9rem;
	display: flex;	
	color: #000000;
	font-size: 1.756rem;
	font-weight: bold;
	background-color: #FFF;	
	border-radius: 2rem;
}
#main .vacantRooms .numText .num {
	margin-top: -0.2rem;
	width: calc(100% - 2rem);
	color: #E77219;
	font-size: 2.83rem;
	font-weight: 500;
	line-height: 1;
}
#main .vacantRooms .text {
	margin-right: 1rem;
	font-size: 1.2rem;
	line-height: 1.35;
	letter-spacing: 0.05em;
}
#main .vacantRooms .close {
	width: 2.5rem;
	position: absolute;
	right: -0.5rem;
	top: -0.7rem;
	box-shadow: 0.5rem 0.5rem 0 rgb(214, 101, 40, 0.4);
	border-radius: 100%;
	z-index: 10;
}
@media all and (min-width: 897px) {
	#main .vacantRooms .close:hover {
		opacity: 0.7;
	}
	#main .vacantRooms .link:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .mv {
		margin: -4.7rem 0 0;
	}
	#main .mv::after {
		display: none;
	}
	#main .mv .textBox {
		padding: 0 3.4rem;
		bottom: auto;
		top: 66.3vw;
	}
	#main .mv .textBox .en {
		font-size: 6.5rem;
		line-height: 1.15;
	}
	#main .mv .textBox .jp {
		display: block;
		margin: -8.4rem -0.5rem 0;
		font-size: 1.71rem;
		letter-spacing: 0.2em;
	}
	#main .vacantRooms {
		margin: -2.2rem 4rem 0 3.6rem;
		width: auto;
		position: relative;
		right: auto;
		bottom: auto;
	}
}
#main .pageBtn {
	position: absolute;
	right: 0;
	bottom: 0;
}
#main .pageBtn a,
#main .pageBtn .inner {
	padding: 2.2rem 0 0.5rem 0.6rem;
	width: 4.7rem;
	display: inline-block;
	color: #E77219;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	background: url(../img/welfare/arrow.png) no-repeat right 1.1rem top 1.3rem / 1.5rem,
	url(../img/welfare/page_btn_bg.png) no-repeat right top / 100% 100%;
	border-radius: 0 0 0.5rem 0;
}
#main .pageBtn a:hover {
	opacity: 0.7;
}
#main .pageBtn.black a {
	padding: 2.3rem 0 0.8rem 1.5rem;
	width: 6.4rem;
	color: #FFF;
	line-height: 1.4;
	letter-spacing: 0.2em;
	background: url(../img/welfare/arrow02.png) no-repeat right 1.8rem top 1.3rem / 1.5rem,
	url(../img/welfare/page_btn_bg02.png) no-repeat right top / 100% 100%;
}
@media all and (max-width: 896px) {
	#main .pageBtn.black a {
		padding: 2.3rem 0 1rem 1.5rem;
		font-size: 1.25rem;
		line-height: 1.2;
		border-radius: 0 0 1rem 0;
	}
}
#main .heading01 {
	margin-bottom: 0.9rem;
	font-size: 2.5rem;
	letter-spacing: 0.14em;
}
#main .heading01 .tag {
	margin-bottom: 0.7rem;
	padding: 0 0.7rem 1px;
	width: fit-content;
	display: block;
	color: #FFF;
	font-size: 1.3rem;
	letter-spacing: 0.15em;
	background-color: #E77219;
	border-radius: 2rem;
}
#main .heading01::after {
	margin: 0.7rem 0 0;
	display: block;
	width: 2.5rem;
	height: 0.2rem;
	background-color: #E77219;
	border-radius: 0.2rem;
	content: '';
}
#main .heading01.white {
	color: #FFF;
}
#main .heading01.white .tag {
	color: #E77219;
	background-color: #FFF;
}
#main .heading01.center {
	margin-bottom: 3rem;
	text-align: center;
}
#main .heading01.center .tag {
	margin: 0 auto 0.8rem;
	min-width: 17.3rem;
}
#main .heading01.noLine::after {
	display: none;
}
#main .heading02 {
	margin-bottom: 0.8rem;
	color: #E77219;
	font-size: 1.6rem;
	letter-spacing: 0.14em;
}
@media all and (max-width: 896px) {
	#main .heading01 {
		margin-bottom: 2.2rem;
		letter-spacing: 0.15em;
		font-size: 2.85rem;
		line-height: 1.33;
	}
	#main .heading01 .tag {
		margin-bottom: 0.6rem;
		padding: 0.3rem 1.2rem;
		letter-spacing: 0.35em;
	}
	#main .heading01::after {
		display: none;
	}
	#main .heading02 {
		font-size: 2rem;
	}
}

#main .strength {
	padding: 5rem 0 8.2rem;
	position: relative;
}
#main .strength .head {
	position: absolute;
	right: 0.6rem;
	top: -4.4rem;
	width: 6.9rem;
}
#main .strength .imgBox {
	margin-bottom: 8.9rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#main .strength .imgBox .videoBox {
	padding-right: 11.9rem;
	position: relative;
}
#main .strength .imgBox .video {
	width: 44rem;
	aspect-ratio: 88/66;
	border-radius: 1.8rem;
	overflow: hidden;
}
#main .strength .imgBox .video video,
#main .strength .imgBox .video img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .strength .imgBox .photo {
	position: absolute;
	right: 0;
	bottom: -4.8rem;
	width: 21.2rem;
	z-index: -1;
}
#main .strength .imgBox .textBox {
	margin-top: 3.5rem;
}
#main .strength p {
	letter-spacing: 0.14em;
}
#main .strength .slideBox {
	display: flex;
	position: relative;
	gap: 7.2rem;
}
#main .strength .slideBox .heading01 {
	margin: 0.2rem 0 0;
	position: absolute;
	left: 60.5rem;
	top: 0;
}
#main .strength .slideBox .heading01 .tag {
	margin-bottom: 1.1rem;
}
#main .strength .slideBox .heading01::after {
	margin: 1.6rem 0.3rem 0;
	width: 3rem;
}
#main .strength .slideBox .bigPhoto {
	width: 53rem;
}
#main .strength .slideBox .bigPhoto .item {
	height: 34rem;
}
#main .strength .slideBox .bigPhoto img {
	border-radius: 3rem;
}
#main .strength .slideBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}
#main .strength .slideBox .rBox {
	margin-top: 11.5rem;
	flex: 1;
}
#main .strength .slideBox .thumb {
	margin: 0 0.5rem 4rem;
	display: flex;
	gap: 1rem;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
}
#main .strength .slideBox .thumb .img {
	margin-bottom: 0.3rem;
	display: block;
	width: 7rem;
	aspect-ratio: 1;
	position: relative;
	border-radius: 1rem;
}
#main .strength .slideBox .thumb .img::after {
	position: absolute;
	left: -1px;
	top: -1px;
	width: calc(100% + 0.2rem);
	height: calc(100% + 0.2rem);
	border: 0.3rem solid #E7762A;
	content: '';
	border-radius: 1rem;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity 0.3s;
}
#main .strength .slideBox .thumb .item:hover .img::after,
#main .strength .slideBox .thumb .item.on .img::after {
	opacity: 1;
	cursor: pointer;
}
#main .strength .slideBox .textBox {
	margin: 0 0.5rem;
	padding-top: 2.8rem;
	border-top: 1px solid #D1D1D1;
	display: flex;
}
#main .strength .slideBox .textBox .item {
	flex-shark: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
#main .strength .slideBox .textBox .item.on {
	opacity: 1;
	visibility: visible;
}
#main .strength .slideBox .textBox .item + .item {
	margin-left: -100%;
}
#main .strength .slideBox .heading02 {
	margin-bottom: 0.5rem;
}
#main .strength .slideBox p {
	letter-spacing: 0;
}

@media all and (max-width: 896px) {
	#main .strength {
		padding: 4.2rem 0 5.1rem;
		background: url(../img/welfare/strength_bg01_sp.png) no-repeat right top 5rem / 29.6rem,
		url(../img/welfare/strength_bg02_sp.png) no-repeat left top 27rem / 10.9rem;
	}
	#main .strength .imgBox {
		margin-bottom: 5.3rem;
	}
	#main .strength .imgBox .textBox {
		margin-top: 0;
	}
	#main .strength .imgBox .video {
		width: 100%;
	}
	#main .strength .imgBox .videoBox {
		margin-bottom: 5rem;
		padding: 0;
	}
	#main .strength .imgBox .photo {
		display: none;
	}
	#main .strength .head {
		right: auto;
		left: -1px;
		top: 10rem;
		z-index: -1;
		width: 6.1rem;
	}
	#main .strength .slideBox {
		display: block;
	}
	#main .strength .slideBox .heading01 {
		margin-bottom: 2.7rem;
		position: static;
	}
	#main .strength .slideBox .heading01 .tag {
		margin-bottom: 0.5rem;
	}
	#main .strength .slideBox .bigPhoto {
		margin: 0 -1.6rem;
		width: auto;
		border-radius: 0;
	}
	#main .strength .slideBox .bigPhoto .item {
		height: auto;
		aspect-ratio: 750/500;
	}
	#main .strength .slideBox .bigPhoto img {
		border-radius: 0;
	}
	#main .strength .slideBox img {
		border-radius: 0;
	}
	#main .strength .slideBox .rBox {
		margin-top: 2rem;
	}
	#main .strength .slideBox .thumb {
		margin: 0 0 3.1rem;
		gap: 0.8rem;
	}
	#main .strength .slideBox .thumb .item {
		width: calc((100% - 3.2rem)/5);
	}
	#main .strength .slideBox .thumb .img {
		margin-bottom: 1.3rem;
		width: 100%;
		border-radius: 1rem;
		overflow: hidden;
	}
	#main .strength .slideBox .thumb .text {
		color: #666666;
		font-size: 1.25rem;
	}
	#main .strength .slideBox .textBox {
		margin: 0;
		padding-top: 2.5rem;
	}
	#main .strength .slideBox .heading02 {
		margin-bottom: 1rem;
	}
	#main .strength .slideBox p {
		font-size: 1.6rem;
		line-height: 1.31;
	}
}
#main .comBg {
	margin-top: -17rem;
	padding: 9rem 0 3.5rem;
	position: relative;
	z-index: 2;
	background: url(../img/welfare/com_bg01.png) no-repeat right -5rem top -4rem / 33em,
	url(../img/welfare/com_bg02.png) no-repeat left -5rem top 30rem / 23.2rem;
	background-color: #FFF;
	border-radius: 11.5rem 11.5rem 0 0;
}
@media all and (max-width: 896px) {
	#main .comBg {
		margin-top: -3.2rem;
		padding: 3.5rem 0 3.5rem;
		border-radius: 3.2rem 3.2rem 0 0;
	}
}
/* welfare */
#main .welfare .flexBox {
	display: flex;
	gap: 7rem;
}
#main .welfare .ttlBox {
	margin-top: 5rem;
	flex: 1;
}
#main .welfare .ttlBox .heading01 {
	position: relative;
	z-index: 1;
	text-align: center;
}
#main .welfare .ttlBox .heading01::before {
	width: 37.6rem;
	aspect-ratio: 1;
	position: absolute;
	left: -6.5rem;
	top: -14rem;
	background: url(../img/welfare/ttl_bg.png) no-repeat center bottom / 100% 100%;
	content: '';
	z-index: -1;
}
#main .welfare .ttlBox .heading01 .en {
	font-size: 4rem;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
}
#main .welfare .ttlBox .heading01::after {
	display: none;
}
#main .welfare .ttlBox .heading01 .tag {
	padding: 0 1.5rem;
	margin: 0 auto;
}
#main .welfare .ttlBox .heading01 .jp {
	font-size: 3rem;
	letter-spacing: 0.2em;
}
#main .welfare .mainImg img {	
	width: 100%;
}
#main .welfare .ttlBox .img {	
	margin: 0 auto;
	width: 19.5rem;
	position: relative;
	z-index: 2;
}
#main .welfare .rBox {
	width: 66rem;
}
#main .welfare .imgBox {
	margin-bottom: 3rem;
	padding-bottom: 2.8rem;
	display: flex;
	justify-content: space-between;
	gap: 5rem;
	border-bottom: 1px dashed #E77219;
}
#main .welfare .imgBox:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
	flex-direction: row-reverse;
}
#main .welfare .textBox {
	flex: 1;
}
#main .welfare .photoBox {
	position: relative;
	width: 30rem;
	border-radius: 3rem;
	box-shadow: 0.5rem 0.5rem 0 rgb(214, 101, 40, 0.2);
}
#main .welfare .photoBox img {
	width: 100%;
	border-radius: 3rem;
}
#main .welfare .photoBox .pageBtn a {
	border-radius: 0 0 1.2rem 0;
}
#main .welfare .imgBox .heading01 {
	margin: -0.2rem 0 0.4rem;
	letter-spacing: 0.04em;
}
#main .welfare .imgBox .heading01 .tag {
	margin-bottom: 0.2rem;
}
#main .welfare .imgBox .heading02 {
	margin-bottom: 0.4rem;
	letter-spacing: 0.09em;
}
#main .welfare .imgBox p {
	font-weight: 500;
	letter-spacing: 0.15em;
	text-align: justify;
}
#main .welfare .mainImg01 {
	margin: 3.5rem 0 0;
}
#main .welfare .comBg01 {
	margin-top: 0;
	padding: 1px 0 9rem;
	border-radius: 0;
	background: url(../img/welfare/com_bg03.png) no-repeat right -13rem top -16rem / 41.9em,
	url(../img/welfare/com_bg02.png) no-repeat left -5rem top -2rem / 23.2rem;
}
#main .welfare .slideMumber {
	margin: -21rem auto 0;
	max-width: 100rem;
	position: relative;
}
#main .welfare .slideMumber .heading01 {
	font-size: 3rem;
	letter-spacing: 0.21em;
}
#main .welfare .slideMumber .slide {
	margin-bottom: 2.8rem;
	margin: 0;
}
#main .welfare .slideMumber .slide .item {
	margin: 0 0.6rem;
	width: 19rem;
}
#main .welfare .slideMumber .slide .img {
	margin-bottom: 1.8rem;
	display: block;
	aspect-ratio: 190/200;
}
#main .welfare .slideMumber .slide .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 3rem;
}
#main .welfare .slideMumber .slide .text {
	display: block;
	margin: 0;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.06em;
}
#main .welfare .slideMumber .slide .ttl {
	display: block;
	color: #E77219;
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.25;
}
#main .welfare .slideMumber .arrow {
	margin-top: 1.4rem;
	display: flex;
	gap: 2rem;
	justify-content: center;
}
#main .welfare .slideMumber .arrow img {
	width: 4rem;
	transition: opacity 0.3s;
}
#main .welfare .slideMumber .arrow img:hover {
	opacity: 0.7;
	cursor: pointer;
}
@media all and (max-width: 896px) {
	#main .welfare .comBg {
		overflow: hidden;
		background: #FFF url(../img/welfare/welfare_bg01_sp.png) no-repeat left top / 8.32rem;
		background-color: #FFF;
		border-radius: 4.5rem 4.5rem 0 0;
	}
	#main .welfare .ttlBox {
		margin: 0 0 2.5rem;
	}
	#main .welfare .ttlBox .heading01 .tag {
		margin-bottom: 0.2rem;
		padding: 0.3rem 1.5rem;
	}
	#main .welfare .ttlBox .heading01 .jp {
		font-size: 3.5rem;
	}
	#main .welfare .ttlBox .heading01::before {
		width: 32rem;
		top: -13rem;
		left: calc(50% - 16.6rem);
		background-image: url(../img/welfare/ttl_bg_sp.png);
	}
	#main .welfare .ttlBox .img {
		width: 8.8rem;
		margin: -12.6rem 0 0 calc(50% + 8.9rem);
	}
	#main .welfare .imgBox .heading01 {
		margin-bottom: 1rem;
		font-size: 2.5rem;
	}	
	#main .welfare .comBg01 {
		padding-bottom: 1.3rem;
		overflow: inherit;
		background: none;
	}
	#main .welfare .slideMumber {
		margin: -23.5rem auto 0;
	}
	#main .welfare .slideMumber .heading01 {
		margin-bottom: 2.8rem;
	}
	#main .welfare .slideMumber .heading01 .tag {
		padding: 0 1rem 0.2rem;
		min-width: 18.75rem;
		font-size: 1.5rem;
		letter-spacing: 0.12rem;
	}
	#main .welfare .slideMumber .heading01 .jp {
		display: block;
		font-size: 2.5rem;
		letter-spacing: 0.1em;
		line-height: 1.2;
	}
	#main .welfare .slideMumber .heading01 .spSml {
		margin-bottom: 0;
		display: block;
		font-size: 1.5rem;
		letter-spacing: 0.2em;
	}
	#main .welfare .slideMumber .slide {
		margin: 0 auto;
		width: 61%;
	}
	#main .welfare .slideMumber .slide .item {
		margin: 0;
		width: 100%;
	}
	#main .welfare .slideMumber .slide .img {
		margin-bottom: 1.5rem;
		aspect-ratio: 46/36;
	}
	#main .welfare .slideMumber .slide .img img {
		border-radius: 0.7rem;
	}
	#main .welfare .slideMumber .slide .text {
		color: #999;
		font-size: 1.25rem;
		margin: 0;
		letter-spacing: 0.2em;
	}
	#main .welfare .slideMumber .slide .ttl {
		margin: 0 0 0.5rem 0;
		font-size: 1.9rem;
		line-height: 1.27;
		letter-spacing: 0;
	}
	#main .welfare .slideMumber .arrow > div {
		position: absolute;
		background-color: #E7721A;
		border-radius: 0.7rem;
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
		margin-top: 12.3rem;
	}
	#main .welfare .slideMumber .arrow .prev {
		left: 4%;
	}
	#main .welfare .slideMumber .arrow .next {
		right: 4%;
	}
	#main .welfare .flexBox {
		display: block;
	}
	#main .welfare .imgBox {
		display: block;
		margin: 0 0.9rem 2.8rem;
		font-size: 1.5rem;
		position: relative;
	}	
	#main .welfare .imgBox:first-child::after {
		width: 16.5rem;
		aspect-ratio: 330/538;
		position: absolute;
		left: -2.5rem;
		bottom: -17rem;
		content: '';
		background: url(../img/welfare/sp_bg01.png) no-repeat left center / 100%;
		z-index: -1;
	}
	#main .welfare .photoBox {
		width: auto;
		margin-bottom: 1.8rem;
		border-radius: 1.6rem;
		box-shadow: 0.3rem 0.3rem 0 rgba(214, 101, 40, 0.2);
	}
	#main .welfare .rBox {
		width: auto;
	}
	#main .welfare .imgBox .heading01 .tag {
		margin-bottom: 0.2rem;
		padding: 0.2rem 0.9rem 0.4rem;
	}
	#main .welfare .photoBox img {
		border-radius: 1.6rem;
	}
	#main .welfare .imgBox .heading02 {
		letter-spacing: 0;
		font-size: 2rem;
		margin: 0 -1.5rem 0.5rem 0;
	}
	#main .welfare .imgBox p {
		letter-spacing: 0.15em;
		line-height: 1.33;
	}
}
/* feature */
#main .feature .comBg {
	padding-bottom: 9rem;
	position: relative;
}
#main .feature .mainImg img {
	width: 100%;
}
#main .feature .head {
	position: absolute;
	right: 0;
	top: 6.8rem;
	width: 6.9rem;
}
#main .feature .heading01 .tag {
	margin-bottom: 0.5rem;
	min-width: 16rem;
}
#main .feature .featureList {
	margin-bottom: 2.8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 2rem;
}
#main .feature .featureList li {
	width: calc((100% - 4rem)/3);
}
#main .feature .featureList .flex {
	margin-bottom: 1.5rem;
	align-items: center;
	gap: 2.7rem;
}
#main .feature .featureList .image {
	width: 12.4rem;
	aspect-ratio: 124/107;
}
#main .feature .featureList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1.5rem;
}
#main .feature .featureList .ttl {
	margin-top: 1.6rem;
	flex: 1;
	overflow: hidden;
}
#main .feature .featureList .ttl p {
	margin-top: -0.5rem;
	padding-bottom: 0.5rem;
	color: #E77219;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 2.6rem;
	background: url(../img/welfare/line_bg.png) repeat left top 0.3rem / 0.7rem;
}
#main .feature .featureList .text {
	letter-spacing: 0.18em;
}
#main .feature .comBtn {
	margin: 0 auto;
	max-width: 28rem;
}
#main .feature .comBtn a {
	font-size: 1.4rem;
	height: 5rem;
	background: #000 url(../img/common/icon05.png) no-repeat right 1.5rem center / 1.9rem;
}
@media all and (max-width: 896px) {
	#main .feature .comBg {
		padding: 4.3rem 0 5.5rem;
		border-radius: 4.5rem 4.5rem 0 0;
		background: #FFF url(../img/welfare/welfare_bg01_sp.png) no-repeat left top  / 8.32rem;
		overflow: hidden;
	}
	#main .feature .heading01 {
		margin-bottom: 3.6rem;
		position: relative;
		color: #FFF;
		font-size: 2.5rem;
		line-height: 1.2;
	}
	#main .feature .heading01 .tag {
		margin-bottom: 0.7rem;
		padding: 0.2rem 2rem 0.4rem;
		color: #E77219;
		font-size: 1.5rem;
		background-color: #FFF;
		letter-spacing: 0.15em;
	}
	#main .feature .heading01::before {
		width: 32rem;
		aspect-ratio: 1;
		position: absolute;
		left: calc(50% - 17rem);
		top: -14rem;
		background: url(../img/welfare/ttl_bg_sp.png) no-repeat center bottom / 100% 100%;
		content: '';
		z-index: -1;
	}
	#main .feature .featureList {
		display: block;
		font-size: 1.5rem;
		margin-bottom: 2.4rem;
	}
	#main .feature .featureList li {
		width: auto;
		margin-bottom: 2.2rem;
	}
	#main .feature .featureList .image {
		width: 15.7rem;
		aspect-ratio: 124/78;
	}
	#main .feature .featureList .ttl p {
		margin-top: -0.5rem;
		padding-bottom: 0.3rem;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		line-height: 3rem;
		background: url(../img/welfare/line_bg_sp.png) repeat left top .3rem / 0.5rem;
	}
	#main .feature .featureList .ttl {
		margin-top: .6rem;
	}
	#main .feature .featureList .flex {
		margin-bottom: 1.3rem;
		gap: 2.5rem;
	}
	#main .feature .featureList .text {
		line-height: 1.4;
		letter-spacing: 0.15em;
	}
	#main .feature .comBtn {
		margin: 0;
		max-width: inherit;
	}
	#main .feature .comBtn a {
		border-radius: 0.3rem;
		height: 6.1rem;
		font-size: 1.6rem;
		letter-spacing: 0.08em;
		background-size: 2.2rem auto;
		background-position: right 2.6rem center;
	}
}
#main .blog {
	background-color: #F8DFC0;
	height: 30rem;
}
#main .linkBox {
	display: flex;
}
#main .linkBox .linkItem {
	width: 50%;
	position: relative;
}
#main .linkBox .linkItem .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .comColorBg {
	position: relative;
	padding: 2rem 3rem 2.8rem 3.2rem;
	width: 47.1rem;
	color: #FFF;
	background: url(../img/welfare/bg02.jpg) no-repeat center top / cover;
	border-radius: 1rem 1rem 0.8rem 1rem;
	box-shadow: 1rem 1rem 0 rgb(214, 101, 40, 0.4);
	z-index: 10;
	display: block;
}
#main .comColorBg .pageBtn a,
#main .comColorBg .pageBtn .inner {
	padding: 3.2rem 0 1.3rem 2rem;
	width: 8.2rem;
	font-size: 1.3rem;
	line-height: 1.1;
	letter-spacing: 0.05em;
	border-radius: 0 0 1.1rem 0;
	background: url(../img/welfare/arrow.png) no-repeat right 2rem top 1.8rem / 2rem,
	url(../img/welfare/page_btn_bg.png) no-repeat right top / 100% 100%;
}
#main .linkBox .linkItem .comColorBg {
	right: 5.8rem;
	bottom: 2rem;
	position: absolute;
	z-index: 10;
}
#main .linkBox .linkItem .title {
	margin-bottom: 1px;
	font-size: 2.745rem;
	font-weight: bold;
	line-height: 1.25;
}
#main .linkBox .linkItem .text {
	margin: 1px 0.4rem 0;
	font-weight: 500;
}
@media all and (min-width: 897px) {
	#main a.comColorBg:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .linkBox {
		display: block;
	}
	#main .linkBox .linkItem {
		width: 100%;
	}
	#main .linkBox .linkItem .title {
		margin-bottom: 1.2rem;
		font-size: 2.25rem;
		line-height: 1.33;
		letter-spacing: 0.05em;
	}
	#main .linkBox .linkItem .text {
		font-size: 1.6rem;
		line-height: 1.31;
		letter-spacing: 0.05em;
	}
	#main .linkBox .linkItem .comColorBg {
		padding: 2.5rem 2.5rem 2.6rem;
		right: auto;
		left: 2rem;
		width: calc(100% - 3.5rem);
		background-image: url(../img/welfare/bg02_sp.jpg);
	}
	#main .linkBox .linkItem:nth-child(2) .comColorBg {
		padding-bottom: 3.5rem;
	}
	#main .linkBox .comColorBg .pageBtn a {
		width: 6rem;
    	padding: 2.4rem 0 1.1rem 1.2rem;
		font-size: 0.942rem;
		background: url(../img/welfare/arrow.png) no-repeat right 1.5rem top 1.5rem / 1.5rem,
		url(../img/welfare/page_btn_bg.png) no-repeat right top / 100% 100%;
  }
}
#main .recruit {
	padding: 17.5rem 0 9rem;
	position: relative;
	background: url(../img/welfare/recruit_bg.jpg) no-repeat center center / cover;
}
#main .recruit .textBox {
	padding: 4rem 3.5rem 5rem;
	width: 37.5rem;
	background-image: url(../img/welfare/bg03.png);
	box-shadow: none;
	border-radius: 2rem;
}
#main .recruit .heading02 {	
	color: #FFF;
}
#main .recruit .heading01 {
	margin-bottom: 0.6rem;
}
#main .recruit .heading01 .tag {
	margin-bottom: 0.4rem;
	min-width: 15rem;
	text-align: center;
}
#main .recruit .text {
	letter-spacing: 0.15em;
	font-weight: 500;
}
#main .recruit .pageBtn a {
	border-radius: 0 0 1.5rem 0;
}
@media all and (min-width: 897px) {
	#main .recruit .imgText {
		position: absolute;
		right: 2.7rem;
		bottom: 6.2rem;
		width: 23.5rem;
	}
}
@media all and (max-width: 896px) {
	#main .recruit {
		padding: 0 0 3.6rem;
		background: none;
	}
	#main .recruit .mainImg img {
		width: 100%; 		
	}
	#main .recruit .imgText {
		margin: -31.5rem 0 1rem 0.5rem;
		width: 20.1rem;
		position: relative;
		z-index: 1;
	}
	#main .recruit .textBox {
		width: auto;
		border-radius: 1rem;
		padding: 2.5rem 2.5rem 6.9rem;
	}
	#main .recruit .heading01 {
		font-size: 2.5rem;
		letter-spacing: 1px;
	}
	#main .recruit .heading01::after {
		margin: 2rem 0.5rem;
		display: block;
		height: 1px;
		background-color: #FFF;
	}
	#main .recruit .heading01 .tag {
		margin-bottom: 1.2rem;
		padding-bottom: 0.5rem;
		min-width: 16.6rem;
	}
	#main .recruit .heading02 {
		margin-bottom: 0.4rem;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}
	#main .recruit .pageBtn {
		right: -1px;
		bottom: -1px;
	}
	#main .recruit .pageBtn a {
		width: 7.8rem;
		padding: 2.8rem 0 1.1rem 2rem;
		font-size: 1.25rem;
		background-position: right 2rem top 1.4rem, right top ;
		border-radius: 0 0 1rem 0;
	}
}
#main .comContact {
	margin-top: 0;
	background-image: url(../img/welfare/contact_bg.jpg);
}
#main .comContact .textBox {
	background: url(../img/welfare/contact_bg01.jpg) no-repeat center top / cover;
	border-radius: 2rem;
}
#main .comContact .comLinkUl a {
	border-radius: 2rem;
	box-shadow: 0.3rem 0.3rem 0 rgb(255, 74, 0, 0.2);
}
#main .comContact .comLinkUl li:first-child a {
	background-color: #E77219;
}
#main .comContact .comLinkUl li:nth-child(2) a {
	position: relative;
	background: linear-gradient(90deg,#8CB925 0,#A3C859 100%);
}
#main .comContact .comLinkUl li:nth-child(2) a::before {
	position: absolute;
	left: 1.7rem;
	top: 0;
	width: 2.9rem;
	aspect-ratio: 1;
	height: 100%;
	background: url("../img/common/icon11.png") no-repeat left center / 100%;
	content: '';
}
#main .comContact .enImg {
	background: url(../img/welfare/title02.png) no-repeat center top / 100%;
}
#main .comContact .enImg img {
	opacity: 0;
}

.comContact .bgBox {
	border-radius: 1.7rem;
}
@media all and (max-width: 896px) {
	#main .comContact {
		background-image: url(../img/welfare/contact_bg_sp.jpg);
	}
	#main .comContact .textBox {
		border-radius: 1.5rem;
		background-image: url(../img/welfare/contact_bg01_sp.jpg);
	}
	#main .comContact .comLinkUl a {
		border-radius: 1.2rem;
		box-shadow: 0.4rem 0.4rem 0 rgb(255, 74, 0, 0.2);
	}
	#main .comContact .comLinkUl li:nth-child(2) a {
		position: relative;
		background: linear-gradient(-90deg,#8CB925 0,#A3C859 100%);
	}
	#main .comContact .comLinkUl li:nth-child(2) a::before {
		left: 2.4rem;
		width: 3.8rem;
	}
	#main .comContact .enImg {
		background-size: 99%;
	}
	.comContact .bgBox {
		border-radius: 2rem;
	}
}
#main .snsBox {
	margin: 5rem 0 0;
}
#main .snsBox .list a {
	color: #f8dfc0;
}

/* blogBox */
#main .blogBox {
	padding: 9rem 0;
	background-color: #f8dfc0;
}
#main .blogBox .pageBtn {
	right: -1px;
}
#main .blogBox .bgBox {
	background-color: #fff;
	width: calc(50% + 50.1rem);
	margin-left: auto;
	border-radius: 3rem 0 0 3rem;
	position: relative;
	display: flex;
	overflow: hidden;
}
#main .blogBox .leftBox {
	padding: 9rem 0 14.1rem;
	width: 22.5rem;
	color: #fff;
	position: relative;
	border-radius: 0 1.2rem 1.2rem 0;
	box-shadow: none;
	background-image: url("../img/welfare/bg04.jpg");
	overflow: hidden;
}
#main .blogBox .rightBox {
	width: calc(100% - 22.6rem);
	padding: 4rem 0 1rem 5.3rem;
}
#main .blogBox .headLine01 {
	margin: 0;
}
#main .blogBox .headLine01 .en {
	margin-bottom: .5rem;
	color: #000;
}
#main .blogBox .comSlide {
	position: static;
	margin: 0;
	padding: 0;
	max-width: inherit;
}
#main .blogBox .comSlide .list .image {
	border-radius: 3rem;
}
#main .blogBox .comSlide .list .time {
	color: #e77219;
}
@media all and (min-width: 897px) {
	#main .blogBox .arrow {
		position: absolute;
		top: auto;
		right: auto;
		gap: 1.9rem;
		display: flex;
		left: 5.8rem;
		bottom: 8.4rem;
		z-index: 10;
	}
}
@media all and (max-width: 896px) {
	#main .blogBox {
		padding: 5.7rem 0;
	}
	#main .blogBox .bgBox {
		width: auto;
		margin-left: 1.6rem;
		border-radius: 1rem 0 0 1rem;
		display: block;
		overflow: inherit;
	}
	#main .blogBox .leftBox {
		padding: 2.7rem 2.1rem 3rem 0;
		width: auto;
		border-radius: .9rem 0 0 0;
		background-image: url("../img/welfare/bg04_sp.jpg");
	}
	#main .blogBox .rightBox {
		width: auto;
		padding: 2.4rem 0 4.9rem 0;
	}
	#main .blogBox .headLine01 .en {
		margin-bottom: -0.3rem;
	}
	#main .blogBox .comSlide .list {
		margin-left: 0;
	}
	#main .blogBox .comSlide .list .image {
		border-radius: 1.5rem;
	}
	#main .blogBox .comSlide .arrow {
		bottom: -7.6rem;
		top: auto;
	}
	#main .blogBox .comSlide .arrow li {
		width: 5.2rem;
	}
	#main .snsBox {
		margin: 10.2rem 1.7rem 0;
	}
	#main .snsBox .list {
		gap: 1.8rem 0;
	}
	#main .blogBox .pageBtn {
		right: -.3rem;
		bottom: -0.5rem;
	}
	#main .blogBox .comColorBg .pageBtn a {
		padding: 2.7rem 0 1.6rem 1.8rem;
  		width: 8rem;
		background: url(../img/welfare/arrow.png) no-repeat right 2rem top 1.4rem / 2rem, url(../img/welfare/page_btn_bg.png) no-repeat right top / 100% 100%;
	}
}

/* mapArea */
#main .mapArea {
	margin: 0 0 -9rem;
	padding: 8.5rem 0 9rem;
	border-radius: 0 0 12rem 12rem;
	z-index: 10;
}
#main .mapArea .content {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
#main .mapArea .map {
	width: 65.5rem;
	position: relative;
	margin-left: -0.4rem;
}
#main .mapArea .map img {
	width: 100%;
}
#main .mapArea .map .link {
	width: 2.2rem;
	height: 3.5rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	overflow: hidden;
	text-indent: -999rem;
	background: url("../img/welfare/map_icon01.png") no-repeat left top / 100% 100%;
	z-index: 10;
	cursor: pointer;
}
#main .mapArea .map .link.num01 {
	margin: -18.8rem 0 0 21.4rem;
}
#main .mapArea .map .link.num02 {
	margin: -11.7rem 0 0 11.2rem;
}
#main .mapArea .map .link.num03 {
	margin: -11.4rem 0 0 -2.4rem;
}
#main .mapArea .map .link.num04 {
	margin: -4.9rem 0 0 8.2rem;
}
#main .mapArea .map .link.num05 {
	margin: -1.3rem 0 0 -9.1rem;
}
#main .mapArea .map .link.num06 {
	margin: 3.4rem 0 0 1.9rem;
}
#main .mapArea .map .link.num07 {
	margin: 6.7rem 0 0 3.1rem;
}
#main .mapArea .map .link.num08 {
	margin: 8.8rem 0 0 5.7rem;
}
#main .mapArea .map .link.num09 {
	margin: 15.4rem 0 0 5rem;
}
#main .mapArea .map .link.num10 {
	margin: 15.7rem 0 0 28.6rem;
}
#main .mapArea .map .link.num11 {
	margin: 3.5rem 0 0 -28.7rem;
}
#main .mapArea .map .link.num12 {
	margin: -17.1rem 0 0 24.5rem;
}
#main .mapArea .map .link.num13 {
	margin: -13.9rem 0 0 27.9rem;
}
#main .mapArea .map .link.num14 {
	margin: -17.1rem 0 0 -6.9rem;
}
#main .mapArea .map .link.on {
	width: 4.2rem;
	height: 5.9rem;
	transform: translate(calc(-50% + 0.2rem),calc(-50% - 0.3rem));
	background-image: url("../img/welfare/map_icon02.png");
}
#main .mapArea .textBox {
	margin-top: 15.4rem;
	width: 29rem;
	padding: 2.6rem 3rem 3rem;
	background-color: #faecda;
	position: relative;
}
#main .mapArea .textBox .notesTxt {
	position: absolute;
	top: calc(100% + 2.3rem);
	left: 0;
	white-space: nowrap;
	font-size: 1.3rem;
	display: block !important;
}
#main .mapArea .textBox::before {
	width: 3.3rem;
	height: 3.9rem;
	position: absolute;
	top: 50%;
	left: -3rem;
	transform: translateY(-50%);
	background: url("../img/welfare/map_icon03.png") no-repeat left top / 100% 100%;
	content: "";
}
#main .mapArea .headLine01 {
	margin: 0;
	width: 29rem;
	position: absolute;
	top: 6.9rem;
	right: 0;
	font-size: 2.5rem;
	text-align: left;
	font-weight: 700;
}
#main .mapArea .headLine01 .comTtl {
	display: block;
	width: fit-content;
	font-weight: 500;
	font-size: 1.3rem;
	padding: 0.4rem 3.6rem 0.4rem;
	margin-bottom: .5rem;
}
#main .mapArea .headLine01 .comTtl.bg::before {
	background: #e8721a;
	transform: skew(0);
	border-radius: 5rem;
}
#main .mapArea .title {
	margin-bottom: 1.1rem;
	color: #e8721a;
	font-size: 1.6rem;
	line-height: 1.34;
	border-bottom: 0.2rem solid #fff;
	letter-spacing: 0.1em;
	padding-bottom: .7rem;
}
#main .mapArea .info {
	margin-right: -1.5rem;
	display: flex;
	flex-wrap: wrap;
	line-height: 1.42;
	gap: .7rem 0;
}
#main .mapArea .info dt {
	padding: .7rem 0;
	width: 6.5rem;
	color: #e8721a;
	border-radius: .5rem;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .mapArea .info dd {
	width: calc(100% - 6.5rem);
	padding: .4rem 0 .4rem 1.4rem;
}
#main .mapArea .mapInner {
	position: relative;
}
#main .mapArea .tabBox {
	display: none;
}
@media all and (min-width: 897px) {
	#main .mapArea .map .link:hover {
		width: 4.2rem;
		height: 5.9rem;
		transform: translate(calc(-50% + .2rem),calc(-50% - .3rem));
		background-image: url("../img/welfare/map_icon02.png");
	}
}
@media all and (max-width: 896px) {
	#main .mapArea {
		margin: 0 0 -3.4rem;
		padding: 5.5rem 0 9.6rem;
		background: url(../img/welfare/welfare_bg01_sp.png) no-repeat left top  / 8.32rem,
		url(../img/welfare/map_bg.png) no-repeat right bottom / 7.8rem;
		background-color: #FFF;
		border-radius: 0 0 4.2rem 4.2rem;
	}
	#main .mapArea .content {
		display: block;
	}
	#main .mapArea .map {
		width: auto;
		margin: 0 -1.6rem;
		overflow-x: auto;
	}
	#main .mapArea .map .innerBox {
		width: 65.5rem;
		padding-bottom: 1.5rem;
		position: relative;
	}
	#main .mapArea .map .link {
		width: 1.6rem;
		height: 2.6rem;
	}
	#main .mapArea .map .link.on {
		width: 4.2rem;
		height: 5.9rem;
	}
	#main .mapArea .textBox {
		margin-top: 4.8rem;
		width: auto;
		padding: 2rem 2.5rem 2.6rem;
	}
	#main .mapArea .textBox::before {
		width: 3.5rem;
		height: 4.5rem;
		top: -3.9rem;
		left: 50%;
		transform: translate(-50%,0) rotate(90deg);
		margin-left: -0.8rem;
	}
	#main .mapArea .headLine01 {
		margin: 0 .1rem 2.2rem;
		width: auto;
		position: static;
		top: auto;
		right: auto;
		font-size: 2.7rem;
		letter-spacing: 0.2em;
	}
	#main .mapArea .headLine01 .comTtl {
		font-size: 1.3rem;
		padding: 0.6rem 2.6rem 0.6rem;
		margin-bottom: 1.4rem;
		min-width: 16.5rem;
		text-align: center;
		letter-spacing: 0.4em;
	}
	#main .mapArea .title {
		margin-bottom: 1.3rem;
		font-size: 2rem;
		padding-bottom: .8rem;
		line-height: 1.48;
	}
	#main .mapArea .mapInner {
		margin-left: 1.1rem;
	}
	#main .mapArea .info {
		margin-right: -1.5rem;
		display: flex;
		flex-wrap: wrap;
		line-height: 1.5;
		gap: .7rem 0;
	}
	#main .mapArea .info dt {
		padding: .7rem 0;
		width: 8.4rem;
		border-radius: .5rem;
	}
	#main .mapArea .info dd {
		width: calc(100% - 8.4rem);
		padding: .8rem 0 1.1rem 1.9rem;
	}
	#main .mapArea .textBox .notesTxt {
		top: calc(100% + 1.6rem);
		font-size: 1.35rem;
		letter-spacing: 0.1em;
	}
}
@media all and (max-width: 896px) {
	#main .mapArea .simplebar ::-webkit-scrollbar {
		display: none;
	}
	#main .mapArea .comSimplebar .innerSimplebar {
		padding-right: 1.8rem;
	}
	#main .mapArea .simplebar-scrollbar::before {
		background-color: #fff;
		opacity: 1 !important;
		border-radius: 0.3rem;
		top: 0.4rem;
		bottom: 0.4rem;
		left: 0.4rem;
		right: 0.4rem;
	}
	#main .mapArea .simplebar-track {
		width: calc(100% - 3.2rem);
		background-color: #aaaaaa;
		left: 1.6rem;
	}
	#main .mapArea .simplebar-track.simplebar-horizontal {
		height: 1.8rem;
		border-radius: 0.3rem;
	}
}