@charset "UTF-8";

:root{
	--lightred: #fde6e6;
	--red: #f05a5a;
	--lightyellow: #fef3d9;
	--yellow: #f9ac00;
	--lightgreen: #f2f8ee;
	--green: #7ebe53;
	--lightorange: #fbd0ad;
	--lightnessorange: #f9f5f0;
	--orange: #f08737;
	--lightblue: #e7ecf4;
	--blue: #0370b9;
	--lightnavy: #dce2ef;
	--navy: #144196;
  --gray: #797a7a;
  --lightgray: #a2a1a0;
	--black: #454341;
	--white: #ffffff;
	--sans: "Noto Sans JP", sans-serif;
}
.swiper-wrapper {
  transition-timing-function: linear !important;
  width: 100%;
}
#home h2{
  font-size: 1em;
  line-height: 1.1;
  text-align: center;
}
#home h2 .jp{
  display: block;
  font-size: 2.1875em;
  font-weight: 800;
  margin-bottom: 8px;
  letter-spacing: 0.1em;
}
#home h2 .en{
  display: block;
  font-size: 1.25em;
  color: var(--orange);
  font-weight: 400;
}
@media screen and (max-width:680px) {
  #home h2 .jp{
    font-size: 1.75em;
  }
}

/* メインビジュアル---------------- */
#main_visual{
  padding: 0 0 0px;
  position: relative;
}
#main_visual img{
  max-width:100%;
  height: auto;
}
#main_visual .main_visual-text{
	display: block;
	width: 30.5%;
	position: absolute;
	left:8.8%;
	top:9.7%;
	z-index: 2;
}
#main_visual .pagination{
    margin: auto;
    width: fit-content;
}
#main_visual .pagination .swiper-pagination-bullet{
  margin: 20px 20px;
  width: 12px;
  height: 12px;
  background: #e4e4e5;
  opacity: 1;
  line-height: 1;
}
#main_visual .pagination .swiper-pagination-bullet-active{
  background: #f08737;
}
@media screen and (max-width:680px) {

	#main_visual .main_visual-text{
		display: block;
		width: 63.4%;
		position: absolute;
		left:20px;
		top:3.7%;
		z-index: 2;
	}
}

/* 倉敷老健について---------------- */
#news{
	margin: 55px auto 100px;
}
#news .news-wrap{
  display: flex;
  gap: 0 11.6%;
}
#news .news-wrap .text{
  width: 265px;
}
#news h2{
  text-align: left;
  margin-bottom: 20px;
}
#news-index{
  flex: 1;
}
@media screen and (max-width:880px) {

	#news{
		margin: 15px auto 55px;
	}
	#news .news-wrap{
	  flex-direction: column;
	}
	#news .news-wrap .text{
	  width: 100%;
	}
	#news h2{
	  text-align: center;
	}
	#news .news-wrap .text .button{
	  display: none;
	}
	#news #news-index .button{
	  display: block;
	  margin-top: 30px;
	}
}
/* 倉敷老健について---------------- */
#about{
	margin: 100px auto 85px;
}
#about .about-wrap{
  display: flex;
  gap: 0 3.5%;
}
#about .about-wrap .text{
  flex: 1;
}
#about h2{
  text-align: left;
  margin-bottom: 65px;
}
#about h3{
  text-align: left;
  font-size: 1.875em;
  line-height: 1.66;
  margin-bottom: 35px;
}
#about p{
  text-align: left;
  font-size: 1em;
  line-height: 2;
  margin-bottom: 35px;
}
#about .button a{
  margin-left: 0;
}
#about h3 .orange{
  color: var(--orange);
}

#about .about-wrap .photo{
  flex: 1;
}
#about .about-wrap .photo .image{
  border-radius: 20px;
  overflow: hidden;
}
#about .about-wrap .photo-01{
  width: 65.2%;
  margin-left: auto;
}
#about .about-wrap .photo-02{
  width: 52.8%;
  margin-right: auto;
  transform: translate(5%,-8.6%);
}
@media screen and (max-width:880px) {

	#about{
		margin: 50px auto 50px;
	}
	#about .about-wrap{
	  flex-direction: column;
	  width: 100%;
	  margin: auto;
	}
	#about .about-wrap .text{
	  order: 2;
	}
	#about h2{
	  margin-bottom: 20px;
	}
	#about h3{
	  margin-bottom: 15px;
	}
	#about p{
	  margin-bottom: 15px;
	}
	#about .button a{
	  margin: 0 auto;
	}
	#about .about-wrap .photo{
	  width: calc(80% + 60px);
	  margin-left: calc(10% - 40px);
	  display: none;
	  
	}
	#about .about-wrap .photo-01{
	  width: calc(70% - 40px);
	  margin-left: auto;
	}
	#about .about-wrap .photo-02{
	  width: 55%;
		transform: translateY(-15.5%);
	}
}

@media screen and (max-width:680px) {
	#about h3{
	  font-size: 1.25em;
	}
}
/* ご利用について---------------- */
#service{
	padding: 75px 0 90px;
	background: var(--lightnessorange);
}

#service h2{
	margin-bottom: 45px;
}

#service .life{
	margin:60px auto 0;
	width: 50%;
	min-width: 320px;
}
#service .life a{
	transition: 0.3s ease opacity;
}
#service .life a:hover{
	opacity: 0.5;
}

#service-nav .service-wrap{
	display: flex;
	flex-wrap :wrap;
	gap: 30px 4.4%;
}
#service-nav .service{
	width: 30.4%;
	border-radius: 20px;
	overflow: hidden;
	background: var(--white);
	color: var(--black);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
}
#service .service a{
	transition: 0.3s ease opacity;
	text-decoration: none;
	color: var(--black);
}
#service .service a:hover{
	opacity: 0.5;
}

#service-nav .image img{
	aspect-ratio: 3/2;
	object-fit: cover;
}
#service-nav .text{
	padding: 15px 35px 15px;
	position: relative;
}
#service-nav .text .title{
	font-size: 1.25em;
	line-height: 1.38;
	font-weight: 700;
	text-align:center;
}
#service-nav .text:after{
  content:"";
  display: block;
  width: 18px;
  height: 18px;
  background: url(../images/link-orange.png) no-repeat center / contain;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}


@media screen and (max-width: 880px) {

  #service{
  	padding: 30px 0 60px;
  	background: var(--lightnessorange);
  }
  #service .life{
    width:  100%;
    min-width: unset;
  }
}
@media screen and (max-width:680px) {
	#service-nav .service-wrap{
		flex-direction: column;
		padding: 0 20px;
	}
	#service-nav .service{
		width: 100%;
	}
}

/* ご利用について---------------- */
#use{
	margin: 90px auto 95px;
}
#use .youtube{
	margin:0 auto 70px;
	width: 84.5%;
	aspect-ratio: 846/480;
}
#use h2{
	margin-bottom: 30px;
}
#use .note{
  text-align: left;
  margin: 0 auto;
  display: block;
  width: fit-content;
  text-indent: -1em;
  padding-left: 1em;
}

#use-category{
	margin-bottom: 20px;
}
#use .category-wrap{
	display: flex;
	gap: 20px 4.4%; 
}
#use .category{
	width: 30.4%;
}
#use .category a{
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background-color: var(--white);
  border-radius: 10px;
  color: var(--black);
  font-size: 1.25em;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
  text-align: right;
  padding: 15px 20px 15px 20px;
  border: 2px solid var(--orange);
}
#use .category a .icon{
	width: 21%;
}

#use .category a span.text{
	position: relative;
}
#use .category a span.text::after{
  content:"";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../images/link-orange.png) no-repeat center / contain;
  transition: 0.3s ease transform;
  margin-left: 15px;
}
#use .category a:hover span.text::after{
  transform: scale(1.5);
}
@media screen and (max-width:880px) {
	#use{
	position: relative;
	margin: 45px auto 30px;
	}
	#use h2{
		margin-bottom: 20px;
	}
	#use .youtube{
	  width: 100%;
	  margin-bottom: 40px;
	}
	#use-category .category-wrap{
		flex-direction: column;
	}
	#use-category .category-wrap .category{
		flex-direction: column;
		width: 100%;
	}
}
@media screen and (max-width:680px) {
	#use-category .category-wrap{
		flex-direction: column;
	}
}
/* 空床情報---------------- */
#vacant_floor{
	padding: 50px 0 70px;
	background: var(--lightnessorange);
}
#vacant_floor h2{
	margin-bottom: 30px;
}
#vacant_floor p.lead{
	text-align: center;
	margin-bottom: 10px;
}
#vacant_floor p.date{
	text-align: right;
	margin-bottom: 10px;
	font-size: 0.9725em;
	color: var(--gray);
}
#vacant_floor .vacant-list{
	display: flex;
	gap: 30px 4.4%;
	margin-bottom: 30px;
}
#vacant_floor .vacant{
	flex: 1;
}
#vacant_floor .vacant table{
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 10px;
}
#vacant_floor .vacant table thead th{
	font-size: 1.06em;
	line-height: 1.47;
	text-align: center;
	height: 62px;
	vertical-align: middle;
}
#vacant_floor .vacant table thead th:nth-child(1){
	background:var(--navy) ;
	color: var(--white);
	border-radius: 10px 10px 0 0;
}
#vacant_floor .vacant table thead th:nth-child(2){
	color: var(--navy);
}
#vacant_floor .vacant table tbody{
	border-top: 2px solid var(--navy);
	border-bottom: 2px solid var(--navy);
}
#vacant_floor .vacant table tbody td{
	font-size: 1em;
	line-height: 1.47;
	text-align: center;
	padding: 8px;
	vertical-align: middle;
	background: var(--white);
}
#vacant_floor .vacant table tbody tr:nth-child(odd) td{
	background: var(--lightblue);
}
#vacant_floor .vacant .floor{
	display: block;
	margin: auto;
	background: var(--navy);
	color: var(--white);
	width: 85px;
	padding: 8px 0;
	border-radius: 9999px;
	text-align: center;
}

#vacant_floor .vacant.green  table thead th:nth-child(1){
	background:var(--green) ;
}
#vacant_floor .vacant.green  table thead th:nth-child(2){
	color: var(--green);
}
#vacant_floor .vacant.orange  table thead th:nth-child(1){
	background:var(--orange) ;
}
#vacant_floor .vacant.orange  table thead th:nth-child(2){
	color: var(--orange);
}
#vacant_floor .vacant.green  table tbody{
	border-top: 2px solid var(--green);
	border-bottom: 2px solid var(--green);
}
#vacant_floor .vacant.orange  table tbody{
	border-top: 2px solid var(--orange);
	border-bottom: 2px solid var(--orange);
}
#vacant_floor .vacant.green  table tbody tr:nth-child(odd) td{
	background: var(--lightgreen);
}
#vacant_floor .vacant.orange table tbody tr:nth-child(odd) td{
	background: var(--lightnessorange);
}

#vacant_floor .vacant.green .floor{
	background: var(--green);
}
#vacant_floor .vacant.orange .floor{
	background: var(--orange);
}

#vacant_floor .vacant.green .floor{
}
#vacant_floor .available{
	margin: 30px auto 0;
}
#vacant_floor .available a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: auto;
  width: 100%;
  max-width:480px;
  min-height: 80px;
  background-color: transparent;
  border-radius: 10px;
  color: var(--orange);
  font-size: 1.25em;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  padding: 0 0;
  border: 3px solid var(--orange);
  transition: 0.3s ease background-color,
  0.3s ease color;
}
#vacant_floor .available a span{
  position: relative;
  padding: 0 50px;
}
#vacant_floor .available a span::before{
  content:"";
  display: block;
  width: 33px;
  height: 35px;
  background: url(../images/pdf-white.png) no-repeat center / contain;
  position: absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%);
}
#vacant_floor .available a span::after{
  content:"";
  display: block;
  width: 33px;
  height: 35px;
  background: url(../images/pdf-orange.png) no-repeat center / contain;
  position: absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s ease opacity;
}
#vacant_floor .available a:hover{
  background-color: var(--orange);
  color: var(--white);
}
#vacant_floor .available a:hover span::after{
  opacity: 0;
}


@media screen and (max-width:880px) {

	#vacant_floor{
		padding: 35px 0 35px;
	}
	#vacant_floor h2{
		margin-bottom: 15px;
	}
	#vacant_floor .vacant-list{
		flex-direction: column;
		margin-bottom: 15px;
	}
	#vacant_floor .available a span{
	  position: relative;
	  padding: 0 50px;
	}
	#vacant_floor .available a span::before{
	  width: 28px;
	  height: 30px;
	}
	#vacant_floor .available a span::after{
	  width: 28px;
	  height: 30px;
	}
}

/* 対応可能な医療的ケア---------------- */
#medical_care{
	padding: 0 0 70px;
	background: var(--lightnessorange);
}
#medical_care h2{
	margin-bottom: 30px;
}
#medical_care .note{
	margin-top: 10px;
	font-size: 0.875em;
}
#medical_care .note li{
  padding-left: 2.5em;
  text-indent: -2.5em;
  font-feature-settings: normal;
}
#medical_care #source-table-wrap{
  display: none;
}
#medical_care .table-grid {
  display: grid;
  gap: 4.4%;
}
#medical_care .table-column {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #ccc;
  font-size: 14px;
}
#medical_care .table-column th {
  background: var(--lightorange);
  border: 1px solid var(--orange);
  border-bottom: none;
  padding: 5px 10px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
#medical_care .table-column td {
  background: var(--white);
  padding: 5px 10px;
  border: 1px solid var(--orange);
  text-align:center;
}
#medical_care .table-column td:nth-child(2) {
  text-align: center;
  width: 3em;
}
#medical_care .table-column td sup {
  font-size: 0.6em;
}
@media screen and (max-width:880px) {

	#vacant_floor{
		padding: 0 0 35px;
	}
	
#medical_care .table-column th {
font-size: 0.9375em;
}
#medical_care .table-column td {
font-size: 0.9375em;
}
}
/* ブログ---------------- */
#blog{
	position: relative;
	margin: 100px auto 120px;
}
#blog h2{
	margin-bottom: 20px;
}
#blog-recent{
	margin: 20px auto 35px;
}
#blog-recent .post-wrap{
	display: flex;
	gap: 30px 4.4%;
}
#blog-recent .post{
	width: 30.4%;
	border-radius: 20px;
	overflow: hidden;
	background: var(--white);
	color: var(--black);
	text-decoration: none;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
}
#blog-recent .post a{
  text-decoration :none;
  color: var(--black);
}
#blog-recent .image img{
	aspect-ratio: 3/2;
	object-fit: cover;
}
#blog-recent .text{
	padding: 10px 15px 15px;
}
#blog-recent .text .data{
	color: var(--gray);
	font-size: 0.9375em;
	line-height: 1;
	font-weight: 500;
	margin-bottom: 15px;
}
#blog-recent .text .title{
	color: var(--orange);
	font-size: 1.25em;
	line-height: 1.38;
	font-weight: 700;
	margin-bottom: 5px;
}
#blog-recent .text .excerpt{
	font-size: 0.9375em;
	line-height: 1.66;
}
#blog .pr_magazine{
	margin:60px auto 65px;
	width: 50%;
	min-width: 280px;
}
#blog .pr_magazine a{
	transition: 0.3s ease opacity;
}
#blog .pr_magazine a:hover{
	opacity: 0.5;
}
#blog-category .category-wrap{
	display: flex;
	gap: 20px 4.4%; 
}
#blog-category .category{
  width: 30.4%;
}
#blog-category .category a{
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background-color: var(--white);
  border-radius: 10px;
  color: var(--black);
  font-size: 1.25em;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
  text-align: right;
  padding: 15px 20px 15px 20px;
  border: 2px solid var(--orange);
}
#blog-category .category a .icon{
	width: 21%;
}

#blog-category .category a span.text{
	position: relative;
}
#blog-category .category a span.text::after{
  content:"";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../images/link-orange.png) no-repeat center / contain;
  transition: 0.3s ease transform;
  margin-left: 15px;
}
#blog-category .category a:hover span.text::after{
  transform: scale(1.5);
}
@media screen and (max-width:880px) {
	#blog{
		position: relative;
		margin: 40px auto 60px;
	}
	#blog h2{
		margin-bottom: 20px;
	}
	#blog-recent{
		margin: 20px auto 30px;
	}
	#blog .pr_magazine{
		margin:30px auto 30px;
		width: 100%;
		min-width: 280px;
	}
	#blog-category .category-wrap{
		flex-direction: column;
	}
	#blog-category .category{
		width: 100%;
	}
}
@media screen and (max-width:680px) {
	#blog-recent .post-wrap{
		flex-direction: column;
	}
	#blog-recent .post{
		width: 100%;
	}
	#blog-category .category-wrap{
		flex-direction: column;
	}
	#blog-category .category{
		width: 100%;
	}
}

/* 求人情報---------------- */
#recruit{
	position: relative;
	margin: 120px auto 180px;
}
#recruit-image{
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}

#recruit h2{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-shadow: 0px 0px 5px #fff,0px 0px 5px #fff,0px 0px 5px #fff,0px 0px 5px #fff,0px 0px 5px #fff;
}
#recruit-text{
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%,50%);
  background: var(--white);
  border-radius: 20px;
  padding: 30px 60px;
  box-shadow: 3px 3px 5px rgba(0,0,0,0.15);
}
#recruit-text h3{
  font-size: 1.25em;
  line-height: 1.5;
  font-weight: 700;
  color: var(--orange);
  margin-bottom:15px;
  text-align: center;
}
#recruit-text p.lead{
  text-align: center;
  margin-bottom:10px;
}
#recruit-text .button-wrap{
	display: flex;
	gap: 15px 40px;
}

@media screen and (max-width:880px) {
	#recruit{
		position: relative;
		margin: 60px auto 60px;
	}
	#recruit-image{
		position: relative;
		left: -20px;
		width: calc(100% + 40px);
		border-radius: 0;
	}
	#recruit-text{
		position: relative;
		bottom: unset;
		top: -45px;
		left: unset;
		transform: none;
		padding: 20px;
	}
	
	#recruit-text h3{
	display: block;
	width: fit-content;
	margin: 0 auto 10px;
	text-align: left;
	
	}
	#recruit-text p.lead{
	display: block;
	width: fit-content;
	margin: 0 auto 10px;
	text-align: left;
	}
	#recruit-text .button-wrap{
		flex-direction:column;
	}
}

/* バナーリンク---------------- */
#group{
	margin: 100px auto 80px;
}
#group ul.group-wrap{
	display: flex;
	flex-wrap: wrap;
	gap:30px 5.3%;
}
#group ul.group-wrap li{
	width: 21%;
}
#group ul.group-wrap li a{
	transition:0.3s ease opacity;
	display: block;
	border: 1px solid #7dc0eb;
}
#group ul.group-wrap li.pamphlet a{
	border: 1px solid #144196;
}
#group ul.group-wrap li a:hover{
	opacity: 0.5;
}
@media screen and (max-width:880px) {
	#group{
		margin: 50px auto 50px;
	}
	#group ul.group-wrap{
		gap:30px 5.3%;
	}
	#group ul.group-wrap li{
		width: 47.35%;
	}
}

