/* モバイル */
@media not screen and (min-width: 1280px) {
	main .contents {
		padding-bottom: 204px;
	}
}

@media not screen and (min-width: 500px) {
	main .contents {
		padding-bottom: 6rem;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	main .contents {
		padding-bottom: 204px;
	}
}

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

 * リハばる（デイサービス）

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


/* サービスご利用にあたって */
.about-day-care .service {
	margin-bottom: 103px;
	gap: 1rem;
}

.about-day-care .service div p {
	text-align: center;
	color: #fff;
	width: 100%;
	background-color: var(--accent_color_blue);
	padding-block: 1.5rem;
}

.timetable {
	display: flex;
	position: relative;
}

.timetable .time-list {
	padding: 34px clamp(16px, 4vw, 64px);
	background-image: url(../img/service/timetable_back.webp);
	background-color: #FF8B26;
	background-position: top;
	border-radius: 32px 0 0 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.timetable .time {
	cursor: pointer;
	text-align: center;
	padding: 7px 14px;
	background: #fff;
	border-radius: 16px;
	width: 160px;
}

.timetable .time.active {
	border: solid #81C1E4 2px;
}

.timetable .line {
	width: 4px;
	height: 14px;
	background: #fff;
}

.timetable .content {
	flex: 1;
	position: relative;
	padding: 52px clamp(16px, 4vw, 52px);
	background: #fff;
	border-radius: 0 32px 32px 0;
}

.timetable .slide {
	display: none;
}

.timetable .slide.active {
	display: block;
}

.timetable .slide .mod_grid {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: max-content 1fr;
	row-gap: 32px;
	column-gap: 49px;
}

.timetable .slide .mod_grid p {
	grid-column-start: 1;
	grid-row-start: 2
}

.timetable .slide .mod_grid img {
	grid-row: span 2 / span 2;
	grid-column-start: 2;
	grid-row-start: 1;
}

.timetable .arrows {
	position: absolute;
	bottom: 60px;
	right: 20px;
	width: 136px;
	height: 64px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	font-size: 24px;
	border-radius: 32px 0 0 0;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.about-day-care {
		margin-bottom: 60px;
	}

	.about-day-care h2 {
		margin-bottom: 46px;
	}

	.slide .mod_grid {
		display: block;
	}

	.timetable .arrows {
		bottom: 0;
		right: 0;
	}
}

@media not screen and (min-width: 500px) {
	.about-day-care h2 {
		font-size: 1.5rem;
	}

	.about-day-care .service {
		display: block;
	}

	.about-day-care .service div:first-of-type {
		margin-bottom: 2rem;
	}

	.about-day-care .service div p {
		font-size: 14px;
	}

	.timetable .time-list,
	.timetable .content {
		padding: 1rem;
	}

	.timetable {
		flex-direction: column;
	}

	.timetable .time-list {
		flex-direction: row;
		border-radius: 16px 16px 0 0;
		overflow-y: scroll;
		height: 100px;
		gap: .5rem;
		align-items: center;
	}

	.timetable .content {
		border-radius: 0 0 16px 16px;
	}

	.slide .mod_grid h3,
	.slide .mod_grid p {
		margin-bottom: 1rem;
	}

	.timetable .time {
		width: 120px;
	}

	.timetable .line {
		width: 14px;
		height: 4px;
		display: block;
		flex-shrink: 0;
	}
}

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

	.about-day-care h2 {
		margin-bottom: 91px;
	}

	.needs {
		margin-bottom: 63px;
	}

	.about-day-care .service div p {
		font-size: 20px;
	}
}

/* リハばるの特徴 */
.feature .lead.frame {
	border: solid 1px #D9D9D9;
	padding: 60px 53px;
}

.feature .lead span {
	color: #EB685C;
}

.feature-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 3.5rem;
}

.feature-title:before,
.feature-title:after {
	content: '';
	flex-grow: 1;
	height: 41px;
	background-image: url(../img/service/care_line.svg);
}

.feature-contents .mod_fx {
	gap: 42px;
}

.feature-detail {
	width: calc(100% / 2 - 42px);
}

.feature-detail img {
	margin-bottom: 32px;
}

.feature-detail h3 {
	margin-bottom: 1.5rem;
}

.rehataiment {
	gap: 24px;
}

.rehataiment div {
	padding: 27px;
	background: #fff;
	width: 50%;
}

.rehataiment div img {
	width: 100%;
	margin-bottom: 38px;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.feature {
		margin-bottom: 96px;
	}

	.feature .lead.frame {
		margin-bottom: 58px;
	}

	.needs {
		margin-bottom: 3rem;
	}

	.needs .lead {
		margin-bottom: 1rem;
	}
}

@media not screen and (min-width: 500px) {
	.feature .lead.frame {
		padding: 1rem;
	}

	.feature-detail {
		width: 100%;
	}

	.feature-contents .mod_fx {
		margin-bottom: 3rem;
	}

	.rehataiment {
		display: block;
	}

	.rehataiment div {
		width: 100%;
		font-size: 1rem;
		padding: 16px;
	}

	.rehataiment div:first-of-type {
		margin-bottom: 2rem;
	}
}

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

	.feature h2 {
		margin-bottom: 72px;
	}

	.feature .lead.frame {
		margin-bottom: 130px;
	}

	.feature-contents {
		margin-bottom: 142px;
	}
}

/* 施設概要 */
main .profile h2 {
	justify-content: center;
}

main .profile h4 {
	display: flex;
	align-items: center;
	gap: 31px;
}

main .profile h4:after {
	content: '';
	flex-grow: 1;
	height: 1px;
	background-color: #E3E3E3;
}

main .profile .container {
	background: #fff;
	padding: 38px;
}

.address {
	grid-area: address;
}

.name {
	grid-area: name;
}

.tel {
	grid-area: tel;
}

.open {
	grid-area: open;
}

.address,
.tel,
.open {
	margin-bottom: 37px;
}

.map {
	grid-area: map;
}

.map iframe {
	width: 100%;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	main .profile {
		margin-bottom: 160px;
	}

	main .profile h4 {
		margin-bottom: 18px;
	}

	main .profile .mod_grid {
		margin-inline: auto;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: max-content max-content max-content 1fr;
		gap: 37px;
		grid-auto-flow: row;
		grid-template-areas:
			"name name"
			"address tel"
			"open capacity"
			"map map";
	}

	main .profile .mod_grid:not(:last-of-type) {
		margin-bottom: 74px;
	}

}

@media not screen and (min-width: 500px) {
	main .profile .container {
		width: 100%;
	}

	main .profile .mod_grid {
		grid-template-columns: 1fr;
		grid-template-rows: max-content;
		grid-template-areas: "name"
			"address"
			"tel"
			"open"
			"capacity"
			"map";
		width: 100%;
		gap: 37px;
	}

	.address,
	.tel,
	.open {
		margin-bottom: 0;
	}

	.map iframe {
		height: 200px;
	}
}

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

	main .profile h2 {
		margin-bottom: 60px;
	}

	main .profile h4 {
		font-size: 24px;
		margin-bottom: 43px;
	}

	main .profile p {
		font-size: 20px;
	}

	main .profile .mod_fx:not(:last-of-type) {
		margin-bottom: 6rem;
	}

	main .profile .mod_grid {
		width: 800px;
		margin-inline: auto;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: max-content max-content max-content 1fr;
		gap: 37px;
		grid-auto-flow: row;
		grid-template-areas:
			"name name"
			"address tel"
			"open ."
			"map map";
	}

	main .profile .mod_grid:not(:last-of-type) {
		margin-bottom: 74px;
	}
}

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

 * リハばるホームアシスト

---------------------------------------------- */
/* リハばるホームアシスト（訪問介護）について */
.about-home-assist h2 {
	margin-bottom: 62px;
}

.about-home-assist .detail {
	background: #fff;
}

.about-home-assist .detail h3 {
	padding-bottom: 22px;
	border-bottom: solid 1px #E6E6E6;
	margin-bottom: 22px;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.about-home-assist .lead {
		margin-bottom: 40px;
	}

	.about-home-assist,
	.about-home-assist .lead+p:not(.lead) {
		margin-bottom: 96px;
	}

	.about-home-assist .mod_fx {
		gap: 2rem;
		margin-top: 49px;
	}

	.about-home-assist .detail {
		width: calc(100% / 2 - 2rem);
		padding: 2rem 1.5rem;
	}
}

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

	.about-home-assist h2 {
		font-size: 20px;
	}

	.about-home-assist .mod_fx {
		flex-direction: column;
	}

	.about-home-assist .detail {
		width: 100%;
	}
}

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

	.about-home-assist,
	.about-home-assist .lead+p:not(.lead) {
		margin-bottom: 165px;
	}

	.about-home-assist .mod_fx {
		gap: 42px;
		margin-top: 49px;
	}

	.about-home-assist .detail {
		width: calc(100% /2 - 42px);
		padding: 50px 27px;
	}
}


/* 生活援助 */
.assistance .detail {
	background: #fff;
}

.assistance .detail h3 {
	padding-bottom: 22px;
	border-bottom: solid 1px #E6E6E6;
	margin-bottom: 22px;
}

.assistance .mod_fx+p {
	margin-top: 1.5rem;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	.assistance {
		margin-bottom: 91px;
	}

	.assistance h2 {
		margin-bottom: 46px;
	}

	.assistance .lead {
		margin-bottom: 40px;
	}

	.assistance .mod_fx {
		gap: 2rem;
		margin-top: 49px;
	}

	.assistance .detail {
		width: calc(100% / 2 - 2rem);
		padding: 2rem 1.5rem;
	}
}

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

	.assistance .mod_fx {
		flex-direction: column;
	}

	.assistance .detail {
		width: 100%;
	}
}

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

	.assistance h2,
	.assistance h2+p {
		margin-bottom: 91px;
	}

	.assistance .mod_fx {
		gap: 42px;
		margin-top: 49px;
	}

	.assistance .detail {
		width: calc(100% /2 - 42px);
		padding: 50px 27px;
	}
}


/* リハばるの特徴 */
.disuse-syndrome {
	padding: 8px;
	border-radius: 4px;
	background: var(--accent_color_blue);
	color: #fff;
}

.disuse-syndrome .line {
	border: solid 1px;
	border-radius: 4px;
	background-image: url(../img/service/disuse-syndrome_back.svg);
	background-position: calc(100% - 16px) calc(100% - 16px);
	background-size: 180px;
	background-repeat: no-repeat;
}


.disuse-syndrome h3 {
	margin-bottom: 3rem;
	color: #fff;
}

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

/* モバイル */
@media not screen and (min-width: 1280px) {
	.disuse-syndrome .line {
		padding: 36px 64px;
	}

	.home-assist .feature-contents {
		margin-bottom: 58px;
	}
}

@media not screen and (min-width: 500px) {
	.disuse-syndrome .line {
		padding: 36px 24px;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	.disuse-syndrome .line {
		padding: 75px 100px;
	}
}