@charset "UTF-8";
/*------------------------
mv
------------------------*/
.mv {
	height: calc(100vh - 97px);
	min-height: 800px;
	background: #0c391f;
	overflow: hidden;
}
.mv .cont {
	width: 60rem;
	height: 100%;
	padding: 3.333vw .5vw 2.604vw 2.083vw;
}
@media screen and (min-width:2600px) {
	.mv .cont {
		padding: 2vw .5vw 2.604vw 1vw;
	}
}
.mv .cont .copy .desc {
	font-size: 2.4rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: 2rem;
}
.mv .cont .copy h1 {
	font-size: 5.8rem;
	font-weight: 500;
	color: #e9dabe;
	line-height: 1.24;
	letter-spacing: 1.2rem;
	margin-bottom: 2rem;
}
.mv .cont .copy p {
	width: 92%;
	font-size: max(1.9rem,18px);
	color: #fff;
	text-align: justify;
	letter-spacing: .08em;
	line-height: 1.63;
}
.mv .cont .copy .ashi {
	width: 92%;
	opacity: .08;
	position: relative;
	z-index: 1;
	margin-top: -3rem;
}
.mv .cont .img {
	margin-top: -3.6rem;
	width: 92%;
	height: 40%;
}
.mv .cont .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv .img-area {
	flex: 1;
	height: calc(100% - 10px);
}
.mv .img-area .main-img {
	width: 85%;
	height: 100%;
	margin-right: 10px;
}
.mv .img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv .img-area .sub-img {
	flex: 1;
	height: 100%;
}
.mv .img-area .sub-img .img:not(:last-of-type) {
	margin-bottom: 10px;
}
.mv .img-area .sub-img .img:first-of-type {
	height: 24%;
}
.mv .img-area .sub-img .img:nth-child(2) {
	height: 40%;
}
.mv .img-area .sub-img .img:last-of-type {
	height: calc(36% - 20px);
}
/*------------------------
about
------------------------*/
.about {
	padding: 50px 0 100px;
	position: relative;
	overflow: hidden;
}
.about::before {
	content: '';
	display: block;
	position: absolute;
	bottom: -5vw;
	right: -5vw;
	width: 30vw;
	height: 30vw;
	border-radius: 50vw;
	background: #e5f0e9;
	-ms-filter: blur(2vw);
	filter: blur(2vw);
	z-index: -1;
}
.about .inner {
	width: 1200px;
	margin: auto;
}
.about .inner .ttl-area {
	text-align: center;
	margin-bottom: 40px;
}
.about .inner .ttl-area .logo {
	display: block;
	width: 320px;
	margin: 0 auto;
}
section h2 {
	font-size: 32px;
	font-weight: 500;
	color: var(--btncolor);
	text-align: center;
	letter-spacing: .075em;
	line-height: 1;
}
.about .inner .ttl-area h2 {
	line-height: 1.43;
}
.about .inner .top-cont {
	margin-bottom: 40px;	
}
.about .inner .top-cont .txt {
	width: 580px;
	margin-right: 50px;
}
.about .inner .top-cont .txt p {
	font-size: 22px;
	font-weight: 500;
	text-align: justify;
	margin-bottom: 20px;
}
.about .inner .top-cont .txt .bnr a {
	display: block;
	width: 100%;
	height: 180px;
	background: url(../img/index/bg_youtube.jpg) no-repeat 100%/cover;
	position: relative;
}
.about .inner .top-cont .txt .bnr a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 72px;
	height: 56px;
	background: url(../img/index/icn_youtube.svg) no-repeat 100%/contain;
}
.about .inner .top-cont .txt .bnr a h3 {
	position: absolute;
	bottom: 10px;
	right: 0;
	font-size: 36px;
	color: #fff;
	line-height: 1;
	transition: all .3s ease 0s;
}
.about .inner .top-cont .txt .bnr a:hover h3 {
	color: var(--accentcolor);
}
.about .inner .top-cont .txt .bnr .ashi {
	width: 415px;
	opacity: .12;	
	transform: rotate(-4deg);
}
.about .inner .top-cont .slick {
	width: 570px;
	height: 394px;
}
.slick .slick-list {
	width: 100%;
	height: 100%;
}
.slick-arrow {
	background: var(--btncolor);
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
 }
.about .inner .top-cont .slick-arrow {
	width: 30px;
	height: 66px;
}
.about .inner .top-cont .slick-prev {
	left: -15px;
}
.about .inner .top-cont .slick-next {
	right: -15px;
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	background: var(--btncolor);
}
.slick-prev::before ,
.slick-next::before {
	content: '';
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	opacity: 1;
}
.slick-prev::before {
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	right: 38%;
}
.slick-next::before {
	width: 4px;
	height: 4px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: 38%;
}
.about .inner .director {
	background: #fff;
	padding: 40px;
	box-shadow: 1px 1px 20px rgba(4,0,0,.1);
}
.about .inner .director .txt {
	flex: 1;
}
.about .inner .director .txt h3 {
	display: flex;
	align-items: center;
	font-size: 28px;
	font-weight: 500;
	color: var(--btncolor);
	line-height: 1.38;
	margin-bottom: 10px;
}
.about .inner .director .txt h3 span {
	display: block;
	font-size: 22px;
	margin-right: 15px;
}
.about .inner .director .txt p {
	font-size: 21px;
	text-align: justify;
}
.about .inner .director .img {
	width: 382px;
	height: 400px;
	margin-left: 40px;
}
.about .inner .director .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width:1240px) {
	:is(.about,.byfloor,.main-cont,.medical,.outline) .inner {
		padding: 0 20px;
	}
}
/*------------------------
フロア別の適切な介護
------------------------*/
.byfloor {
	background: url(../img/index/bg_grade.jpg) no-repeat 100%/cover fixed;
	padding: 100px 0;
}
.byfloor .inner {
	width: 1200px;
	margin: auto;
	color: #fff;
}
.byfloor .inner .ttl-wrap {
	text-align: center;
	margin-bottom: 40px;
}
.byfloor .inner .ttl-wrap h2 {
	margin-bottom: 20px;
	color: #fff;
}
.byfloor .inner .ttl-wrap p {
	font-size: 21px;
}
.byfloor .inner .item-list {
	gap: 0 32px;
}
.byfloor .inner .item-list .item {
	width: 100%;
}
.byfloor .inner .item-list a {
	display: block;
	color: #fff;
}
.byfloor .inner .item-list .item .img {
	overflow: hidden;
	margin-bottom: 20px;
}
.byfloor .inner .item-list .item .img img {
	width: 100%;
	height: 188px;
	object-fit: cover;
	transition: all .3s ease 0s;
}
.byfloor .inner .item-list .item:hover .img img {
	transform: scale(1.05,1.05);
}
.byfloor .inner .item-list .item h3 {
	display: flex;
	align-items: center;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 10px;
}
.byfloor .inner .item-list .item h3 span {
	padding: 6px 8px 4px;
	background: var(--visitcolor);
	font-size: 17px;
	margin-right: 5px;
}
.byfloor .inner .item-list .item p {
	min-height: 188px;
	font-size: 17px;
	text-align: justify;
}
/*ボタンスタイル*/
.btn {
	display: block;
	background: rgba(255,255,255,.12);
	border: 1px solid #fff;
	padding: 15px 10px;
	color: #fff;
	line-height: 1;
	letter-spacing: 0;
	position: relative;
	transition: all .3s ease 0s;
}
.byfloor .inner .item-list .item:hover .btn {
	background: var(--accentcolor);
	border: 1px solid var(--accentcolor);
	color: var(--txtcolor);
}
.btn::before {
	content: '';
	width: 6px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
}
.byfloor .inner .item-list .item:hover .btn::before {
	background: var(--txtcolor);
}
.btn::after {
	content: '';
	width: 4px;
	height: 4px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	transition: all .3s ease 0s;
}
.byfloor .inner .item-list .item:hover .btn::after {
	border-bottom: 1px solid var(--txtcolor);
	border-right: 1px solid var(--txtcolor);
}
@media screen and (max-width:1240px) {
	.byfloor .inner .item-list {
		gap: 0 24px;
	}
	.byfloor .inner .item-list .item h3 {
		letter-spacing: .006em;
	}
}
/*------------------------
人員体制
------------------------*/
.organization {
	padding-top: 100px;
}
.fulfillinglife {
	padding: 40px 0 100px;
}
section h2 {
	margin-bottom: 50px;
}
.main-cont .block {
	position: relative;
	padding: 60px 0;
	margin-bottom: 40px;
}
.main-cont .block:nth-of-type(odd)::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	z-index: -1;
	transition: .6s;
}
.main-cont .block:nth-of-type(even)::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	z-index: -1;
	transition: .6s;
}
.main-cont .block.fade::before {
	width: 68.4%;
}
.organization .block::before {
	background: var(--mygray);
}
.main-cont .block:nth-of-type(odd)::after {
	content: '';
	display: block;
	position: absolute;
	top: 60px;
	right: 0;
	width: 47.2%;
	height: 25.625vw;
	min-height: 492px;
	background-position: center;
}
.main-cont .block:nth-of-type(even)::after {
	content: '';
	display: block;
	position: absolute;
	top: 60px;
	left: 0;
	width: 47.2%;
	height: 25.625vw;
	min-height: 492px;
	background-position: center;
}
.organization .eldercare::after {
	background: url(../img/index/img_carer.jpg) no-repeat 100%/cover;
}
.organization .nursing::after {
	background: url(../img/index/img_nursing.jpg) no-repeat 100%/cover;
}
.organization .rehabilitation::after {
	background: url(../img/index/img_rehabilitation.jpg) no-repeat 100%/cover;
}
.fulfillinglife .event::after {
	background: url(../img/index/img_life.jpg) no-repeat 100%/cover;
}
.fulfillinglife .meal::after {
	background: url(../img/index/img_meal.jpg) no-repeat 100%/cover;
}
.main-cont .block .inner {
	width: 1200px;
	margin: auto;
}
.main-cont .block .inner .ttl-area {
	width: 604px;
	min-height: 492px;
	margin-bottom: 40px;
}
.main-cont .block:nth-of-type(even) .inner .ttl-area {
	margin-left: auto;
}
.main-cont .block .inner .ttl-area .en {
	display: block;
	font-size: 22px;
	font-weight: 500;
	color: var(--accentcolor);
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: 8px;
}
.main-cont .block .inner .ttl-area h3 {
	font-size: 32px;
	font-weight: 500;
	color: var(--btncolor);
	line-height: 1;
	letter-spacing: .075em;
	margin-bottom: 10px;
}
.main-cont .block .inner .ttl-area .txt {
	font-size: 22px;
	text-align: justify;
	margin-bottom: 20px;
}
.main-cont .block .inner .ttl-area .txt .caution {
	display: block;
	font-size: 78%;
	margin-top: 15px;
}
.main-cont .block .inner .sup {
	background: #fff;
	padding: 20px;
}
.main-cont .block .inner .sup h4 {
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	color: var(--btncolor);
	line-height: 1;
	margin-bottom: 10px;
}
.main-cont .block .inner .sup h4:not(:first-of-type) {
	margin-top: 10px;
}
.main-cont .block .inner .sup h4 span {
	width: 8px;
	height: 8px;
	background: var(--btncolor);
	display: inline-block;
	position: relative;
	margin-right: 10px;
}
.main-cont .block .inner .sup h4 span::before {
	content: '';
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: 100%;
	height: 1px;
	background: var(--btncolor);
}
.main-cont .block .inner .sup h4 span::after {
	content: '';
	position: absolute;
	top: 2px;
	right: -2px;
	width: 1px;
	height: 100%;
	background: var(--btncolor);
}
.main-cont .block .inner .item-list {
	gap: 0 30px;
}
.main-cont .block .inner .item {
	background: #fff;
	padding: 40px;
	box-shadow: 1px 1px 20px rgba(4, 0, 0, .1);
}
.main-cont .block .inner .item-list .item {
	padding: 30px;
}
.main-cont .block .inner .item:not(:last-of-type) {
	margin-bottom: 20px;
}
.main-cont .block .inner .item .txt {
	flex: 1;
}
.main-cont .block .inner .item .txt h4 {
	font-size: 28px;
	font-weight: 500;
	color: var(--btncolor);
	line-height: 1;
	margin-bottom: 15px;
}
.main-cont .block .inner .item .txt p {
	font-size: 21px;
	text-align: justify;
}
.main-cont .block .inner .item-list .item .txt p {
	font-size: 18px;
}
.main-cont .block .inner .item .img {
	width: 382px;
	height: 266px;
	margin-left: 40px;
}
.main-cont .block .inner .item .slick {
	width: 382px;
	margin-left: 40px;
}
.main-cont .block .inner .item .slick .img-item {
	width: 100%;
	height: 266px;
	margin-bottom: 10px;
}
.main-cont .block .inner .item .slick .cap {
	display: block;
	font-size: 16px;
	text-align: center;
	line-height: 1;
}
.main-cont .block .inner .item .slick-arrow {
	width: 22px;
	height: 60px;
}
.main-cont .block .inner .item .slick-prev {
	left: -11px;
}
.main-cont .block .inner .item .slick-next {
	right: -11px;
}
.main-cont .block .inner .item-list .item .img {
	width: 208px;
	height: 166px;
	margin-left: 20px;
}
.main-cont .block .inner .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width:1240px) {
	.main-cont .block .inner .ttl-area {
		width: 584px;
	}
}
/*------------------------
生活
------------------------*/
.fulfillinglife .block::before {
	background: var(--bgcolor);
}
.main-cont.fulfillinglife .meal .inner .item ,
.fulfillinglife .block .shape {
	margin-bottom: 40px;
}
.fulfillinglife .block .shape h4 {
	font-size: 24px;
	font-weight: 500;
	color: var(--btncolor );
	line-height: 1.4;
	margin-bottom: 15px;
}
.fulfillinglife .block .shape .img-area {
	gap: 0 32px;
}
.fulfillinglife .block .shape .img-area .main-img {
	width: 416px;
}
.fulfillinglife .block .shape .img-area .main-img figure img {
	height: 284px;
}
.fulfillinglife .block .shape .img-area figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fulfillinglife .block .shape .img-area figcaption {
	background: var(--btncolor);
	padding: 8px;
	font-size: 18px;
	color: #fff;
	text-align: center;
	line-height: 1;
}
.fulfillinglife .block .shape .img-area .sub-img {
	flex: 1;
	gap: 0 20px;
}
.fulfillinglife .block .shape .img-area .sub-img figure {
	width: 100%;
	height: 130px;
}
.fulfillinglife .block .special-menu .txt {
	flex: 1;
	font-size: 22px;
	text-align: justify;
}
.fulfillinglife .block .special-menu .slick {
	width: 568px;
	margin-left: 40px;
}
.fulfillinglife .block .special-menu .slick-arrow {
	width: 30px;
	height: 66px;
}
.fulfillinglife .block .special-menu .slick-prev {
	left: -15px;
}
.fulfillinglife .block .special-menu .slick-next {
	right: -15px;
}
.fulfillinglife .block .special-menu .slick .slick-item .img-item {
	width: 100%;
	margin-bottom: 15px;
}
.fulfillinglife .block .special-menu .slick .slick-item img {
	height: 394px;
	object-fit: cover;
}
.fulfillinglife .block .special-menu .slick .cap {
	display: block;
	font-size: 20px;
	line-height: 1;
	text-align: center;
}
/*------------------------
費用
------------------------*/
.cost {
	background: var(--mygray) url(../img/common/bg_pat.jpg);
	padding: 100px 0;
}
.cost .inner {
	width: 900px;
	margin: auto;
}
.cost .inner table {
	margin-bottom: 15px;
}
.cost .inner table tr {
	border-bottom: 1px solid var(--mygray);
}
.cost .inner table .head th:not(:first-of-type) {
	border-left: 1px solid var(--mygray);
	text-align: center;
}
.cost .inner table tr th {
	background: var(--bgcolor);
	padding: 20px;
	font-weight: bold;
	line-height: 1;
}
.cost .inner table tr:not(.head) th {
	width: 156px;
}
.cost .inner table tr td {
	background: #fff;
	padding: 20px;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}
.cost .inner table tr td:last-of-type {
	border-left: 1px solid var(--mygray);
}
.cost .inner table tr td span {
	display: block;
	font-size: 16px;
	font-weight: 400;
}
.cost .inner .caution {
	display: block;
	line-height: 1.3;
	margin-bottom: 8px;
}
/*------------------------
医療体制
------------------------*/
.medical {
	background: url(../img/index/bg_medical.jpg) no-repeat 100% / cover fixed;
	padding: 100px 0;
}
.medical .inner {
	width: 1200px;
	margin: auto;
}
.medical .inner h2 {
	color: #fff;
}
.medical .inner .block .txt-area {
	flex: 1;
	color: #fff;
}
.medical .inner .block .txt-area h3 {
	font-size: 32px;
	font-weight: 500;
	margin-bottom: 20px;
}
.medical .inner .block .txt-area .txt {
	font-size: 21px;
	text-align: justify;
	line-height: 1.57;
	margin-bottom: 20px;
}
.medical .inner .block .txt-area .sup {
	padding: 20px;
	background: rgba(255,255,255,.12);
}
.medical .inner .block .txt-area .sup ul li {
	display: flex;
	font-size: 19px;
	line-height: 1.2;
}
.medical .inner .block .txt-area .sup ul li:not(:last-of-type) {
	margin-bottom: 10px;
}
.medical .inner .block .txt-area .sup ul li span:not(.icn) {
	flex: 1;
}
.medical .inner .block .txt-area .sup ul li .icn {
	width: 8px;
	height: 8px;
	background: #fff;
	display: inline-block;
	position: relative;
	margin: 5px 10px 0 0;
}
.medical .inner .block .txt-area .sup ul li .icn::before {
	content: '';
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: 100%;
	height: 1px;
	background: #fff;
}
.medical .inner .block .txt-area .sup ul li .icn::after {
	content: '';
	position: absolute;
	top: 2px;
	right: -2px;
	width: 1px;
	height: 100%;
	background: #fff;
}
.medical .inner .block .img {
	width: 568px;
	height: 394px;
	margin-left: 40px;
}
.medical .inner .block .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*------------------------
受入体制
------------------------*/
.structure {
	padding: 100px 0;
}
.structure .inner {
	width: 800px;
	margin: auto;
}
.structure .inner .tab_area {
	border-bottom: 3px solid var(--accentcolor);
}
.structure .inner .tab_area .one_tab {
	width: 100%;
}
.structure .inner .tab_area .one_tab:not(:last-of-type) {
	margin-right: 10px;
}
.structure .inner .tab_area .one_tab a {
	display: block;
	background: var(--bgcolor);
	padding: 15px 0 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.structure .inner .tab_area .one_tab a.select {
	background: var(--accentcolor);
}
.structure .inner .contents .tab_main {
	display: none;
}
.structure .inner .contents .tab_main.is_show {
	display: block;
}
.structure .inner .contents .tab_main table {
	border: 1px solid var(--mygray);
	margin-bottom: 15px;
}
.structure .inner .contents .tab_main table .head th {
	background: var(--btncolor);
	padding: 15px;
	font-size: 16px;
	color: #fff;
	line-height: 1;
}
.structure .inner .contents .tab_main table tr:not(.head) {
	border-bottom: 1px solid var(--mygray);
}
.structure .inner .contents .tab_main table tr:not(.head) th {
	width: 670px;
	padding: 20px;
	font-size: 18px;
	line-height: 1;
}
.structure .inner .contents .tab_main table td {
	border-left: 1px solid var(--mygray);
	text-align: center;
	font-size: 21px;
	font-weight: bold;
	color: var(--btncolor);
	line-height: 1;
}
.structure .inner .contents .tab_main table td span {
	font-size: 16px;
}
.structure .inner .contents .tab_main table td span sap {
	font-size: 10px;
	vertical-align: 6px;
}
.structure .inner .caution {
	display: block;
	font-size: 16px;
	line-height: 1.4;
}
/*------------------------
施設概要
------------------------*/
.outline {
	background: url(../img/index/bg_outline.jpg) no-repeat 100% / cover fixed;
	padding: 100px 0;
	margin-bottom: 60px;
}
.outline .inner {
	width: 1200px;
	margin: auto;
} 
.outline .inner h2 {
	color: #fff;
}
.outline .inner .block table {
	flex: 1;
	font-size: 21px;
}
.outline .inner .block table th {
	width: 85px;
	font-weight: bold;
	color: var(--bgcolor);
	line-height: 1.3;
	padding: 10px 0;
	vertical-align: top;
}
.outline .inner .block table td {
	padding: 10px 0;
	color: #fff;
	line-height: 1.35;
}
.outline .inner .block table td span {
	display: block;
}
.outline .inner .block table td span:not(.caution) {
	margin-bottom: 10px;
}
.outline .inner .block table td .caution {
	font-size: 15px;
}
.outline .inner .block table td a {
	color: #fff;
	text-decoration: underline;
}
.outline .inner .block table td a:hover {
	opacity: .6;
}
.outline .inner .block .img {
	width: 568px;
	height: 394px;
	margin-left: 40px;
}
.outline .inner .block .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
