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

 * mv

---------------------------------------------- */
.mv {
	height: 100svh;
	background-image: url(../img/top/mv.png);
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}

.mv_text {
	display: grid;
	place-content: center;
	height: 100%;
	position: relative;
}

/* アニメーション */
.mv_text h2 {
	writing-mode: vertical-rl;
	animation: fade-in 1s linear 1s forwards;
	font-size: 3rem;
	z-index: 2;
	display: block;
	opacity: 0;
}

.mv_text h2:before {
	background: none !important;
}

.mv_text_back {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../img/top/mv_text_back.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	z-index: 1;
	opacity: 0;
	animation: fade-in 1s linear 3s forwards;
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* .fadein-img {
	position: absolute;
	opacity: 0;
	animation-name: fade-in;
	animation-duration: 1s;
	animation-timing-function: linear;
	animation-delay: 2s;
	animation-fill-mode: forwards;
	z-index: 1;
} */

/* スライド */
.mv_slide {
	position: absolute;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	animation: fade-in 1s linear 5s forwards;
}

.mv_text_inner {
	opacity: 0;
	/* 初期は非表示 */
	animation: fade-in 1s linear forwards;
	/* 1秒かけてフェードイン */
}

.mv_slide img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.mv_text {
		height: calc(100% - 200px);
	}

	.mv_slide {
		width: 50%;
		height: 200px;
		top: auto;
		bottom: 0;
	}
	.mv_slide img.mv_left1 {
		object-position: 50% 30%;
	}
	.mv_slide img.mv_left2 {
		object-position: 50% 30%;
	}
	.mv_slide img.mv_right1 {
		object-position: 50% 53%;
	}
	.mv_slide img.mv_right2 {
		object-position: 50% 58%;
	}

	.mv_slide.mv_slide-right {
		right: 0;
	}
}

@media not screen and (min-width: 500px) {
	.mv {
		background-size: 85%;
	}

	.mv_text {
		height: calc(100% - 150px);
	}

	.mv_slide {
		width: 50%;
		height: 150px;
		top: auto;
		bottom: 0;
	}
	.mv_text h2 {
		font-size: 1.5rem;
		margin-top: 5rem;
	}

}

/* パソコン */
@media print,
screen and (min-width : 1280px) {

	.mv_slide {
		width: 600px;
	}

	.mv_slide.mv_slide-right {
		right: 0;
		top: 0;
	}
}

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

 * news

---------------------------------------------- */
.news {
	background-image: url(../img/top/news_back.svg);
	background-repeat: no-repeat;
}

.news_list_wrap {
	position: relative;
}

.news_list {
	overflow: hidden;
	margin-bottom: 3rem;
}

.news_list .swiper-slide {
	height: auto;
}

.news_list .swiper-slide a {
	display: grid;
	background-color: #fff;
	padding: 1.5rem;
	border: solid 1px #DADADA;
	border-radius: 24px;
	height: 100%;
	gap: 30px;
	grid-auto-rows: min-content 1fr min-content;
}

.news_list .swiper-slide a data,
.news_list .swiper-slide a img {
	justify-self: end;
}

.news_list_wrap .swiper-button-next,
.news_list_wrap .swiper-button-prev {
	width: 56px !important;
	height: 56px !important;
}

.news_list_wrap .swiper-button-prev:after,
.news_list_wrap .swiper-rtl .swiper-button-next:after,
.news_list_wrap .swiper-button-next:after,
.news_list_wrap .swiper-rtl .swiper-button-prev:after {
	content: '' !important;
	width: 56px;
	height: 56px;
	background-image: url(../common/img/slide_btn.png);
	border: solid 2px var(--font_color);
	border-radius: 50%;
}

.news_list_wrap .swiper-button-next:after,
.news_list_wrap .swiper-rtl .swiper-button-prev:after {
	transform: scale(-1, 1);
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.news {
		padding-top: clamp(3.5rem, 1.979rem + 7.6vw, 8.063rem);
		background-image: url(../img/top/news_back_sp.svg);
		background-position: right;
	}

	.news h2 {
		padding-left: 1rem;
	}

	.news_list .swiper-slide {
		padding: 12px;
	}

	.news_link {
		padding-bottom: 60px;
	}

	.news_link a {
		margin-inline: auto;
	}
}

@media not screen and (min-width: 500px) {

	.news h2 {
		width: 90%;
		margin: 0 auto;
		padding-left: 0;
	}

	.news_list_wrap .swiper-button-next,
	.news_list_wrap .swiper-button-prev {
		width: 32px !important;
		height: 32px !important;
	}

	.news_list_wrap .swiper-button-prev:after,
	.news_list_wrap .swiper-rtl .swiper-button-next:after,
	.news_list_wrap .swiper-button-next:after,
	.news_list_wrap .swiper-rtl .swiper-button-prev:after {
		width: 32px;
		height: 32px;
		background-size: cover;
	}

	.news_list_wrap .swiper-button-prev,
	.news_list_wrap .swiper-rtl .swiper-button-next {
		left: 0;
	}

	.news_list_wrap .swiper-button-next,
	.news_list_wrap .swiper-rtl .swiper-button-prev {
		right: 0;
	}

	.news_list .swiper-slide {
		padding: 24px;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	.news {
		padding-top: 129px;
		padding-bottom: 89px;
	}

	.news h2 {
		width: 1200px;
		margin-inline: auto;
		margin-bottom: 46px;
	}

	.news_list_wrap {
		width: calc(100% - 360px);
		margin-left: auto;
	}

	.news_list_wrap .swiper-button-next,
	.news_list_wrap .swiper-button-prev {
		top: -25%;
	}

	.news_list_wrap .swiper-button-prev,
	.news_list_wrap .swiper-rtl .swiper-button-next {
		right: calc(100% - 1200px + 100px);
		left: auto;
	}

	.news_list_wrap .swiper-button-next,
	.news_list_wrap .swiper-rtl .swiper-button-prev {
		right: calc(100% - 1200px);
	}

	.news_list .swiper-slide {
		padding-right: 12px;
	}

	.news_link {
		width: 1200px;
		margin-inline: auto;
		/* text-align: right; */
	}

	.news_link a.btn {
		margin-left: auto;
	}
}

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

 * 施設のご案内

---------------------------------------------- */
.service {
	background-image: url(../img/top/top_line_bingata.svg), url(../img/top/top_line_bingata.svg);
	background-color: #fff;
	background-position: top, bottom;
	background-repeat: repeat-x;
	padding-block: 66px;
}

.service h2 {
	margin-bottom: 40px;
}

.service .mod_grid {
	grid-auto-columns: 1fr;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 54px;
	grid-template-areas:
		"img img2"
		"logo1 logo2"
		"text1 text2"
		"link1 link2";
}

.service_img_rehabaru {
	grid-area: img;
}

.service_img_home-assist {
	grid-area: img2;
}

.service_logo_rehabaru {
	grid-area: logo1;
}

.service_logo_home-assist {
	grid-area: logo2;
}

.service_text_rehabaru {
	grid-area: text1;
}

.service_text_home-assist {
	grid-area: text2;
}

.service_link_rehabaru {
	grid-area: link1;
}

.service_link_home-assist {
	grid-area: link2;
}

.service_logo {
	place-self: center;
}

.service_link {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

/* モバイル */
@media not screen and (min-width: 1280px) {

	.service_img,
	.service_logo {
		margin-bottom: 24px;
	}

	.service_text {
		margin-bottom: 18px;
	}
}

@media not screen and (min-width: 500px) {
	.service .mod_grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"img"
			"logo1"
			"text1"
			"link1"
			"img2"
			"logo2"
			"text2"
			"link2";
	}

	.service_img,
	.service_logo,
	.service_text {
		margin-bottom: 26px;
	}

	.service_link_rehabaru {
		margin-bottom: 68px;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	.service {
		margin-bottom: 82px;
	}

	.service_img,
	.service_logo {
		margin-bottom: 46px;
	}

	.service_text {
		margin-bottom: 36px;
	}
}

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

 * 私達について

---------------------------------------------- */
.about {
	background-image:
		url(../img/top/about_text_back.png),
		url(../img/top/about_bingata_back.png),
		url(../img/top/about_mv.png),
		url(../img/top/about_minser_back.svg),
		url(../img/top/about_minser_back.svg);
	background-repeat: no-repeat;
	background-size: auto, 345px, calc(100% - 100px), 364px,
		364px;
	background-position: calc(100% - 70px) top, calc(100% - 70px) 315px, right 112px, left bottom,
		right bottom;
	position: relative;
}

.about h2 {
	width: calc(100% - 100px);
	margin-left: auto;
}

.about h3 {
	font-size: 42px;
	font-weight: normal;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-bottom: 145px;
	display: flex;
	width: 100%;
	justify-content: end;
}

.about .mod_fx {
	align-items: flex-end;
}

.about .about_text p:not(:last-of-type) {
	margin-bottom: 1rem;
}

.about_bingata {
	position: absolute;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.about {
		padding: 55px 0 60px;
		background-image:
			url(../img/top/about_text_back_sp.png),
			url(../img/top/about_bingata_back.png),
			url(../img/top/about_mv.png);
		background-size: auto, 135px, 96%;
		background-position: right 116px, calc(100% - 36px) 299px, right 112px;
		background-repeat: no-repeat;
	}

	.about h2 {
		width: 90%;
		margin-inline: auto;
	}

	.about h3 {
		margin-bottom: 32px;
		font-size: clamp(1.5rem, 2.5vw, 32px);
	}

	.about .mod_fx {
		flex-direction: column;
		align-items: center;
		gap: 32px;
	}

	.about_bingata1 {
		width: 20px;
		right: 15px;
		top: 109px;
	}

	.about_bingata2 {
		width: 28px;
		right: -5px;
		top: 131px;
	}

}

@media not screen and (min-width: 500px) {
	.about {
		padding: 55px 0 60px;
		background-image:
			url(../img/top/about_text_back_sp.png),
			url(../img/top/about_bingata_back.png),
			url(../img/top/about_mv_sp.png);
		background-size: auto, 135px, auto;
		background-position: right 116px, calc(100% - 36px) 299px, right 112px;
		background-repeat: no-repeat;
	}

	.about h3 {
		font-size: 1.5rem;
		margin-bottom: 165px;
		padding-right: 8px;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	.about {
		margin-bottom: 109px;
	}

	.about .container {}

	.about_bingata.about_bingata1 {
		top: 107px;
		right: 251px;
	}

	.about_bingata.about_bingata2 {
		top: 262px;
		right: 68px;
	}

	.about .about_text {
		width: 861px;
		margin-top: 41px;
	}
}

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

 * 採用情報

---------------------------------------------- */
.recruitment {
	color: #fff;
	background-image: url(../img/top/recruit_bingata1.svg),
		url(../img/top/recruit_bingata2.svg),
		url(../img/top/recruit_mv.jpg);
	background-repeat: no-repeat;
	background-position: left top, right bottom;
}

.recruitment hgroup {
	line-height: 1;
}

.recruitment hgroup p {
	margin-left: 2rem
}

.recruitment .recruitment_contents {
	padding-bottom: 42px;
}

.recruitment .recruitment_link {
	gap: 78px;
}

.recruitment_link a {
	gap: 20px;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.recruitment {
		background-image:
			url(../img/top/recruit_mv_sp.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		padding: 34px 0 105px;
	}

	.recruitment h2 {
		margin-bottom: 0.5rem;
	}

	.recruitment hgroup {
		margin-bottom: 31px;
	}

	.recruitment .recruitment_contents,
	.recruitment .recruitment_link {
		flex-direction: column;
		align-items: flex-start;
	}

	.recruitment .recruitment_contents {
		margin-left: 1.5rem;
		gap: 65px;
	}

	.recruitment .recruitment_link {
		gap: 16px;
		width: 100%;
	}

	.recruitment_link a:not(:last-of-type) {
		padding-bottom: 16px;
		border-bottom: solid 1px;
		width: 100%;
	}

	.recruitment_link a {
		font-size: 18px;
	}

}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	.recruitment {
		margin-bottom: 160px;
	}

	.recruitment hgroup {
		padding-top: 560px;
		margin-bottom: 56px;
	}
}