@charset "utf-8";

#container {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #fab3bf 0%, #ffe7f6 20%, #fff 55%);
}

#container::before {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 0;
	width: 100%;
	height: 110rem;
	background: url("../image/common/bg01.png") no-repeat center top / cover;
	transform: translateX(-50%);
	content: "";
	pointer-events: none;
}

/*------------------------------------------------------------
  Top
------------------------------------------------------------*/

#top #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/*------------------------------------------------------------
  Main visual
------------------------------------------------------------*/

.mv {
	position: relative;
	padding: 22rem 0 0;
}

.mvInner {
	position: relative;
	width: 130rem;
	margin: 3rem auto 0 auto;
}

.mvPhoto {
	width: 112rem;
	/*width: 84vw;*/
	border-radius: 1rem;
	/*box-shadow: 0 1rem 1.8rem rgba(170, 80, 110, 0.18);*/
	overflow: hidden;
}

.mvPhoto img {
	width: 100%;
}

/*メインビジュアル工夫-----------------*/
.mvPhoto {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}


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


.mvCopy {
	position: absolute;
	top: 0.8rem;
	right: 0;
	/*width: 12rem;*/
	width: 9%;
}

.mvCopy img {
	width: 100%;
}

.mvSub {
	position: absolute;
	z-index: 2;
	border: 1px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0.6rem 1.4rem rgba(170, 80, 110, 0.18);
	overflow: hidden;
}

.mvSub img {
	width: 100%;
}

.mvSub01 {
	right: 1.5rem;
	bottom: -20rem;
	width: 35rem;
}

.mvSub02 {
	right: -6rem;
	bottom: -44rem;
	width: 24rem;
}

/*------------------------------------------------------------
  Topics
------------------------------------------------------------*/

.topicsSec {
	position: relative;
	padding: 11rem 0 8rem 0;
}

.topicsInner {
	display: flex;
	align-items: flex-start;
	width: 130rem;
	margin: 0 auto;
}

.topicsHead {
	width: 31rem;
	flex-shrink: 0;
}

.topicsTitle {
	display: flex;
	align-items: center;
	width: 25rem;
	height: 8rem;
	padding: 0 3.5rem 0 2.5rem;
	border-radius: 1.5rem 4rem 4rem 1.5rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
	white-space: nowrap;
}

.topicsTitle span {
	position: relative;
	padding-left: 2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

.topicsTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

.topicsIllust {
	width: 82%;
	margin: 3.5rem 0 0 0.5rem;
}

.topicsIllust img {
	width: 100%;
}

.topicsBody {
	width: 62.5rem;
	margin-left: 3rem;
	padding-top: 1.4rem;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.6;
}

.topicsItem {
	padding: 0 0 2.4rem;
	margin-bottom: 2.4rem;
	border-bottom: 1px dashed #777;
}

.topicsItem:last-child {
	margin-bottom: 0;
}

.topicsItem p {
	margin: 0;
}

.topicsItem:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

/*------------------------------------------------------------
  Top Service
------------------------------------------------------------*/

#top .topService {
	position: relative;
	padding: 6rem 0 10rem;
	background: rgba(255, 141, 175, 0.2);
}

#top .serviceInner {
	width: 130rem;
	margin: 0 auto;
}

/* head */

#top .serviceHead {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}

#top .serviceTitle {
	display: flex;
	align-items: center;
	width: 35rem;
	height: 8rem;
	padding: 0 3rem;
	border-radius: 1.5rem 4rem 4rem 1.5rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
	flex-shrink: 0;
}

#top .serviceTitle span {
	position: relative;
	padding-left: 3rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#top .serviceTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#top .serviceIllust {
	width: 52rem;
	margin: -10rem 0 0 10rem;
}

#top .serviceIllust img {
	display: block;
	width: 100%;
}

/* card */

#top .serviceList {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem;
}

#top .serviceCard {
	display: flex;
	flex-direction: column;
	position: relative;
	border-radius: 0.8rem;
	background: #ffbbc8;
	box-shadow: 0 0.6rem 1.2rem rgba(180, 80, 110, 0.15);
	overflow: hidden;
}

#top .serviceCardHead {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	height: 13.6rem;
	padding: 3.2rem 2rem 0;
}

#top .serviceCard h3 {
	padding: 0;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 0.04em;
}

#top .serviceCard h3.smallTitle {
	font-size: 2.6rem;
}

#top .calendarBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 23rem;
	height: 4rem;
	margin: 1.25rem auto 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
	background: #fff;
}

#top .calendarBtn::after {
	margin-left: 0.8rem;
	font-size: 1.3rem;
	color: #ff8daf;
	content: "\25B6\FE0E";
}

#top .servicePhoto {
	position: relative;
	width: 100%;
	margin-top: auto;
}

#top .servicePhoto img {
	display: block;
	width: 100%;
}

#top .serviceBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 23rem;
	height: 5rem;
	font-size: 1.8rem;
	font-weight: 700;
	background: #ff8daf;
	color: #fff;
}

#top .serviceBtn::after {
	margin-left: 2rem;
	font-size: 1.4rem;
	content: "\25B6\FE0E";
}

/* contact card */

#top .contactCard {
	align-items: center;
	padding-bottom: 3rem;
}

#top .contactCard .serviceCardHead {
	height: 10.5rem;
	padding: 3.2rem 0;
}

#top .serviceIcon {
	width: 19rem;
	margin: 0 auto;
}

#top .serviceIcon img {
	display: block;
	width: 100%;
}

#top .contactBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 23rem;
	height: 4.5rem;
	margin-top: -2rem;
	font-size: 1.8rem;
	font-weight: 700;
	border-radius: 999px;
	background: #fff;
}

#top .contactBtn::after {
	margin-left: 1.4rem;
	font-size: 1.3rem;
	color: #ff8daf;
	content: "\25B6\FE0E";
	position: relative;
	left: 1rem;
}




/*------------------------------------------------------------
  Top Info
------------------------------------------------------------*/

#top .topInfo {
	position: relative;
	padding: 8rem 0;
}

#top .topInfoInner {
	display: grid;
	grid-template-columns: 92rem 30rem;
	column-gap: 8rem;
	width: 130rem;
	margin: 0 auto;
}

/* head */

#top .topInfoHead {
	display: flex;
	align-items: flex-start;
	grid-column: 1 / 2;
	margin-bottom: 2rem;
}

#top .topInfoTitle {
	display: flex;
	align-items: center;
	width: 25rem;
	height: 8rem;
	padding: 0 3rem;
	border-radius: 1.5rem 4rem 4rem 1.5rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
	flex-shrink: 0;
}

#top .topInfoTitle span {
	position: relative;
	padding-left: 3rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

#top .topInfoTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#top .topInfoIllust {
	width: 19rem;
	margin: -4rem 0 0 6rem;
}

#top .topInfoIllust img {
	display: block;
	width: 100%;
}

/* main */

#top .topInfoMain {
	grid-column: 1 / 2;
}

/* entry */

#top .topInfoEntry {
	display: flex;
	align-items: flex-start;
	margin-bottom: 2rem;
	
}

#top .topInfoPhoto {
	width: 18rem;
	height: 18rem;
	border-radius: 1rem;
	overflow: hidden;
	flex-shrink: 0;
}

#top .topInfoPhoto a {
	display: block;
	width: 100%;
	height: 100%;
}

#top .topInfoPhoto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#top .topInfoContent {
	display: flex;
	width: calc(100% - 19rem);
	min-height: 20.5rem;
	padding-top: 2rem;
	margin-left: 3rem;
	padding-bottom: 2rem;
	border-bottom: 1px dashed #999;
}

#top .topInfoEntry:last-child .topInfoContent {
	border-bottom: none;
}
#top .topInfoEntry:last-child {
	margin-bottom: 0;
}


#top .topInfoMeta {
	width: 18rem;
	flex-shrink: 0;
}

#top .topInfoDate {
	display: block;
	margin-bottom: 1.4rem;
	padding-top: 0.5rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1rem;
}

#top .topInfoCate {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 13rem;
	height: 3.6rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 0.7rem;
	color: #fff;
}

#top .topInfoCate01 {
	background: #ff9628;
}

#top .topInfoCate02 {
	background: #b87ad4;
}

#top .topInfoCate03 {
	background: #65b93e;
}

#top .topInfoCate04 {
	background: #58b5f2;
}

#top .topInfoText {
	flex: 1;
}

#top .topInfoText dt {
	margin-bottom: 1.2rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1rem;
}

#top .topInfoText dt a {
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

#top .topInfoText dd {
	font-size: 1.8rem;
	line-height: 1.8;
}


/* hover */

#top .topInfoPhoto img,
#top .topInfoText dt a {
	transition: 0.3s;
}

#top .topInfoPhoto a:hover img {
	transform: scale(1.05);
}

#top .topInfoText dt a:hover {
	opacity: 0.7;
}


/* blog */

#top .blogBox {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
	align-self: start;
	padding: 0 2.5rem 3rem;
	border-radius: 1.5rem;
	background: rgba(255, 141, 175, 0.15);
	overflow: hidden;
}

#top .blogTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 6.5rem;
	margin: 0 auto;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.04em;
	border-radius: 0 0 0.8rem 0.8rem;
	background: #ff8daf;
	color: #fff;
}

#top .blogLead {
	margin-top: 2.4rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}

#top .blogIllust {
	width: 22rem;
	margin: 1.8rem auto;
}

#top .blogIllust img {
	display: block;
	width: 100%;
}

#top .blogBox dl {
	margin-bottom: 3rem;
	padding: 0 1.6rem;
}

#top .blogBox dt {
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05rem;
}

#top .blogCherry {
	width: 1.8rem;
	margin-right: 0.8rem;
	flex-shrink: 0;
}

#top .blogBox dd {
	margin-bottom: 1.7rem;
	padding-bottom: 1.7rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1rem;
	border-bottom: 0.2rem dotted #ff8daf;
}

#top .blogBox dd:last-of-type {
	margin-bottom: 0;
	border: none;
}

#top .blogBox dd a {
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

#top .blogBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 19rem;
	height: 4.6rem;
	margin: 0 auto;
	font-size: 1.6rem;
	font-weight: 700;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 0.5rem 1rem rgba(180, 80, 110, 0.12);
	color: #222;
}

#top .blogBtn::after {
	position: relative;
	left: 0.8rem;
	margin-left: 1.2rem;
	font-size: 1.2rem;
	color: #ff8daf;
	content: "\25B6\FE0E";
}

#top .blogBox dd a,
#top .blogBtn {
	transition: 0.3s;
}

#top .blogBox dd a:hover,
#top .blogBtn:hover {
	opacity: 0.7;
}

/*------------------------------------------------------------
  トップ／リクルート・災害
------------------------------------------------------------*/

#top .recruit_saigai {
	position: relative;
	padding: 8rem 0;
	background: rgba(255, 141, 175, 0.2);
}

#top .recruitSaigaiInner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
	width: 130rem;
	margin: 0 auto;
}

#top .recruitSaigaiBox {
	position: relative;
	min-height: 36rem;
	padding: 3.8rem 4rem 3.5rem;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 0.6rem 1.2rem rgba(180, 80, 110, 0.08);
	overflow: hidden;
}

#top .recruitSaigaiHead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 2.8rem;
}

#top .recruitSaigaiTitle {
	display: flex;
	align-items: center;
	height: 6.5rem;
	padding: 0 3rem;
	border-radius: 1.5rem 4rem 4rem 1.5rem;
	box-shadow: 0 0.8rem 1.4rem rgba(80, 80, 80, 0.12);
	color: #fff;
}

#top .recruitSaigaiTitle span {
	position: relative;
	padding-left: 2.6rem;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
}

#top .recruitSaigaiTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#top .recruitSaigaiTitle small {
	margin-left: 0.8rem;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1;
}

#top .recruitTitle {
	width: 22rem;
	background: #3fb7e4;
}

#top .saigaiTitle {
	width: 52rem;
	background: #ff8daf;
}

#top .recruitIllust {
	width: 24rem;
	margin: -1rem 1rem -8rem 0;
}

#top .recruitSaigaiIllust img {
	display: block;
	width: 100%;
}

#top .recruitSaigaiBody {
	padding-left: 1rem;
}

#top .recruitSaigaiBody h3 {
	margin-bottom: 2.4rem;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: #111;
}

#top .recruitSaigaiBody ul {
	margin-bottom: 3rem;
	margin-left: 2rem;
}

#top .recruitSaigaiBody li {
	position: relative;
	margin-bottom: 1.1rem;
	padding-left: 2.2rem;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.6;
}

#top .recruitSaigaiBody li::before {
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	transform: translateY(-50%);
	content: "";
}

#top .recruitBox li::before {
	background: #3fb7e4;
}

#top .saigaiBox li::before {
	background: #ff8daf;
}

#top .recruitSaigaiBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20rem;
	height: 4.8rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
	box-shadow: 0 0.5rem 1rem rgba(180, 80, 110, 0.12);
}

#top .recruitSaigaiBtn::after {
	position: relative;
	left: 0.7rem;
	margin-left: 1.2rem;
	font-size: 1.2rem;
	content: "\25B6\FE0E";
}

#top .recruitBtn {
	background: rgba(63, 183, 228, 0.55);
}

#top .recruitBtn::after {
	color: #fff;
}

#top .saigaiBtn {
	background: rgba(255, 141, 175, 0.65);
}

#top .saigaiBtn::after {
	color: #fff;
}

/* saigai */
#top .saigaiBox {
	position: relative;
}

#top .saigaiContent {
	display: block;
}

#top .saigaiContent ul {
	width: 34rem;
}

#top .saigaiIllust {
	position: absolute;
	right: 4rem;
	bottom: 3rem;
	width: 23rem;
	margin: 0;
}

#top .saigaiBtn {
	margin-top: 0;
}


/* hover */

#top .recruitSaigaiBtn {
	transition: 0.3s;
}

#top .recruitSaigaiBtn:hover {
	opacity: 0.7;
}


/*--特別養護老人ホーム----------------------------------------------------------*/

#tokuyo #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}
.subPage {
	width: 130rem;
	margin: 24rem auto 0 auto;
	padding: 8rem 6rem;
	border-radius: 5rem;
	background: #fff;
	z-index: 2;
}

/*------------------------------------------------------------
  Tokuyo Page Head
------------------------------------------------------------*/

#tokuyo .pageHead {
	position: relative;
}

#tokuyo .pageHeadInner {
	position: relative;
	min-height: 18rem;
}

#tokuyo .pageHeadIllust {
	position: absolute;
	top: -12rem;
	left: -4rem;
	width: 28rem;
}

#tokuyo .pageHeadIllust img {
	display: block;
	width: 100%;
}

#tokuyo .pageHeadContent {
	width: 74rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#tokuyo .pageTitle {
	margin-bottom: 4rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#tokuyo .pageAnchorNav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3.2rem;
}

#tokuyo .pageAnchorNav a {
	display: block;
	padding: 0 0.2rem 0.5rem 0.2rem;
	border-bottom: 0.1rem solid #666;
}
#tokuyo .pageAnchorNav a:hover {
	color: #f57cb0;
}

#tokuyo .pageAnchorNav span {
	position: relative;
	display: inline-block;
	padding-right: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#tokuyo .pageAnchorNav span::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding-top: 0.1rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	transform: translateY(-50%);
	content: "\25BC\FE0E";
}

/*------------------------------------------------------------
  Tokuyo Gaiyo
------------------------------------------------------------*/

#tokuyo .gaiyoSec {
	padding-top: 2rem;
}

#tokuyo .gaiyoInner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#tokuyo .gaiyoContent {
	width: 60rem;
}

#tokuyo .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 3rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#tokuyo .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#tokuyo .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#tokuyo .gaiyoContent h4 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	color: #ff5f91;
}

#tokuyo .gaiyoContent p {
	font-size: 2rem;
	line-height: 1.6;
	font-weight: 500;
}

#tokuyo .gaiyoContent table {
	width: 100%;
	margin-top: 4rem;
	border-collapse: collapse;
	border: 1px solid #ccc;
}

#tokuyo .gaiyoContent th,
#tokuyo .gaiyoContent td {
	padding: 2rem 2.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	border: 1px solid #ccc;
}

#tokuyo .gaiyoContent th {
	width: 18rem;
}

#tokuyo .pdfLink {
	margin-top: 4rem;
}

#tokuyo .pdfLink a {
	display: inline-flex;
	align-items: center;
	padding-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 1px solid #333;
}

#tokuyo .pdfLink a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-left: 1.4rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #333;
	color: #fff;
	content: "\25B6\FE0E";
}

#tokuyo .gaiyoPhoto {
	width: 50rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#tokuyo .gaiyoPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

/*------------------------------------------------------------
  Tokuyo Room
------------------------------------------------------------*/

#tokuyo .roomSec {
	padding-top: 10rem;
}

#tokuyo .roomList {
	display: flex;
	justify-content: space-between;
	margin-top: 5rem;
}

#tokuyo .roomBox {
	width: 54rem;
}

#tokuyo .roomPhoto {
	border-radius: 1.5rem;
	overflow: hidden;
}

#tokuyo .roomPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#tokuyo .roomText {
	padding-top: 3rem;
}

#tokuyo .roomText h4 {
	font-size: 2.2rem;
	font-weight: 700;
}

#tokuyo .roomText p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
}

/*------------------------------------------------------------
  Tokuyo Day
------------------------------------------------------------*/

#tokuyo .daySec {
	margin: 8rem 0;
}

#tokuyo .dayInner {
	position: relative;
}

#tokuyo .dayInner .secTitle {
	margin-bottom: 3rem;
}

#tokuyo .dayLead {
	margin-bottom: 3.5rem;
}

#tokuyo .dayLead p {
	font-size: 1.8rem;
	line-height: 1.6;
}

#tokuyo .daySlider {
	width: 100%;
}

#tokuyo .daySliderTrack {
	display: flex;
	width: max-content;
	animation: daySlide 35s linear infinite;
}

#tokuyo .dayPhoto {
	width: 35rem;
	margin-right: 3rem;
	flex-shrink: 0;
}

#tokuyo .dayPhoto img {
	display: block;
	width: 100%;
	height: 25rem;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
}

#tokuyo .dayPhoto figcaption {
	margin-top: 1.4rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.04em;
}

@keyframes daySlide {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* schedule */

#tokuyo .daySchedule {
	display: flex;
	justify-content: space-between;
	width: 116rem;
	margin: 6rem auto 0;
}

#tokuyo .dayScheduleBox {
	width: 54rem;
}

#tokuyo .dayScheduleTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18rem;
	height: 5rem;
	margin: 0 auto 2rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.12em;
	border-radius: 999px;
	color: #fff;
}

#tokuyo .dayScheduleTitle.morning {
	background: #ff8daf;
}

#tokuyo .dayScheduleTitle.afternoon {
	background: #58b5f2;
}

#tokuyo .daySchedule table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1.2rem;
	overflow: hidden;
}

#tokuyo .daySchedule th,
#tokuyo .daySchedule td {
	padding: 2.2rem 2.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

#tokuyo .daySchedule tr:last-child th,
#tokuyo .daySchedule tr:last-child td {
	border-bottom: none;
}

#tokuyo .daySchedule th {
	width: 13rem;
	text-align: center;
	background: #e9e3d7;
}

/*------------------------------------------------------------
  Tokuyo Health
------------------------------------------------------------*/

#tokuyo .healthSec {
	margin: 10rem -6rem 0 -6rem;
	padding: 8rem 4rem 10rem;
	background: rgba(255, 141, 175, 0.2);
}

#tokuyo .healthInner {
	width: 116rem;
	margin: 0 auto;
}

#tokuyo .healthBox {
	margin-top: 4rem;
	padding: 5rem 6rem;
	border-radius: 1.5rem;
	background: #fff;
}

#tokuyo .healthLead {
	margin-bottom: 4rem;
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.06em;
}

#tokuyo .healthTable {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1rem;
	overflow: hidden;
}

#tokuyo .healthTable th,
#tokuyo .healthTable td {
	padding: 2.6rem 3.5rem;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

#tokuyo .healthTable tr:last-child th,
#tokuyo .healthTable tr:last-child td {
	border-bottom: none;
}

#tokuyo .healthTable th {
	width: 24rem;
	background: #e9e3d7;
	font-weight: 500;
}

#tokuyo .healthCheck {
	margin-top: 4rem;
}

#tokuyo .healthCheck h4 {
	margin-bottom: 1.6rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
}

#tokuyo .healthCheck li {
	position: relative;
	margin-bottom: 0.8rem;
	padding-left: 2rem;
	font-size: 1.8rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

#tokuyo .healthCheck li:last-child {
	margin-bottom: 0;
}

#tokuyo .healthCheck li::before {
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: #ff8daf;
	transform: translateY(-50%);
	content: "";
}

/*--ショートステイ----------------------------------------------------------*/

#short #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/* Page Head */

#short .pageHead {
	position: relative;
}

#short .pageHeadInner {
	position: relative;
	min-height: 18rem;
}

#short .pageHeadIllust {
	position: absolute;
	top: -12rem;
	left: -3rem;
	width: 30rem;
}

#short .pageHeadIllust img {
	display: block;
	width: 100%;
}

#short .pageHeadContent {
	width: 88rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#short .pageTitle {
	margin-bottom: 4rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#short .pageAnchorNav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2.4rem;
}

#short .pageAnchorNav a {
	display: block;
	padding: 0 0.2rem 0.5rem 0.2rem;
	border-bottom: 0.1rem solid #666;
}

#short .pageAnchorNav a:hover {
	color: #f57cb0;
}

#short .pageAnchorNav span {
	position: relative;
	display: inline-block;
	padding-right: 2rem;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#short .pageAnchorNav span::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding-top: 0.1rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	transform: translateY(-50%);
	content: "\25BC\FE0E";
}

/* Common Title */

#short .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 3rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#short .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#short .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

/* 概要・料金 */

#short .gaiyoSec {
	padding-top: 2rem;
}

#short .gaiyoInner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#short .gaiyoContent {
	width: 60rem;
}

#short .gaiyoContent h4 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	color: #ff5f91;
}

#short .gaiyoContent p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
}

#short .gaiyoContent table {
	width: 100%;
	margin-top: 4rem;
	border-collapse: collapse;
	border: 1px solid #ccc;
}

#short .gaiyoContent th,
#short .gaiyoContent td {
	padding: 2rem 2.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	border: 1px solid #ccc;
}

#short .gaiyoContent th {
	width: 18rem;
}

#short .pdfLink {
	margin-top: 4rem;
}

#short .pdfLink a {
	display: inline-flex;
    align-items: center;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 1px solid #333
}

#short .pdfLink a + a {
	margin-top: 1.8rem;
}

#short .pdfLink a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-left: 1.4rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #333;
	color: #fff;
	content: "\25B6\FE0E";
}

#short .gaiyoPhoto {
	width: 50rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#short .gaiyoPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

/* 居室案内 */

#short .roomSec {
	padding-top: 10rem;
}

#short .roomList {
	display: flex;
	justify-content: space-between;
	margin-top: 5rem;
}

#short .roomBox {
	width: 54rem;
}

#short .roomPhoto {
	border-radius: 1.5rem;
	overflow: hidden;
}

#short .roomPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#short .roomText {
	padding-top: 3rem;
}

#short .roomText h4 {
	font-size: 2.2rem;
	font-weight: 700;
}

/* 1日の過ごし方 */

#short .daySec {
	margin: 8rem 0;
}

#short .dayInner {
	position: relative;
}

#short .dayInner .secTitle {
	margin-bottom: 3rem;
}

#short .dayLead {
	margin-bottom: 3.5rem;
}

#short .dayLead p {
	font-size: 1.8rem;
	line-height: 1.6;
}

#short .daySlider {
	width: 100%;
}

#short .daySliderTrack {
	display: flex;
	width: max-content;
	animation: daySlide 35s linear infinite;
}

#short .dayPhoto {
	width: 35rem;
	margin-right: 3rem;
	flex-shrink: 0;
}

#short .dayPhoto img {
	display: block;
	width: 100%;
	height: 25rem;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
}

#short .dayPhoto figcaption {
	margin-top: 1.4rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.04em;
}

#short .daySchedule {
	display: flex;
	justify-content: space-between;
	width: 116rem;
	margin: 6rem auto 0;
}

#short .dayScheduleBox {
	width: 54rem;
}

#short .dayScheduleTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18rem;
	height: 5rem;
	margin: 0 auto 2rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.12em;
	border-radius: 999px;
	color: #fff;
}

#short .dayScheduleTitle.morning {
	background: #ff8daf;
}

#short .dayScheduleTitle.afternoon {
	background: #58b5f2;
}

#short .daySchedule table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1.2rem;
	overflow: hidden;
}

#short .daySchedule th,
#short .daySchedule td {
	padding: 2.2rem 2.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

#short .daySchedule tr:last-child th,
#short .daySchedule tr:last-child td {
	border-bottom: none;
}

#short .daySchedule th {
	width: 13rem;
	text-align: center;
	background: #e9e3d7;
}

/* 空き状況カレンダー */

#short .calenderSec {
	margin-top: 0;
	padding: 8rem 0 10rem;
	background: #f2eee8;
}

#short .calenderInner {
	width: 116rem;
	margin: 0 auto;
}

#short .calenderHead {
	display: flex;
	align-items: center;
	margin-bottom: 5rem;
}

#short .calenderHead .secTitle {
	margin-bottom: 0;
}

#short .calenderLead {
	margin-left: 4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.7;
}

#short .calBox {
	width: 100%;
}

#short .calTarget {
	display: block;
	float: left;
	width: 20rem;
	padding-top: 1rem;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
	clear: both;
}

#short .calTb {
	width: calc(100% - 24rem);
	margin: 0 0 6rem auto;
	border-collapse: collapse;
	background: #fff;
}

#short .calTb:last-child {
	margin-bottom: 0;
}

#short .calTb:last-child {
	margin-bottom: 0;
}

#short .calTb th,
#short .calTb td {
	width: 14.285%;
	border: 1px solid #ccc;
}

#short .calTb th {
	height: 6rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	background: #ffe5ef;
}

#short .calTb td {
	position: relative;
	height: 7rem;
	padding: 1rem;
	font-size: 1.8rem;
	line-height: 1;
	text-align: right;
	vertical-align: top;
}

#short .calTb .sun {
	color: #ff2222;
}

#short .calTb .sat {
	color: #58b5f2;
}

#short .calTb .cfont05 {
	color: #999;
}

#short .calTb .akisuu {
	position: absolute;
	left: 50%;
	bottom: 1.8rem;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1;
	transform: translateX(-50%);
}

#short .calTb .holiday {
	background: rgba(255, 141, 175, 0.18);
}

#short .calTb .today {
	background: rgba(88, 181, 242, 0.12);
}

/* ご注意 */

#short .cautionSec {
	padding: 8rem 0 10rem;
	background: rgba(255, 141, 175, 0.2);
}

#short .cautionInner {
	width: 116rem;
	margin: 0 auto;
}

#short .cautionBox {
	margin-top: 4rem;
	padding: 6rem 7rem;
	border-radius: 1.5rem;
	background: #fff;
}

#short .cautionLead {
	margin-bottom: 3rem;
	font-size: 1.8rem;
	line-height: 1.6;
}

#short .cautionBox p {
	font-size: 1.8rem;
	line-height: 1.6;
}

#short .cautionList {
	margin-top: 2rem;
}

#short .cautionList li {
	position: relative;
	margin-bottom: 0.5rem;
	padding-left: 2.2rem;
	font-size: 1.8rem;
	line-height: 1.6;
}

#short .cautionList li:last-child {
	margin-bottom: 0;
}

#short .cautionList li::before {
	position: absolute;
	top: 0.85em;
	left: 0;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: #ff8daf;
	transform: translateY(-50%);
	content: "";
}

#short .cautionBox hr {
	margin: 4.5rem 0;
	border: none;
	border-top: 1px solid #ccc;
}

#short .cautionBlock h4 {
	display: inline-flex;
	align-items: center;
	padding: 1rem 2rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.2);
}

#short .cautionBlock h4::before {
	display: none;
	width: 2.8rem;
	height: 2.8rem;
	margin-right: 1rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

#short .cautionBlock h4.iconHeart::before,
#short .cautionBlock h4.iconBus::before,
#short .cautionBlock h4.iconMemo::before {
	display: block;
}

#short .cautionBlock h4.iconHeart::before {
	background-image: url("../image/common/caution_heart.png");
}

#short .cautionBlock h4.iconBus::before {
	background-image: url("../image/common/caution_bus.png");
}

#short .cautionBlock h4.iconMemo::before {
	background-image: url("../image/common/caution_memo.png");
}

#short .cautionList em {
	font-style: normal;
	font-weight: 700;
	color: #ff0000;
}

#short .cautionList strong {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

#short .cautionTelBox {
	display: flex;
	align-items: center;
	margin-top: 3rem;
}

#short .cautionTelBox span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28rem;
	height: 5rem;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
	background: #ff8daf;
	color: #fff;
}

#short .cautionTelBox strong {
	margin-left: 3rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
}

#short .cautionNote {
	margin-top: 2rem;
	font-size: 1.6rem;
}


/*--デイサービス----------------------------------------------------------*/

#day #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/* Page Head */

#day .pageHead {
	position: relative;
}

#day .pageHeadInner {
	position: relative;
	min-height: 18rem;
}

#day .pageHeadIllust {
	position: absolute;
	top: -10rem;
	left: 0;
	width: 32rem;
}

#day .pageHeadIllust img {
	display: block;
	width: 100%;
}

#day .pageHeadContent {
	width: 88rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#day .pageTitle {
	margin-bottom: 4rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#day .pageAnchorNav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2.4rem;
}

#day .pageAnchorNav a {
	display: block;
	padding: 0 0.2rem 0.5rem 0.2rem;
	border-bottom: 0.1rem solid #666;
}

#day .pageAnchorNav a:hover {
	color: #f57cb0;
}

#day .pageAnchorNav span {
	position: relative;
	display: inline-block;
	padding-right: 2rem;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#day .pageAnchorNav span::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding-top: 0.1rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	transform: translateY(-50%);
	content: "\25BC\FE0E";
}

/* Common Title */

#day .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 3rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#day .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#day .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

/* 概要・料金 */

#day .gaiyoSec {
	padding-top: 2rem;
}

#day .gaiyoInner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#day .gaiyoContent {
	width: 60rem;
}

#day .gaiyoContent h4 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	color: #ff5f91;
}

#day .gaiyoContent p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
}

#day .gaiyoContent table {
	width: 100%;
	margin-top: 4rem;
	border-collapse: collapse;
	border: 1px solid #ccc;
}

#day .gaiyoContent th,
#day .gaiyoContent td {
	padding: 2rem 2.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	border: 1px solid #ccc;
}

#day .gaiyoContent th {
	width: 18rem;
}

#day .pdfLink {
	margin-top: 4rem;
}

#day .pdfLink a {
	display: inline-flex;
	align-items: center;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 1px solid #333;
}

#day .pdfLink a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-left: 1.4rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #333;
	color: #fff;
	content: "\25B6\FE0E";
}

#day .gaiyoPhoto {
	width: 50rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#day .gaiyoPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

/* 1日の過ごし方 */

#day .daySec {
	margin: 8rem 0;
}

#day .dayInner {
	position: relative;
}

#day .dayLead {
	margin-bottom: 3.5rem;
}

#day .dayLead p {
	font-size: 1.8rem;
	line-height: 1.6;
}

#day .daySlider {
	width: 100%;
}

#day .daySliderTrack {
	display: flex;
	width: max-content;
	animation: daySlide 35s linear infinite;
}

#day .dayPhoto {
	width: 35rem;
	margin-right: 3rem;
	flex-shrink: 0;
}

#day .dayPhoto img {
	display: block;
	width: 100%;
	height: 25rem;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
}

#day .dayPhoto figcaption {
	margin-top: 1.4rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.04em;
}

#day .daySchedule {
	display: flex;
	justify-content: space-between;
	width: 116rem;
	margin: 6rem auto 0;
}

#day .dayScheduleBox {
	width: 54rem;
}

#day .dayScheduleTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18rem;
	height: 5rem;
	margin: 0 auto 2rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.12em;
	border-radius: 999px;
	color: #fff;
}

#day .dayScheduleTitle.morning {
	background: #ff8daf;
}

#day .dayScheduleTitle.afternoon {
	background: #58b5f2;
}

#day .daySchedule table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1.2rem;
	overflow: hidden;
}

#day .daySchedule th,
#day .daySchedule td {
	padding: 2.2rem 2.8rem;
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: 500;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

#day .daySchedule tr:last-child th,
#day .daySchedule tr:last-child td {
	border-bottom: none;
}

#day .daySchedule th {
	width: 13rem;
	text-align: center;
	background: #e9e3d7;
	font-weight: 500;
}

#day .daySchedule td strong {
	display: inline-block;
	margin-bottom: 0.4rem;
	font-weight: 500;
}

#day .daySchedule td {
	line-height: 1.6;
}

#day .daySchedule td .scheduleSub {
	display: inline-block;
	margin-bottom: 1rem;
	font-size: 1.5rem;
	line-height: 1.6;
	font-weight: 300;
	color: #666;
}

#day .daySchedule td .scheduleSub a {
	color: #3366cc;
	text-decoration: underline;
	text-underline-offset: 0.2rem;
}

/* パワーリハビリ */

#day .rehaSec {
	padding-top: 2rem;
}

#day .rehaInner {
	position: relative;
}

#day .rehaTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 3rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#day .rehaTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#day .rehaTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

/* 空き状況カレンダー */

#day .calenderSec {
	margin-top: 0;
	padding: 8rem 0 10rem;
	background: #f2eee8;
}

#day .calenderInner {
	width: 116rem;
	margin: 0 auto;
}

#day .calenderHead {
	display: flex;
	align-items: center;
	margin-bottom: 5rem;
}

#day .calenderHead .secTitle {
	margin-bottom: 0;
}

#day .calenderLead {
	margin-left: 4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.7;
}

#day .calBox {
	width: 100%;
}

#day .calTarget {
	display: block;
	float: left;
	width: 20rem;
	padding-top: 1rem;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
	clear: both;
}

#day .calTb {
	width: calc(100% - 24rem);
	margin: 0 0 6rem auto;
	border-collapse: collapse;
	background: #fff;
}

#day .calTb:last-child {
	margin-bottom: 0;
}

#day .calTb th,
#day .calTb td {
	width: 14.285%;
	border: 1px solid #ccc;
}

#day .calTb th {
	height: 6rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	background: #ffe5ef;
}

#day .calTb td {
	position: relative;
	height: 7rem;
	padding: 1rem;
	font-size: 1.8rem;
	line-height: 1;
	text-align: right;
	vertical-align: top;
}

#day .calTb .sun {
	color: #ff2222;
}

#day .calTb .sat {
	color: #58b5f2;
}

#day .calTb .cfont05 {
	color: #999;
}

#day .calTb .akisuu {
	position: absolute;
	left: 50%;
	bottom: 1.8rem;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1;
	transform: translateX(-50%);
}

#day .calTb .holiday {
	background: rgba(255, 141, 175, 0.18);
}

#day .calTb .today {
	background: rgba(88, 181, 242, 0.12);
}


/* パワーリハビリ */

#day .rehaSec {
	padding-top: 2rem;
}

#day .rehaInner {
	position: relative;
}

#day .rehaTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 4rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#day .rehaTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#day .rehaTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#day .rehaLeadBox {
	padding: 5rem 6rem;
	border-radius: 1.5rem;
	background: rgba(255, 141, 175, 0.18);
}

#day .rehaLeadBox h4 {
	margin-bottom: 2.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
}

#day .rehaLeadBox p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
}

#day .rehaEffectList {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
	margin-top: 4rem;
}

#day .rehaEffectBox {
	min-height: 26rem;
	padding: 3rem 4rem;
	border: 2px solid #f57cb0;
	border-radius: 1.5rem;
	background: #fff;
}

#day .rehaEffectBox h4 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
	font-weight: 700;
	color: #f57cb0;
}

#day .rehaEffectBox p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
}

#day .rehaMachine {
	margin-top: 5.5rem;
}

#day .rehaSubTitle {
	display: inline-flex;
	align-items: center;
	margin-bottom: 3rem;
	padding: 1rem 2.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#day .rehaMachineList {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 3rem;
	row-gap: 6rem;
}

#day .rehaMachinePhoto {
	border-radius: 1.5rem;
	overflow: hidden;
}

#day .rehaMachinePhoto img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}

#day .rehaMachineBox h5 {
	margin-top: 2rem;
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
}

#day .rehaMachineBox p {
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.6;
}

/* ご注意 */

#day .cautionSec {
	padding: 8rem 0 10rem;
	background: rgba(255, 141, 175, 0.2);
}

#day .cautionInner {
	width: 116rem;
	margin: 0 auto;
}

#day .cautionBox {
	margin-top: 4rem;
	padding: 6rem 7rem;
	border-radius: 1.5rem;
	background: #fff;
}

#day .cautionBlock h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2rem;
	padding: 1rem 2rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.2);
}

#day .cautionBlock h4::before {
	display: none;
	width: 2.8rem;
	height: 2.8rem;
	margin-right: 1rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

#day .cautionBlock h4.iconHeart::before,
#day .cautionBlock h4.iconWeather::before {
	display: block;
}

#day .cautionBlock h4.iconHeart::before {
	background-image: url("../image/common/caution_heart.png");
}

#day .cautionBlock h4.iconWeather::before {
	background-image: url("../image/common/caution_weather.png");
}

#day .cautionList {
	margin-top: 0;
}

#day .cautionList li {
	position: relative;
	padding-left: 2.2rem;
	margin-bottom: 1rem;
	font-size: 1.8rem;
	line-height: 1.6;
}

#day .cautionList li:last-child {
	margin-bottom: 0;
}

#day .cautionList li::before {
	position: absolute;
	top: 0.85em;
	left: 0;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: #ff8daf;
	transform: translateY(-50%);
	content: "";
}

#day .cautionList em {
	font-style: normal;
	font-weight: 700;
	color: #ff0000;
}

#day .cautionList strong {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

#day .cautionTelBox {
	display: flex;
	align-items: center;
	margin-top: 3rem;
}

#day .cautionTelBox span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28rem;
	height: 5rem;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
	background: #ff8daf;
	color: #fff;
}

#day .cautionTelBox strong {
	margin-left: 3rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
}

#day .cautionNote {
	margin-top: 2rem;
	font-size: 1.6rem;
	line-height: 1.6;
}

#day .cautionBox hr {
	margin: 4.5rem 0;
	border: none;
	border-top: 1px solid #ccc;
}



/*--法人概要----------------------------------------------------------*/

#summary #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/* Page Head */

#summary .pageHead {
	position: relative;
}

#summary .pageHeadInner {
	position: relative;
	min-height: 12rem;
}

#summary .pageHeadContent {
	width: 74rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#summary .pageTitle {
	margin-bottom: 0;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#summary .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 4rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#summary .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#summary .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#summary .summaryTable {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 0.5rem;
	overflow: hidden;
}

#summary .summaryTable th,
#summary .summaryTable td {
	padding: 3rem 3.5rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#summary .summaryTable th {
	width: 24rem;
	background: #e9e3d7;
}

#summary .summaryTable tr:last-child th,
#summary .summaryTable tr:last-child td {
	border-bottom: none;
}

#summary .summaryTable th:last-child,
#summary .summaryTable td:last-child {
	border-right: none;
}

#summary .summaryBusiness {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 5rem;
}

#summary .summaryBusinessText {
	flex: 1;
}

#summary .summaryPhoto {
	width: 38rem;
	margin-top: 0.5rem;
	border-radius: 0.8rem;
	overflow: hidden;
	flex-shrink: 0;
}

#summary .summaryPhoto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
}

/*--アクセス----------------------------------------------------------*/

#access #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

#access .pageHeadContent {
	width: 74rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#access .pageTitle {
	margin-bottom: 2rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#access .accessLead {
	margin-bottom: 8rem;
	text-align: center;
}

#access .accessLead p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
}

#access .accessBlock {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 3rem;
}

#access .accessText {
	width: 50rem;
}

#access .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 24rem;
	height: 7rem;
	margin-bottom: 4rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#access .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#access .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#access .accessWay {
	margin-bottom: 4rem;
}

#access .accessWay:last-child {
	margin-bottom: 0;
}

#access .accessWay h4 {
	display: inline-block;
	min-width: 31rem;
	margin-bottom: 1.6rem;
	padding: 0.8rem 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#access .accessWay p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
}

#access .accessPhoto,
#access .accessImageMap {
	width: 55rem;
	border: 1px solid #ddd;
	border-radius: 1rem;
	overflow: hidden;
}

#access .accessPhoto img,
#access .accessImageMap img {
	display: block;
	width: 100%;
}

#access .accessAddress p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
}

#access .accessName {
	margin-bottom: 2rem;
	font-size: 1.9rem;
	font-weight: 700 !important;
}


#access .googleMap {
	width: 100%;
	height: 54rem;
	border-radius: 1rem;
	overflow: hidden;
}

#access .googleMap iframe {
	display: block;
	width: 100%;
	height: 100%;
}

/*--施設案内----------------------------------------------------------*/

#guide #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/* Page Head */

#guide .pageHead {
	position: relative;
}

#guide .pageHeadInner {
	position: relative;
	min-height: 18rem;
}

#guide .pageHeadContent {
	width: 88rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#guide .pageTitle {
	margin-bottom: 4rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#guide .pageAnchorNav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3.2rem;
}

#guide .pageAnchorNav a {
	display: block;
	padding: 0 0.2rem 0.5rem 0.2rem;
	border-bottom: 0.1rem solid #666;
}

#guide .pageAnchorNav a:hover {
	color: #f57cb0;
}

#guide .pageAnchorNav span {
	position: relative;
	display: inline-block;
	padding-right: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#guide .pageAnchorNav span::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding-top: 0.1rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	transform: translateY(-50%);
	content: "\25BC\FE0E";
}


/*------------------------------------------------------------
  Guide Rinen
------------------------------------------------------------*/

#guide .guideRinenSec {
	padding-top: 2rem;
}

#guide .guideRinenInner {
	position: relative;
	width: 100%;
}

#guide .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 48rem;
	height: 7rem;
	margin-bottom: 6rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#guide .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#guide .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#guide .guideRinenLead {
	display: block;
}

#guide .guideRinenText {
	width: 78rem;
}

#guide .guideRinenBlock {
	margin-bottom: 7rem;
}

#guide .guideRinenBlock:last-child {
	margin-bottom: 0;
}

#guide .guideRinenBlock h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2.5rem;
	padding: 1rem 2.2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#guide .guideRinenBlock p {
	width: 70%;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

#guide .guideRinenBlock .guidePolicyList p {
	width: auto;
}

#guide .guideRinenPhoto {
	position: absolute;
	top: 0;
	right: 0;
	width: 50rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#guide .guideRinenPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#guide .guidePolicyList {
	margin-top: -1rem;
}

#guide .guidePolicyList li {
	display: flex;
	align-items: center;
	padding: 1rem 0 1rem 2rem;
	border-bottom: 1px solid #ccc;
}

#guide .guidePolicyList span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.2rem;
	height: 3.2rem;
	margin-right: 1rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	flex-shrink: 0;
}

#guide .guidePolicyList p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#guide .guideSummaryText {
	margin-top: 4rem;
}

#guide .guideSummaryText p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.08em;
}
#guide .guideSummaryText p.guideTxtR {
	margin-top: 1rem;
	text-align: right;
}

#guide .guideSummary {
	margin-top: 7rem;
}

#guide .guideSummary h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2.5rem;
	padding: 1rem 2.2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#guide .guideSummaryTable {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 0.8rem;
	overflow: hidden;
}

#guide .guideSummaryTable th,
#guide .guideSummaryTable td {
	padding: 2.8rem 3.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#guide .guideSummaryTable th {
	width: 24rem;
	background: #e9e3d7;
}

#guide .guideSummaryTable tr:last-child th,
#guide .guideSummaryTable tr:last-child td {
	border-bottom: none;
}

#guide .guideSummaryTable th:last-child,
#guide .guideSummaryTable td:last-child {
	border-right: none;
}

#guide .guideHospitalName {
	margin-bottom: 2rem;
	font-weight: 700;
}

#guide .guideHospitalPhoto {
	width: 50rem;
	margin: 2rem 0 3rem;
	border-radius: 1rem;
	overflow: hidden;
}

#guide .guideHospitalPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#guide .guideHospitalInfo {
	margin-top: 2.5rem;
}

#guide .guideHospitalInfo a {
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

#guide .guideAccessBtn {
	display: flex;
	justify-content: flex-end;
	margin-top: 4rem;
}

#guide .guideAccessBtn a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	border-bottom: 1px solid #333;
}

#guide .guideAccessBtn a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-left: 1.2rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #333;
	color: #fff;
	content: "\25B6\FE0E";
}

/*------------------------------------------------------------
  Guide Saigai
------------------------------------------------------------*/

#guide .guideSaigaiSec {
	padding-top: 10rem;
}

#guide .guideSaigaiInner {
	width: 100%;
}

#guide .guideSaigaiHead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 5rem;
}

#guide .guideSaigaiText {
	width: 76rem;
}

#guide .guideSaigaiText .secTitle {
	margin-bottom: 3.5rem;
}

#guide .guideSaigaiText p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

#guide .guideSaigaiIllust {
	width: 26rem;
	margin: 1rem 10rem 0 0;
}

#guide .guideSaigaiIllust img {
	display: block;
	width: 100%;
	height: auto;
}

#guide .guideSaigaiContent {
	margin-bottom: 8rem;
}

#guide .guideSaigaiContent h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 3rem;
	padding: 1rem 2.2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#guide .guideSaigaiContent p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

#guide .guideSaigaiPhotoList {
	display: flex;
	justify-content: space-between;
	margin-top: 4rem;
}

#guide .guideSaigaiPhotoList figure {
	width: 55rem;
}

#guide .guideSaigaiPhotoList img {
	display: block;
	width: 100%;
	border-radius: 1.5rem;
	object-fit: cover;
	object-position: center;
}

#guide .guideSaigaiPhotoList figcaption {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	font-weight: 500;
}

/* 非常食 */

#guide .guideSaigaiFood {
	margin-top: 8rem;
}

#guide .guideSaigaiFood h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 3.5rem;
	padding: 1rem 2.2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#guide .guideFoodLead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#guide .guideFoodText {
	width: 68rem;
}

#guide .guideFoodText p {
	margin-bottom: 3rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#guide .guideFoodText p:last-child {
	margin-bottom: 0;
}

#guide .guideFoodTableImage {
	width: 42rem;
	padding: 3rem;
	border-radius: 1.5rem;
	background: #e9e3d7;
}

#guide .guideFoodTableImage img {
	display: block;
	width: 100%;
	height: auto;
}

#guide .guideFoodPhotoList {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem;
	margin-top: 5rem;
}

#guide .guideFoodPhotoList figure {
	width: 100%;
}

#guide .guideFoodPhotoList img {
	display: block;
	width: 100%;
	height: 18rem;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
}

#guide .guideFoodPhotoList figcaption {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

/* 施設内マップ */

#guide .guideMapSec {
	margin: 10rem -6rem 0 -6rem;
	padding: 8rem 4rem 10rem;
	background: rgba(255, 141, 175, 0.2);
}

#guide .guideMapInner {
	width: 116rem;
	margin: 0 auto;
}

#guide .guideMapSec .secTitle {
	margin-bottom: 4rem;
}

#guide .guideMapBox {
	padding: 5rem 6rem 6rem;
	border-radius: 1.5rem;
	background: #fff;
}

#guide .guideMapLead {
	margin-bottom: 3.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#guide .guideMapImage {
	width: 96rem;
	margin: 0 auto;
}

#guide .guideMapImage img {
	display: block;
	width: 100%;
	height: auto;
}

#guide .guideMapSlider {
	width: 100%;
	margin-top: 6rem;
	overflow: hidden;
}

#guide .guideMapSliderTrack {
	display: flex;
	width: max-content;
	animation: guideMapSlide 35s linear infinite;
}

#guide .guideMapPhoto {
	width: 35rem;
	margin-right: 3rem;
	flex-shrink: 0;
}

#guide .guideMapPhoto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
}

#guide .guideMapPhoto figcaption {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

@keyframes guideMapSlide {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/*--施設の食事----------------------------------------------------------*/

#kondate #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/*------------------------------------------------------------
  Kondate Page Head
------------------------------------------------------------*/

#kondate .pageHead {
	position: relative;
}

#kondate .pageHeadInner {
	position: relative;
	min-height: 18rem;
}

#kondate .pageHeadContent {
	width: 88rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#kondate .pageTitle {
	margin-bottom: 4rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#kondate .pageAnchorNav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3.2rem;
}

#kondate .pageAnchorNav a {
	display: block;
	padding: 0 0.2rem 0.5rem 0.2rem;
	border-bottom: 0.1rem solid #666;
}

#kondate .pageAnchorNav a:hover {
	color: #f57cb0;
}

#kondate .pageAnchorNav span {
	position: relative;
	display: inline-block;
	padding-right: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#kondate .pageAnchorNav span::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding-top: 0.1rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	transform: translateY(-50%);
	content: "\25BC\FE0E";
}

/*------------------------------------------------------------
  Common Title
------------------------------------------------------------*/

#kondate .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 28rem;
	height: 7rem;
	margin-bottom: 4rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#kondate .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#kondate .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

/*------------------------------------------------------------
  About
------------------------------------------------------------*/

#kondate .aboutShokjiSec {
	padding: 2rem 0 0 0;
}

#kondate .aboutShokjiInner {
	width: 100%;
}

#kondate .aboutShokjiLead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#kondate .aboutShokjiText {
	width: 60rem;
	padding-top: 2rem;
}

#kondate .aboutShokjiText p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
}

#kondate .aboutShokjiPhoto {
	width: 50rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#kondate .aboutShokjiPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

/* point */

#kondate .aboutPoint {
	margin-bottom: 8rem;
}

#kondate .aboutPoint h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2rem;
	padding: 1.4rem 2.8rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#kondate .aboutPointList li {
	position: relative;
	padding: 1.2rem 0 1.2rem 5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	border-bottom: 1px solid #ccc;
}

#kondate .aboutPointList li::before {
	position: absolute;
	top: 2.4rem;
	left: 2rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #ff8daf;
	content: "";
}

/* food type */

#kondate .foodType h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2rem;
	padding: 1.2rem 2.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#kondate .foodTypeLead {
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
}

#kondate .foodTypeTable {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1rem;
	overflow: hidden;
}

#kondate .foodTypeTable th,
#kondate .foodTypeTable td {
	padding: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#kondate .foodTypeTable th {
	background: #e9e3d7;
}

#kondate .foodTypeTable tr:last-child th,
#kondate .foodTypeTable tr:last-child td {
	border-bottom: none;
}

#kondate .foodTypeTable th:last-child,
#kondate .foodTypeTable td:last-child {
	border-right: none;
}

/*------------------------------------------------------------
  Weekly Menu
------------------------------------------------------------*/

#kondate .weeklyMneuSec {
	padding: 8rem 0 0 0;
}

#kondate .weeklyMneuInner > p {
	margin-bottom: 4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
}

#kondate .weeklyMenuTable {
	width: 100%;
	overflow: hidden;
}

#kondate .weeklyMenuTable table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1rem;
	background: #fff;
	overflow: hidden;
}

#kondate .weeklyMenuTable table tr:nth-child(n+9) {
	display: none;
}

#kondate .weeklyMenuTable td {
	padding: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#kondate .weeklyMenuTable tr:first-child td {
	padding: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	background: #e9e3d7;
}

#kondate .weeklyMenuTable tr:last-child td {
	border-bottom: none;
}

#kondate .weeklyMenuTable td:last-child {
	border-right: none;
}

#kondate .weeklyMenuTable table tr:nth-child(8) td {
	border-bottom: none;
}

#kondate .weeklyMenuTable .column-1 {
	width: 10rem;
	text-align: center;
}

#kondate .weeklyMenuTable .column-2 {
	width: 8rem;
	text-align: center;
}

#kondate .weeklyMenuTable .column-3,
#kondate .weeklyMenuTable .column-4,
#kondate .weeklyMenuTable .column-5,
#kondate .weeklyMenuTable .column-6 {
	width: calc((100% - 18rem) / 4);
}

#kondate .weeklyMenuTable .column-7,
#kondate .weeklyMenuTable .column-8 {
	display: none;
}

/*------------------------------------------------------------
  Kondate News
------------------------------------------------------------*/

#kondate .kondateSec {
	padding: 8rem 0 0 0;
}

#kondate .kondateInner {
	width: 100%;
}

#kondate .kondateNewsBox {
	margin-top: 5rem;
	padding: 9rem 12rem 7rem;
	border-radius: 1rem;
	background: #f2eee8;
}

#kondate .kondateNewsPhoto {
	width: 74rem;
	margin: 0 auto 5rem;
}

#kondate .kondateNewsPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#kondate .kondateNewsHead {
	margin-bottom: 4rem;
	padding-bottom: 3rem;
	text-align: center;
	border-bottom: 1px solid #ccc;
}

#kondate .kondateNewsHead h4 {
	margin-bottom: 1rem;
	font-size: 2.4rem;
	font-weight: 700;
}

#kondate .kondateNewsHead time {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

#kondate .kondateNewsText p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#kondate .kondateNewsList {
	margin-top: 7rem;
}

#kondate .kondateNewsItem {
	display: flex;
	align-items: flex-start;
	margin-bottom: 7rem;
}

#kondate .kondateNewsItem:last-child {
	margin-bottom: 0;
}

#kondate .kondateNewsItemPhoto {
	width: 33rem;
	border-radius: 1rem;
	overflow: hidden;
	flex-shrink: 0;
}

#kondate .kondateNewsItemPhoto img {
	display: block;
	width: 100%;
	height: 22rem;
	object-fit: cover;
	object-position: center;
}

#kondate .kondateNewsItemContent {
	width: calc(100% - 38rem);
	margin-left: 5rem;
}

#kondate .kondateNewsItemContent h4 {
	position: relative;
	margin-bottom: 1.4rem;
	padding-left: 2.6rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

#kondate .kondateNewsItemContent h4::before {
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #ff8daf;
	transform: translateY(-50%);
	content: "";
}

#kondate .kondateNewsItemContent time {
	display: block;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	border-bottom: 1px solid #ccc;
}

#kondate .kondateNewsItemContent p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
}

#kondate .kondateNewsBtn {
	display: flex;
	justify-content: center;
	margin-top: 8rem;
}

#kondate .kondateNewsBtn a {
	display: inline-flex;
	align-items: center;
	padding-bottom: 0.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	border-bottom: 1px solid #333;
}

#kondate .kondateNewsBtn a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.5rem;
	margin-left: 1rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #333;
	color: #fff;
	content: "\25B6\FE0E";
}

#kondate .kondateNewsBtn a:hover {
	
}

/*------------------------------------------------------------
  Gyouji
------------------------------------------------------------*/

#kondate .gyoujiSec {
	margin-top: 0;
	padding: 8rem 0 8rem 0;
	background: rgba(255, 141, 175, 0.2);
}

#kondate .gyoujiInner {
	width: 116rem;
	margin: 0 auto;
}

#kondate .gyoujiBox {
	position: relative;
	padding: 5rem 5rem 6rem;
	border-radius: 1rem;
	background: #fff;
}

#kondate .gyoujiHead {
	position: relative;
	min-height: 72rem;
}

#kondate .gyoujiContent {
}

#kondate .gyoujiContent h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 3rem;
	padding: 1.3rem 2.8rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.2);
}

#kondate .gyoujiList {
}

#kondate .gyoujiList li {
	display: flex;
	align-items: center;
	padding: 1.2rem 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	border-bottom: 1px solid #ccc;
}
#kondate .gyoujiList li:nth-child(-n+6) {
	width: 55rem;
}

#kondate .gyoujiList li::before {
	display: block;
	width: 1rem;
	height: 1rem;
	margin-right: 2.2rem;
	border-radius: 50%;
	background: #ff8daf;
	content: "";
}

#kondate .gyoujiList span {
	display: inline-block;
	width: 8rem;
	flex-shrink: 0;
}

/* photo */

#kondate .gyoujiPhotoWrap {
	position: absolute;
	top: -15rem;
	right: 0;
	width: 42rem;
}

#kondate .gyoujiPhoto {
	position: relative;
}

#kondate .gyoujiPhoto img {
	display: block;
	width: 100%;
	border: 1px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.12);
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

#kondate .gyoujiPhoto p {
	position: absolute;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.06em;
}

#kondate .gyoujiPhoto01 {
	width: 34rem;
	margin-left: auto;
	margin-right: -8rem;
}

#kondate .gyoujiPhoto01 p {
	left: -15rem;
	bottom: 10rem;
}

#kondate .gyoujiPhoto02 {
	width: 24rem;
	margin-top: -3rem;
	margin-left: 2rem;
}

#kondate .gyoujiPhoto02 p {
	right: -12rem;
	bottom: 2rem;
}

/*------------------------------------------------------------
  Kisetsu Gallery
------------------------------------------------------------*/

#kondate .kisetsuGallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 5rem;
	margin-top: 6rem;
}

#kondate .kisetsuItem {
	width: 32%;
}

#kondate .kisetsuPhoto {
	border-radius: 1rem;
	overflow: hidden;
}

#kondate .kisetsuPhoto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

#kondate .kisetsuItem p {
	margin-top: 1.8rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.04em;
}

/*--------------------------------------
 お知らせ一覧
--------------------------------------*/
#info .subPage {
	margin: 24rem auto 0 auto;
    padding: 8rem 6rem 0 6rem;
}

#info #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

#info .pageHeadContent {
	width: 74rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#info .pageTitle {
	margin-bottom: 2rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#info .blogArchiveInner {
	width: min(100% - 8rem, 120rem);
	margin: 0 auto;
}

#info .blogArchiveLead {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	margin-top: 3rem;
	margin-bottom: 8rem;
}

#info .blogPickupList {
	display: flex;
	flex-direction: column;
	gap: 6rem;
	margin-bottom: 10rem;
}

#info .blogPickupItem {
	display: flex;
	gap: 4rem;
}

#info .blogPickupPhoto {
	width: 30rem;
	flex-shrink: 0;
}

#info .blogPickupPhoto a {
	display: block;
}

#info .blogPickupPhoto img {
	width: 100%;
	display: block;
	border-radius: 1rem;
	box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

#info .blogPickupBody {
	flex: 1;
}

#info .blogPickupTitle {
	margin-bottom: 1rem;
	font-size: 2.5rem;
	font-weight: 700;
}

#info .blogPickupTitle a {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	color: #333;
	text-decoration: none;
	transition: .3s;
}

#info .blogPickupTitle a:hover {
	color: #f57cb0;
}

#info .blogDot {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	flex-shrink: 0;
}

.blogDot.is-news {
	background: #ff9628;
}

.blogDot.is-event {
	background: #b87ad4;
}

.blogDot.is-meals {
	background: #65b93e;
}

.blogDot.is-training {
	background: #58b5f2;
}

.blogPickupBody time {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	color: #666;
	margin-bottom: 1.5rem;
}

.blogPickupBody p {
	font-size: 1.8rem;
	line-height: 2;
	border-top: 1px solid #ddd;
	padding-top: 1.5rem;
}

.blogArchiveList {
	border-top: 1px solid #ddd;
	margin-bottom: 6rem;
}

.blogArchiveList li {
	border-bottom: 1px solid #ddd;
}

.blogArchiveList a {
	display: flex;
	align-items: center;
	gap: 4rem;
	padding: 2.2rem 1rem;
	color: #333;
	text-decoration: none;
	transition: .3s;
}

.blogArchiveList a:hover {
	background: rgba(245,124,176,.08);
}

.blogArchiveList time {
	width: 20rem;
	flex-shrink: 0;
	font-size: 1.8rem;
	font-weight: 500;
	position: relative;
	padding-left: 2rem;
}

.blogArchiveList time::before {
	content: "";
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	background: #f39a44;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}


.blogArchiveList li.is-news time::before {
	background: #ff9628;
}

.blogArchiveList li.is-event time::before {
	background: #b87ad4;
}

.blogArchiveList li.is-meals time::before {
	background: #65b93e;
}

.blogArchiveList li.is-training time::before {
	background: #58b5f2;
}

.blogArchiveList span {
	font-size: 1.9rem;
	font-weight: 500;
}

.blogPager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6rem;
	padding-bottom: 10rem;
}

.blogPager a {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 2.2rem;
	font-weight: 700;
	color: #333;
	text-decoration: none;
	border-bottom: 1px solid #444;
	padding-bottom: 5px;
}

.blogPager img {
	width: 3rem;
}

.blogBnrSec {
	margin-top: 0;
	padding: 6rem 0;
	background: rgba(255, 141, 175, 0.2);
}

.blogBnrInner {
	width: 130rem;
	margin: 0 auto;
}

.blogBnrList {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.blogBnrList img {
	display: block;
	width: 100%;
	transition: .3s;
	border-radius: 1.8rem;
}

.blogBnrList a:hover img {
	transform: translateY(-4px);
}

/*--------------------------------------
 お知らせ詳細
--------------------------------------*/

#info-detail #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

#info-detail .subPage {
	margin: 24rem auto 0 auto;
	padding: 8rem 6rem 0 6rem;
}

#info-detail .pageHeadContent {
	width: 74rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#info-detail .pageTitle {
	margin-bottom: 2rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#info-detail .blogSingleCategory {
	margin-bottom: 4rem;
	text-align: center;
}

#info-detail .blogSingleCategory span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3.6rem;
	padding: 0 1.8rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 0.6rem;
	background: #65b93e;
	color: #fff;
}

#info-detail .blogSingleCategory span.is-news {
	background: #ff9628;
}

#info-detail .blogSingleCategory span.is-event {
	background: #b87ad4;
}

#info-detail .blogSingleCategory span.is-meals {
	background: #65b93e;
}

#info-detail .blogSingleCategory span.is-training {
	background: #58b5f2;
}


/* 本文エリア */

#info-detail .blogSingleSec {
	width: 116rem;
	margin: 0 auto;
}

#info-detail .blogSingleHead {
	margin-bottom: 6rem;
	padding-top: 3rem;
	border-top: 1px solid #ccc;
}

#info-detail .blogSingleDate {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	text-align: right;
}

/* WordPress本文 */

#info-detail .entryContent {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
	padding-bottom: 8rem;
	margin-bottom: 8rem;
	border-bottom: 1px solid #ccc;
}

#info-detail .entryContent p {
	margin-bottom: 4rem;
}

#info-detail .entryContent p:last-child {
	margin-bottom: 0;
}

#info-detail .entryContent img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* 1枚画像 */

#info-detail .entryContent > p img {
	margin: 0;
}

/* WPカラムブロック */

#info-detail .wp-block-columns {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
	margin: 5rem 0;
}

#info-detail .wp-block-column {
	width: calc(50% - 2rem);
}

#info-detail .wp-block-column figure {
	margin: 0;
}

#info-detail .wp-block-column img {
	display: block;
	width: 100%;
	height: auto;
}

/* ページャーは一覧と同じ .blogPager を使用 */

/*--------------------------------------
  Site Menu
--------------------------------------*/

.siteMenu {
	position: fixed;
	inset: 0;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.siteMenu.is-open {
	opacity: 1;
	visibility: visible;
}

.siteMenuBg {
	position: absolute;
	inset: 0;
	background: rgba(80, 40, 55, 0.28);
	backdrop-filter: blur(0.3rem);
	cursor: pointer;
}

.siteMenuPanel {
	position: absolute;
	top: 2rem;
	right: calc((100vw - 140rem) / 2);
	width: min(96rem, calc(100vw - 4rem));
	max-height: calc(100vh - 4rem);
	padding: 3rem 5rem;
	border-radius: 3rem;
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 1.4rem 3rem rgba(170, 80, 110, 0.22);
	overflow-y: auto;
	transform: translateY(-1rem);
	transition: transform 0.35s ease;
}

.siteMenu.is-open .siteMenuPanel {
	transform: translateY(0);
}

.siteMenuHead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #f5c5d5;
}

.siteMenuTitle {
	position: relative;
	padding-left: 2.4rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #f57cb0;
}

.siteMenuTitle::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #f57cb0;
	transform: translateY(-50%);
	content: "";
}

.siteMenuClose {
	position: relative;
	width: 5.6rem;
	height: 5.6rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #f57cb0;
	cursor: pointer;
}

.siteMenuClose span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2.8rem;
	height: 0.2rem;
	border-radius: 999px;
	background: #fff;
}

.siteMenuClose span:first-child {
	transform: translate(-50%, -50%) rotate(45deg);
}

.siteMenuClose span:last-child {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.siteMenuMain {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.4rem;
	margin-bottom: 1rem;
}

.siteMenuMain a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 5rem;
	padding: 1rem 1.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
	background: rgba(255, 141, 175, 0.18);
	transition: 0.3s;
}

.siteMenuRecruit a {
	background: #ff8daf;
	color: #fff;
	box-shadow: 0 0.6rem 1.4rem rgba(210, 90, 130, 0.18);
}

.siteMenuRecruit img {
	width: 2.8rem;
	margin-right: 0.8rem;
	flex-shrink: 0;
}

.siteMenuService {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem 2rem;
	margin-bottom: 2rem;
}

.siteMenuService a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 5.2rem;
	padding: 1.2rem 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	border-bottom: 1px solid #ddd;
	transition: 0.3s;
}

.siteMenuService a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-left: 2rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #f57cb0;
	color: #fff;
	content: "\25B6\FE0E";
	flex-shrink: 0;
}

.siteMenuNews {
	padding: 2.5rem 3rem 3.0rem;
	border-radius: 2rem;
	background: rgba(255, 141, 175, 0.12);
}

.siteMenuNewsHead {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2.2rem;
}

.siteMenuNewsHead a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 4rem 0.8rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	border-bottom: 1px solid #f57cb0;
	color: #f57cb0;
	transition: 0.3s;
}

.siteMenuNewsHead a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	margin-left: 1.2rem;
	padding-left: 0.2rem;
	font-size: 0.9rem;
	line-height: 1;
	border-radius: 50%;
	background: #f57cb0;
	color: #fff;
	content: "\25B6\FE0E";
}

.siteMenuNewsList {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.4rem 2rem;
}

.siteMenuNewsList a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 5.2rem;
	padding: 1rem 1.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 0.4rem 1rem rgba(180, 80, 110, 0.08);
	transition: 0.3s;
}

.siteMenu a:hover {
	color: #f57cb0;
}

.siteMenuMain a:hover,
.siteMenuNewsList a:hover {
	background: #ff8daf;
	color: #fff;
}

.siteMenuRecruit a:hover {
	background: #ff8daf;
	color: #fff;
	opacity: 0.8;
}

body.is-menuOpen {
	overflow: hidden;
}

/*--施設の食事----------------------------------------------------------*/

#foodmenu #main {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
}

/* Page Head */

#foodmenu .pageHead {
	position: relative;
}

#foodmenu .pageHeadInner {
	position: relative;
	min-height: 18rem;
}

#foodmenu .pageHeadContent {
	width: 88rem;
	margin: 0 auto;
	padding-top: 1rem;
	text-align: center;
}

#foodmenu .pageTitle {
	margin-bottom: 4rem;
	font-size: 4.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

#foodmenu .pageAnchorNav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3.2rem;
}

#foodmenu .pageAnchorNav a {
	display: block;
	padding: 0 0.2rem 0.5rem 0.2rem;
	border-bottom: 0.1rem solid #666;
}

#foodmenu .pageAnchorNav a:hover {
	color: #f57cb0;
}

#foodmenu .pageAnchorNav span {
	position: relative;
	display: inline-block;
	padding-right: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#foodmenu .pageAnchorNav span::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding-top: 0.1rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50%;
	background: #ff8daf;
	color: #fff;
	transform: translateY(-50%);
	content: "\25BC\FE0E";
}

#foodmenu .secTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 28rem;
	height: 7rem;
	margin-bottom: 4rem;
	padding: 0 3.5rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#foodmenu .secTitle span {
	position: relative;
	padding-left: 2.2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
}

#foodmenu .secTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

/* About */

#foodmenu .foodAboutSec {
	padding: 2rem 0 0 0;
}

#foodmenu .foodAboutInner {
	width: 100%;
}

#foodmenu .foodAboutLead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#foodmenu .foodAboutText {
	width: 63rem;
	padding-top: 2rem;
}

#foodmenu .foodAboutText p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
}

#foodmenu .foodAboutPhoto {
	width: 50rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#foodmenu .foodAboutPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#foodmenu .foodPoint {
	margin-top: 6rem;
	margin-bottom: 8rem;
}

#foodmenu .foodPoint h4,
#foodmenu .foodType h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2rem;
	padding: 1.4rem 2.8rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.18);
}

#foodmenu .foodPointList li {
	position: relative;
	padding: 1.2rem 0 1.2rem 5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	border-bottom: 1px solid #ccc;
}

#foodmenu .foodPointList li::before {
	position: absolute;
	top: 2.4rem;
	left: 2rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #ff8daf;
	content: "";
}

#foodmenu .foodTypeLead {
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
}

#foodmenu .foodTypeTable {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1rem;
	overflow: hidden;
}

#foodmenu .foodTypeTable th,
#foodmenu .foodTypeTable td {
	padding: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#foodmenu .foodTypeTable th {
	background: #e9e3d7;
}

#foodmenu .foodTypeTable tr:last-child th,
#foodmenu .foodTypeTable tr:last-child td {
	border-bottom: none;
}

#foodmenu .foodTypeTable th:last-child,
#foodmenu .foodTypeTable td:last-child {
	border-right: none;
}

/* Weekly Menu */

#foodmenu .weeklyMenuSec {
	padding: 8rem 0 0 0;
}

#foodmenu .weeklyMenuInner > p {
	margin-bottom: 4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
}

#foodmenu .weeklyMenuTable {
	width: 100%;
	overflow: hidden;
}

#foodmenu .weeklyMenuTable table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #ccc;
	border-radius: 1rem;
	background: #fff;
	overflow: hidden;
}

#foodmenu .weeklyMenuTable table caption {
	display: none;
}

#foodmenu .weeklyMenuTable table tr:nth-child(n+9) {
	display: none;
}

#foodmenu .weeklyMenuTable td {
	padding: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#foodmenu .weeklyMenuTable tr:first-child td {
	padding: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	background: #e9e3d7;
}

#foodmenu .weeklyMenuTable tr:last-child td,
#foodmenu .weeklyMenuTable table tr:nth-child(8) td {
	border-bottom: none;
}

#foodmenu .weeklyMenuTable td:last-child {
	border-right: none;
}

#foodmenu .weeklyMenuTable .column-1 {
	width: 10rem;
	text-align: center;
	white-space: nowrap;
}

#foodmenu .weeklyMenuTable .column-2 {
	width: 8rem;
	text-align: center;
}

#foodmenu .weeklyMenuTable .column-3,
#foodmenu .weeklyMenuTable .column-4,
#foodmenu .weeklyMenuTable .column-5,
#foodmenu .weeklyMenuTable .column-6 {
	width: calc((100% - 18rem) / 4);
}

#foodmenu .weeklyMenuTable .column-7,
#foodmenu .weeklyMenuTable .column-8 {
	display: none;
}

/* News */

#foodmenu .foodNewsSec {
	padding: 8rem 0 0 0;
}

#foodmenu .foodNewsPickup {
	margin-top: 5rem;
	padding: 9rem 12rem 7rem;
	border-radius: 1rem;
	background: #f2eee8;
}

#foodmenu .foodNewsPickupPhoto {
	width: 74rem;
	margin: 0 auto 5rem;
}

#foodmenu .foodNewsPickupPhoto img {
	display: block;
	width: 100%;
	height: auto;
}

#foodmenu .foodNewsPickupHead {
	margin-bottom: 4rem;
	padding-bottom: 3rem;
	text-align: center;
	border-bottom: 1px solid #ccc;
}

#foodmenu .foodNewsPickupHead h4 {
	margin-bottom: 1rem;
	font-size: 2.4rem;
	font-weight: 700;
}

#foodmenu .foodNewsPickupHead time {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

#foodmenu .foodNewsPickupText p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#foodmenu .foodNewsList {
	margin-top: 7rem;
	margin-bottom: 0;
}



/* Foodmenu: blog archive style for small menu-news articles */
#foodmenu .foodNewsList.blogPickupList {
	display: flex;
	flex-direction: column;
	gap: 6rem;
	margin-top: 7rem;
	margin-bottom: 0;
}

#foodmenu .foodNewsList .blogPickupItem {
	display: flex;
	gap: 4rem;
}

#foodmenu .foodNewsList .blogPickupPhoto {
	width: 30rem;
	flex-shrink: 0;
}

#foodmenu .foodNewsList .blogPickupPhoto a {
	display: block;
}

#foodmenu .foodNewsList .blogPickupPhoto img {
	display: block;
	width: 100%;
	height: 20rem;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
}

#foodmenu .foodNewsList .blogPickupBody {
	flex: 1;
}

#foodmenu .foodNewsList .blogPickupTitle {
	margin-bottom: 1rem;
	font-size: 2.5rem;
	font-weight: 700;
}

#foodmenu .foodNewsList .blogPickupTitle a {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	color: #333;
	text-decoration: none;
	transition: .3s;
}

#foodmenu .foodNewsList .blogPickupTitle a:hover {
	color: #f57cb0;
}

#foodmenu .foodNewsList .blogDot {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	flex-shrink: 0;
}

#foodmenu .foodNewsList .blogPickupBody time {
	display: block;
	margin-bottom: 1.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	color: #666;
}

#foodmenu .foodNewsList .blogPickupBody p {
	padding-top: 1.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	border-top: 1px solid #ddd;
}

#foodmenu .foodNewsBtn {
	display: flex;
	justify-content: center;
	margin-top: 8rem;
}

#foodmenu .foodNewsBtn a {
	display: inline-flex;
	align-items: center;
	padding-bottom: 0.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	border-bottom: 1px solid #333;
}

#foodmenu .foodNewsBtn a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.5rem;
	margin-left: 1rem;
	padding-left: 0.2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 50%;
	background: #333;
	color: #fff;
	content: "\25B6\FE0E";
}

/* Event Menu */

#foodmenu .eventMenuSec {
	margin-top: 0;
	padding: 8rem 0 8rem 0;
	background: rgba(255, 141, 175, 0.2);
}

#foodmenu .eventMenuInner {
	width: 116rem;
	margin: 0 auto;
}

#foodmenu .eventMenuBox {
	position: relative;
	padding: 5rem 5rem 6rem;
	border-radius: 1rem;
	background: #fff;
}

#foodmenu .eventMenuHead {
	position: relative;
	min-height: 72rem;
}

#foodmenu .eventMenuContent h4 {
	display: inline-flex;
	align-items: center;
	margin-bottom: 3rem;
	padding: 1.3rem 2.8rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 141, 175, 0.2);
}

#foodmenu .eventMenuList li {
	display: flex;
	align-items: center;
	padding: 1.2rem 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	border-bottom: 1px solid #ccc;
}

#foodmenu .eventMenuList li:nth-child(-n+6) {
	width: 55rem;
}

#foodmenu .eventMenuList li::before {
	display: block;
	width: 1rem;
	height: 1rem;
	margin-right: 2.2rem;
	border-radius: 50%;
	background: #ff8daf;
	content: "";
}

#foodmenu .eventMenuList span {
	display: inline-block;
	width: 8rem;
	flex-shrink: 0;
}

#foodmenu .eventMenuPhotoWrap {
	position: absolute;
	top: -15rem;
	right: 0;
	width: 42rem;
}

#foodmenu .eventMenuPhoto {
	position: relative;
}

#foodmenu .eventMenuPhoto img {
	display: block;
	width: 100%;
	border: 1px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.12);
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

#foodmenu .eventMenuPhoto p {
	position: absolute;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

#foodmenu .eventMenuPhoto01 {
	width: 34rem;
	margin-left: auto;
	margin-right: -8rem;
}

#foodmenu .eventMenuPhoto01 p {
	left: -15rem;
	bottom: 10rem;
}

#foodmenu .eventMenuPhoto02 {
	width: 24rem;
	margin-top: -3rem;
	margin-left: 2rem;
}

#foodmenu .eventMenuPhoto02 p {
	right: -15rem;
	bottom: 2rem;
}

#foodmenu .seasonGalleryWrap {
	width: 100%;
	margin-top: 6rem;
	overflow: hidden;
}

#foodmenu .seasonGalleryTrack {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 5rem;
}

#foodmenu .seasonItem {
	width: 32%;
}

#foodmenu .seasonPhoto {
	border-radius: 1rem;
	overflow: hidden;
}

#foodmenu .seasonPhoto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

#foodmenu .seasonItem p {
	margin-top: 1.8rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.04em;
}



/*------------------------------------------------------------
  Recruit
------------------------------------------------------------*/

#recruit {
	background: #fff;
}

#recruit #main {
	margin-bottom: 0;
}

/* Header */

#recruit .headerInner {
	position: relative;
	display: flex;
	align-items: center;
	/*width: 140rem;*/
	width: min(140rem, calc(100% - 4rem));
	padding: 1.8rem 2.25rem 1.8rem 4rem;
}

#recruit .recruitHeaderLogo {
	width: 42rem;
	padding-top: 1rem;
	flex-shrink: 0;
}

#recruit .recruitHeaderBadge {
	width: 17.5rem;
	margin-left: 2rem;
	flex-shrink: 0;
}

#recruit .recruitHeaderBadge img {
	width: 100%;
}

#recruit .recruitHeaderContact {
	display: flex;
	align-items: center;
	gap: 2.4rem;
	margin-left: auto;
	margin-right: 0em;
	flex-shrink: 0;
}

#recruit .recruitHeaderTelNum {
	display: block;
	width: 42rem;
}

#recruit .recruitHeaderTelNum img {
	display: block;
	width: 100%;
}


/* MV */

.recruitMv {
	position: relative;
	min-height: 74rem;
	padding: 18rem 0 0;
	overflow: hidden;
	/*background:
		url("../image/common/bg02.png") center top repeat-y,
		linear-gradient(180deg, rgba(255, 141, 175, 0.34) 0%, rgba(255, 141, 175, 0.2) 68%, rgba(255, 255, 255, 0) 100%);
	background-size: 100% auto, auto;*/
}

.recruitMv::before {
	position: absolute;
	top: -19rem;
	left: -20rem;
	width: 68rem;
	height: 68rem;
	border-radius: 50%;
	/*background: rgba(255, 141, 175, 0.32);*/
	content: "";
}

.recruitMv::after {
	position: absolute;
	right: -18rem;
	bottom: -28rem;
	width: 70rem;
	height: 70rem;
	border-radius: 50%;
	/*background: rgba(255, 141, 175, 0.18);*/
	content: "";
}

.recruitMvInner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
	min-height: 58rem;
	margin: 0;
}

.recruitMvLead {
	position: absolute;
	left: 50%;
	bottom: 1.5rem;
	z-index: 3;
	width: 42rem;
	transform: translateX(-50%);
}

.recruitMvLead p {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 6.6rem;
	border-radius: 999px;
	background: #ff8daf;
	box-shadow: 0 1rem 1.8rem rgba(210, 90, 130, 0.16);
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #fff;
}

.recruitMvSlider {
	position: relative;
	width: 100%;
	height: 58rem;
	overflow: hidden;
}

.recruitMvTrack {
	display: flex;
	align-items: center;
	gap: 3rem;
	width: max-content;
	height: 100%;
	padding-left: 3rem;
	animation: recruitMvFlow 45s linear infinite;
}

.recruitMvSlide {
	position: relative;
	flex: 0 0 auto;
}

.recruitMvSlide img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 1.5rem;
	object-fit: cover;
}

.recruitMvSlide01 {
	width: 28rem;
	margin-top: 10rem;
}

.recruitMvSlide02 {
	width: 36rem;
	margin-top: -18rem;
}

.recruitMvSlide03 {
	width: 34rem;
	margin-top: 12rem;
}

.recruitMvSlide04 {
	width: 39rem;
	margin-top: -3rem;
}

.recruitMvSlide05 {
	width: 28rem;
	margin-top: -18rem;
}

@keyframes recruitMvFlow {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(calc(-50% - 1.5rem));
	}
}

.recruitSubbg {
	position: relative;
	background: none;
}

/* Footer */

#recruit #gFooter {
	margin-top: 0;
}

/*------------------------------------------------------------
  Recruit Phase 2
------------------------------------------------------------*/

#recruit .recruitMvLead {
	display: none;
}

#recruit .recruitMvTrack {
	animation-duration: 45s;
}

#recruit .recruitHead {
	position: relative;
	padding: 0 0 7.5rem;
}

#recruit .recruitHeadInner {
	width: 116rem;
	margin: 0 auto;
	text-align: center;
}

#recruit .recruitPageTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44rem;
	height: 7.4rem;
	margin: 0 auto 4rem;
	border-radius: 999px;
	background: #ff7dad;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.18em;
	color: #fff;
}

#recruit .recruitLead {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.08em;
}

#recruit .recruitMessageSec {
	padding: 0;
}

#recruit .recruitMessageInner {
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitMessageBox {
	position: relative;
	min-height: 44rem;
	padding: 6rem 7.5rem;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 0.8rem 1.8rem rgba(180, 80, 110, 0.14);
	overflow: hidden;
}

#recruit .recruitMessageBox::before {
	position: absolute;
	right: -7rem;
	bottom: -4rem;
	width: 66rem;
	height: 34rem;
	background: url("../image/recruit/msg_bg.png") no-repeat center center / contain;
	content: "";
}

#recruit .recruitMessageContent {
	position: relative;
	z-index: 2;
	width: 68rem;
}

#recruit .recruitMessageTitle {
	width: 34rem;
	margin-bottom: 4.8rem;
}

#recruit .recruitMessageTitle img {
	display: block;
	width: 100%;
}

#recruit .recruitMessageCatch {
	margin-bottom: 4rem;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

#recruit .recruitMessageText {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

#recruit .recruitMessageIllust {
	position: absolute;
	top: 5.5rem;
	right: 6rem;
	z-index: 2;
	width: 56rem;
}

#recruit .recruitMessageIllust img {
	display: block;
	width: 100%;
}

#recruit .recruitSceneSec {
	position: relative;
	padding: 9rem 0 0;
	margin-bottom: -5rem;
	overflow: hidden;
}

#recruit .recruitSceneHead {
	width: 130rem;
	margin: 0 auto 4rem;
}

#recruit .recruitSecTitle {
	display: flex;
	align-items: center;
	width: fit-content;
	min-width: 39rem;
	height: 7rem;
	margin-bottom: 4rem;
	padding: 0 4rem 0 3rem;
	border-radius: 1.2rem 4rem 4rem 1.2rem;
	background: #ff8daf;
	box-shadow: 0 0.8rem 1.4rem rgba(210, 90, 130, 0.18);
}

#recruit .recruitSecTitle span {
	position: relative;
	padding-left: 3rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #fff;
}

#recruit .recruitSecTitle span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	content: "";
}

#recruit .recruitSceneHead p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#recruit .recruitSceneSlider {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding-bottom: 6rem;
	overflow: hidden;
}

#recruit .recruitSceneTrack {
	display: flex;
	align-items: center;
	width: max-content;
	transition: transform 0.55s ease;
}

#recruit .recruitSceneSlide {
	width: 96rem;
	margin: 0 1.5rem;
	opacity: 0.28;
	transition: opacity 0.45s ease, transform 0.45s ease;
	flex-shrink: 0;
}

#recruit .recruitSceneSlide.is-active {
	opacity: 1;
	transform: scale(1);
}

#recruit .recruitSceneSlide img {
	display: block;
	width: 100%;
	height: 50rem;
	border-radius: 1.5rem;
	object-fit: cover;
	object-position: center;
}

#recruit .recruitSceneSlide figcaption {
	display: none;
}

#recruit .recruitSceneArrow {
	position: absolute;
	top: 22rem;
	z-index: 5;
	width: 7rem;
	height: 7rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #36b8ef;
	box-shadow: 0 0.6rem 1.4rem rgba(50, 120, 180, 0.16);
	cursor: pointer;
}

#recruit .recruitSceneArrow::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 1.1rem solid transparent;
	border-bottom: 1.1rem solid transparent;
	content: "";
	transform: translate(-50%, -50%);
}

#recruit .recruitScenePrev {
	left: 3rem;
}

#recruit .recruitScenePrev::before {
	border-right: 1.5rem solid #fff;
	margin-left: -0.2rem;
}

#recruit .recruitSceneNext {
	right: 3rem;
}

#recruit .recruitSceneNext::before {
	border-left: 1.5rem solid #fff;
	margin-left: 0.2rem;
}

#recruit .recruitSceneCaption {
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 78rem;
	height: 7rem;
	padding: 0 4.5rem;
	border-radius: 0.7rem;
	background: #fff;
	box-shadow: 0 0.6rem 1.5rem rgba(0, 0, 0, 0.08);
	transform: translateX(-50%);
}

#recruit .recruitSceneCaption p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}

#recruit .recruitSceneCount {
	min-width: 7rem;
	padding-left: 3rem;
	border-left: 1px solid #e5e5e5;
	text-align: right;
}

/*------------------------------------------------------------
  Recruit Voice
------------------------------------------------------------*/

#recruit .recruitVoiceSec {
	padding: 9rem 0 10rem;
	background: #f2eee8;
}

#recruit .recruitVoiceInner {
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitVoiceHead {
	margin-bottom: 4rem;
}

#recruit .recruitVoiceHead p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#recruit .recruitVoiceList {
	width: 94rem;
	margin: 0 auto;
}

#recruit .recruitVoiceItem {
	position: relative;
	margin-bottom: 5rem;
	padding: 4.5rem 5rem;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 0.6rem 1.4rem rgba(180, 80, 110, 0.08);
}

#recruit .recruitVoiceItem:last-child {
	margin-bottom: 0;
}

#recruit .recruitVoiceItem--horizontal {
	display: grid;
	grid-template-columns: 30rem 1fr;
	gap: 4rem;
	align-items: start;
}

#recruit .recruitVoicePhotos {
	display: grid;
	gap: 2rem;
}

#recruit .recruitVoicePhotos--wide {
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	margin-top: 3rem;
}

#recruit .recruitVoicePhoto {
	border-radius: 1.5rem;
	overflow: hidden;
}

#recruit .recruitVoicePhoto img {
	display: block;
	width: 100%;
	height: 18rem;
	border-radius: 1.5rem;
	object-fit: cover;
	object-position: center;
}

#recruit .recruitVoicePhotos--wide .recruitVoicePhoto img {
	height: 20rem;
}

#recruit .recruitVoiceTitleArea {
	position: relative;
	margin-bottom: 2.6rem;
	padding-right: 10rem;
}

#recruit .recruitVoiceItem--vertical .recruitVoiceTitleArea {
	padding-right: 0;
}

#recruit .recruitVoiceNum {
	position: absolute;
	top: -0.4rem;
	right: 0;
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #9edcf2;
}

#recruit .recruitVoiceItem--vertical .recruitVoiceNum {
	position: static;
	display: inline-block;
	margin-right: 1.2rem;
	color: #ff9fbd;
	vertical-align: middle;
}

#recruit .recruitVoiceTitleArea h3 {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	vertical-align: middle;
}

#recruit .recruitVoiceLabel {
	margin-top: 1.2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: #4bbbe8;
}

#recruit .recruitVoiceItem--vertical .recruitVoiceLabel {
	color: #ff5f91;
}

#recruit .recruitVoiceText {
	margin-bottom: 2.2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.05em;
}

#recruit .recruitVoiceText:last-child {
	margin-bottom: 0;
}

/*------------------------------------------------------------
  Recruit Voice Adjust
------------------------------------------------------------*/

#recruit .recruitVoiceList {
	width: 100%;
	margin: 0 auto;
}

#recruit .recruitVoiceItem {
	margin-bottom: 7rem;
	padding: 6.5rem 8rem;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 0.8rem 1.8rem rgba(180, 80, 110, 0.08);
}

#recruit .recruitVoiceItem--horizontal {
	display: grid;
	grid-template-columns: 42rem 1fr;
	gap: 6rem;
	align-items: start;
}

#recruit .recruitVoicePhotos {
	display: grid;
	gap: 4rem;
}

#recruit .recruitVoicePhoto {
	border-radius: 0.8rem;
	overflow: hidden;
}

#recruit .recruitVoicePhoto img {
	display: block;
	width: 100%;
	height: 25rem;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
}

#recruit .recruitVoicePhotos--wide {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 5rem;
	margin-top: 4rem;
}

#recruit .recruitVoicePhotos--wide .recruitVoicePhoto img {
	height: 31rem;
}

#recruit .recruitVoiceTitleArea {
	margin-bottom: 3.5rem;
	padding-right: 0;
	text-align: right;
}

#recruit .recruitVoiceItem--vertical .recruitVoiceTitleArea {
	text-align: left;
}

#recruit .recruitVoiceTitle {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	margin-bottom: 2.4rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #333;
}

#recruit .recruitVoiceItem--vertical .recruitVoiceTitle {
	justify-content: flex-start;
}

#recruit .recruitVoiceTitle span {
	margin-right: 1.5rem;
	font-size: 7.6rem;
	font-weight: 700;
	line-height: 0.9;
	color: #9edcf2;
}

#recruit .recruitVoiceTitle--pink span {
	color: #ff9fbd;
}

#recruit .recruitVoiceTitleArea h3 {
	margin: 0;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
	color: #4bbbe8;
}

#recruit .recruitVoiceItem--vertical .recruitVoiceTitleArea h3 {
	color: #ff5f91;
}

#recruit .recruitVoiceText {
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
}

#recruit .recruitVoiceName {
	margin-bottom: 3.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: right;
	letter-spacing: 0.05em;
}

#recruit .recruitVoiceName:last-child {
	margin-bottom: 0;
}

/*------------------------------------------------------------
  Recruit Benefit
------------------------------------------------------------*/

#recruit .recruitBenefitSec {
	padding: 9rem 0 10rem;
	background: #fff;
}

#recruit .recruitBenefitInner {
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitBenefitLead {
	margin-bottom: 6rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#recruit .recruitBenefitList {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 5rem;
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitBenefitCard {
	position: relative;
	min-height: 36rem;
	padding: 4rem;
	border-radius: 1.5rem;
	background: #ffb4c6;
	box-shadow: 0 0.8rem 1.6rem rgba(180, 80, 110, 0.12);
}

#recruit .recruitBenefitCard h3 {
	margin-bottom: 0rem;
	padding-bottom: 2rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
	border-bottom: 1px solid #fff;
}

#recruit .recruitBenefitCard p:not(.recruitBenefitIllust) {
	padding: 2rem 0;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
	border-bottom: 1px solid #fff;
}

#recruit .recruitBenefitCard p:not(.recruitBenefitIllust):last-child {
	padding-bottom: 0;
	border-bottom: none;
}

#recruit .recruitBenefitIllust {
	position: absolute;
	top: -3rem;
	right: 2rem;
	width: 15rem;
}
#recruit .recruitBenefitCard--specialist .recruitBenefitIllust {
	top: -9rem;
	right: 1rem;
	width: 13rem;
}

#recruit .recruitBenefitIllust img {
	display: block;
	width: 100%;
}

/*------------------------------------------------------------
  Recruit Welfare
------------------------------------------------------------*/

#recruit .recruitWelfareSec {
	padding: 0 0 10rem;
	background: #fff;
}

#recruit .recruitWelfareInner {
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitWelfareLead {
	margin-bottom: 5rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#recruit .recruitWelfareContent {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#recruit .recruitWelfareText {
	width: 50rem;
}

#recruit .recruitWelfareList {
	margin-bottom: 4rem;
}

#recruit .recruitWelfareList:last-child {
	margin-bottom: 0;
}

#recruit .recruitWelfareList li {
	position: relative;
	margin-bottom: 1.2rem;
	padding-left: 3.2rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.06em;
}

#recruit .recruitWelfareList li:last-child {
	margin-bottom: 0;
}

#recruit .recruitWelfareList li::before {
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	transform: translateY(-50%);
	content: "";
}

#recruit .recruitWelfareList--pink li::before {
	background: #ff7dad;
}

#recruit .recruitWelfareList--blue li::before {
	background: #58b5f2;
}

#recruit .recruitWelfarePhoto {
	width: 58rem;
}

#recruit .recruitWelfarePhoto img {
	display: block;
	width: 100%;
	border-radius: 1rem;
	object-fit: cover;
	object-position: center;
}

#recruit .recruitWelfarePhoto figcaption {
	margin-top: 2rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

#recruit .recruitWelfarePhoto figcaption span {
	display: block;
	margin-bottom: 0.4rem;
}

/*------------------------------------------------------------
  Recruit Staff
------------------------------------------------------------*/

#recruit .recruitStaffSec {
	padding: 10rem 0;
	background: #f2eee8;
}

#recruit .recruitStaffInner {
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitStaffContent {
	display: flex;
	justify-content: space-between;

	gap: 3rem;
	margin-top: 3rem;
}

#recruit .recruitStaffText {
	width: 50rem;
	flex-shrink: 0;
}

#recruit .recruitStaffText p {
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#recruit .recruitStaffTable {
	flex: 1;
}

#recruit .recruitStaffTable table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border-radius: 1.5rem;
	overflow: hidden;
	box-shadow: 0 0 0 1px #d9d9d9;
}

#recruit .recruitStaffTable th,
#recruit .recruitStaffTable td {
	padding: 3rem 1rem;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	vertical-align: middle;
	border-right: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
}

#recruit .recruitStaffTable th {
	background: #f9e7ef;
}

#recruit .recruitStaffTable td.column-1,
#recruit .recruitStaffTable td.column-3 {
	background: #dff3f8;
}

#recruit .recruitStaffTable th:last-child,
#recruit .recruitStaffTable td:last-child {
	border-right: none;
}

#recruit .recruitStaffTable tbody tr:last-child td {
	border-bottom: none;
}

/* 左上角 */
#recruit .recruitStaffTable thead th:first-child {
	border-top-left-radius: 1.5rem;
}

/* 右上角 */
#recruit .recruitStaffTable thead th:last-child {
	border-top-right-radius: 1.5rem;
}

/* 左下角 */
#recruit .recruitStaffTable tbody tr:last-child td:first-child {
	border-bottom-left-radius: 1.5rem;
}

/* 右下角 */
#recruit .recruitStaffTable tbody tr:last-child td:last-child {
	border-bottom-right-radius: 1.5rem;
}

/*------------------------------------------------------------
  Recruit Requirements
------------------------------------------------------------*/

#recruit .recruitRequirementsSec {
	padding: 10rem 0 0 0;
	background: #fff;
}

#recruit .recruitRequirementsInner {
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitRequirementsBlock {
	margin-top: 5rem;
}

#recruit .recruitRequirementsBlock + .recruitRequirementsBlock {
	margin-top: 7rem;
}

#recruit .recruitRequirementsTitle {
	display: inline-flex;
	align-items: center;
	margin-bottom: 2rem;
	padding: 0.6rem 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	background: #ffe5ef;
	color: #333;
}

#recruit .recruitRequirementsTable table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border-radius: 1.5rem;
	overflow: hidden;
	box-shadow: 0 0 0 1px #d9d9d9;
}

#recruit .recruitRequirementsTable caption {
	display: none;
}

#recruit .recruitRequirementsTable td {
	padding: 2rem 3rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.04em;
	text-align: left;
	vertical-align: top;
	border-right: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
}

#recruit .recruitRequirementsTable td.column-1 {
	width: 22rem;
	background: #e9e3d7;
}

#recruit .recruitRequirementsTable td:last-child {
	border-right: none;
}

#recruit .recruitRequirementsTable tbody tr:last-child td {
	border-bottom: none;
}

/*------------------------------------------------------------
  Recruit Apply
------------------------------------------------------------*/

#recruit .recruitApplySec {
	position: relative;
	padding: 10rem 0 9rem;
	overflow: hidden;
	background-image: url("../image/common/bg04.png");
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 100% auto;
}

#recruit .recruitApplyInner {
	position: relative;
	z-index: 1;
	width: 116rem;
	margin: 0 auto;
}

#recruit .recruitApplyBox {
	position: relative;
	z-index: 2;
	width: 92rem;
	padding-top: 3rem;
}

#recruit .recruitApplySec .recruitSecTitle {
	margin-bottom: 0
}

#recruit .recruitApplyBox h3 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

#recruit .recruitApplyBox p {
	margin-bottom: 4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

#recruit .recruitApplyContact {
	display: flex;
	align-items: center;
	gap: 5rem;
}

#recruit .recruitApplyTel {
	width: 38rem;
}

#recruit .recruitApplyMail {
	width: 48rem;
}

#recruit .recruitApplyTel img,
#recruit .recruitApplyMail img {
	display: block;
	width: 100%;
}


/* 投稿本文：投稿画像の下に余白を確保 */
#info-detail .entryContent img {
	margin-bottom: 3rem;
}

#info-detail .entryContent figure img,
#info-detail .entryContent .wp-block-image img,
#info-detail .entryContent .wp-block-column img {
	margin-bottom: 0;
}

#info-detail .entryContent figure,
#info-detail .entryContent .wp-block-image {
	margin-bottom: 4rem;
}

/* 採用ページ：ACF画像差し替え時の角丸・表示安定化 */
#recruit .recruitMvSlide {
	height: 36rem;
	border-radius: 1.5rem;
	overflow: hidden;
}

#recruit .recruitMvSlide img,
#recruit .recruitSceneSlide img,
#recruit .recruitVoicePhoto img,
#recruit .recruitWelfarePhoto img {
	display: block;
	max-width: 100%;
	border-radius: inherit;
}

#recruit .recruitMvSlide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#recruit .recruitMvSlide01 { width: 28rem; height: 36rem; margin-top: 10rem; }
#recruit .recruitMvSlide02 { width: 36rem; height: 42rem; margin-top: -18rem; }
#recruit .recruitMvSlide03 { width: 34rem; height: 38rem; margin-top: 12rem; }
#recruit .recruitMvSlide04 { width: 39rem; height: 42rem; margin-top: -3rem; }
#recruit .recruitMvSlide05 { width: 28rem; height: 36rem; margin-top: -18rem; }
#recruit .recruitMvSlide06 { width: 34rem; height: 40rem; margin-top: 8rem; }
#recruit .recruitMvSlide07 { width: 38rem; height: 42rem; margin-top: -12rem; }
#recruit .recruitMvSlide08 { width: 30rem; height: 36rem; margin-top: 14rem; }

#recruit .recruitSceneSlide,
#recruit .recruitVoicePhoto,
#recruit .recruitWelfarePhoto {
	border-radius: 1.5rem;
}

#recruit .recruitSceneSlide img,
#recruit .recruitVoicePhoto img {
	object-fit: cover;
	object-position: center;
}

#recruit .recruitWelfarePhoto img {
	height: auto;
	object-fit: contain;
}


/* Recruit v3: 実写真対応・TablePress表示調整 */
#recruit .recruitMvSlide02,
#recruit .recruitMvSlide03 {
	width: 46rem;
	height: 30rem;
}

#recruit .recruitMvSlide02 img,
#recruit .recruitMvSlide03 img {
	object-fit: cover;
	object-position: center;
}

#recruit .recruitVoicePhoto img,
#recruit .recruitVoicePhotos--wide .recruitVoicePhoto img {
	height: auto;
	object-fit: contain;
}

#recruit .recruitSceneSlider {
	position: relative;
}

#recruit .recruitSceneArrow {
	top: 25rem;
	transform: translateY(-50%);
}

#recruit .recruitStaffTable .dataTables_wrapper .dataTables_length,
#recruit .recruitStaffTable .dataTables_wrapper .dataTables_filter,
#recruit .recruitStaffTable .dataTables_wrapper .dataTables_info,
#recruit .recruitStaffTable .dataTables_wrapper .dataTables_paginate,
#recruit .recruitRequirementsTable .dataTables_wrapper .dataTables_length,
#recruit .recruitRequirementsTable .dataTables_wrapper .dataTables_filter,
#recruit .recruitRequirementsTable .dataTables_wrapper .dataTables_info,
#recruit .recruitRequirementsTable .dataTables_wrapper .dataTables_paginate,
#recruit .recruitStaffTable .tablepress-edit-link,
#recruit .recruitRequirementsTable .tablepress-edit-link,
#recruit .recruitStaffTable .dt-buttons,
#recruit .recruitRequirementsTable .dt-buttons {
	display: none !important;
}


/* Recruit: hide TablePress/DataTables controls (TablePress 2/3 and DataTables v1/v2) */
#recruit .recruitStaffTable .dt-container .dt-layout-row,
#recruit .recruitStaffTable .dt-length,
#recruit .recruitStaffTable .dt-search,
#recruit .recruitStaffTable .dt-info,
#recruit .recruitStaffTable .dt-paging,
#recruit .recruitStaffTable .dataTables_length,
#recruit .recruitStaffTable .dataTables_filter,
#recruit .recruitStaffTable .dataTables_info,
#recruit .recruitStaffTable .dataTables_paginate,
#recruit .recruitStaffTable .tablepress-edit-link,
#recruit .recruitStaffTable .tablepress-table-edit-link,
#recruit .recruitStaffTable .edit-link,
#recruit .recruitRequirementsTable .dt-container .dt-layout-row,
#recruit .recruitRequirementsTable .dt-length,
#recruit .recruitRequirementsTable .dt-search,
#recruit .recruitRequirementsTable .dt-info,
#recruit .recruitRequirementsTable .dt-paging,
#recruit .recruitRequirementsTable .dataTables_length,
#recruit .recruitRequirementsTable .dataTables_filter,
#recruit .recruitRequirementsTable .dataTables_info,
#recruit .recruitRequirementsTable .dataTables_paginate,
#recruit .recruitRequirementsTable .tablepress-edit-link,
#recruit .recruitRequirementsTable .tablepress-table-edit-link,
#recruit .recruitRequirementsTable .edit-link {
	display: none !important;
}

#recruit .recruitStaffTable .dt-container,
#recruit .recruitRequirementsTable .dt-container {
	margin: 0 !important;
}

/* Recruit TablePress: hide admin edit links shown only while logged in */
#recruit .recruitStaffTable a[href*="page=tablepress"],
#recruit .recruitStaffTable a[href*="tablepress"],
#recruit .recruitStaffTable a[href*="admin.php?page=tablepress"],
#recruit .recruitRequirementsTable a[href*="page=tablepress"],
#recruit .recruitRequirementsTable a[href*="tablepress"],
#recruit .recruitRequirementsTable a[href*="admin.php?page=tablepress"],
#recruit .recruitStaffTable .tablepress-edit-link,
#recruit .recruitStaffTable .tablepress-table-edit-link,
#recruit .recruitRequirementsTable .tablepress-edit-link,
#recruit .recruitRequirementsTable .tablepress-table-edit-link {
	display: none !important;
}

/* Recruit v6: 働く人たちの声 ACF・写真キャプション対応 */
#recruit .recruitVoicePhoto figcaption {
	margin-top: 1.2rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-align: center;
	color: #333;
}

#recruit .recruitVoicePhoto img + figcaption {
	display: block;
}


/* ==========================================================
   PC Liquid Width Adjustment
   Phase3-1 / 2026-06
   PC版の見た目を維持しながら、1190px前後でも横スクロールが出ないように
   固定幅の外枠を max-width 化する調整。
   ========================================================== */

body {
	min-width: auto;
}

.headerInner {
	width: min(140rem, calc(100% - 4rem));
}

.headerTel {
	width: min(133rem, calc(100% - 4rem));
}

.commonContactInner,
#gFooter .footerInner,
.mvInner,
.topicsInner,
#top .serviceInner,
#top .topInfoInner,
#top .recruitSaigaiInner,
.subPage,
#info .blogArchiveInner,
.blogBnrInner,
#info-detail .blogSingleSec,
#tokuyo .healthInner,
#short .calenderInner,
#short .cautionInner,
#day .calenderInner,
#day .cautionInner,
#guide .guideMapInner,
#foodmenu .eventMenuInner,
#kondate .gyoujiInner,
#kondate .kondateInner,
#kondate .weeklyMneuInner {
	width: min(130rem, calc(100% - 4rem));
}

#short .daySchedule,
#day .daySchedule,
#tokuyo .daySchedule,
#guide .guideMapImage,
#info-detail .blogSingleSec {
	max-width: 100%;
}

#top .topInfoInner {
	grid-template-columns: minmax(0, 1fr) minmax(26rem, 30rem);
	column-gap: clamp(3rem, 4vw, 8rem);
}

#top .serviceList {
	gap: clamp(1.8rem, 2vw, 3rem);
}

#top .recruitSaigaiInner {
	gap: clamp(2.4rem, 3vw, 4rem);
}

#tokuyo .gaiyoInner,
#short .gaiyoInner,
#day .gaiyoInner,
#access .accessBlock,
#guide .guideSaigaiHead,
#guide .guideFoodLead,
#foodmenu .foodAboutLead,
#kondate .aboutShokjiLead {
	gap: clamp(3rem, 4vw, 6rem);
}

#tokuyo .gaiyoContent,
#short .gaiyoContent,
#day .gaiyoContent,
#access .accessText,
#guide .guideSaigaiText,
#guide .guideFoodText,
#foodmenu .foodAboutText,
#kondate .aboutShokjiText {
	flex: 1 1 0;
	min-width: 0;
}

#tokuyo .gaiyoPhoto,
#short .gaiyoPhoto,
#day .gaiyoPhoto,
#access .accessPhoto,
#access .accessImageMap,
#guide .guideFoodTableImage,
#foodmenu .foodAboutPhoto,
#kondate .aboutShokjiPhoto {
	flex-shrink: 1;
	max-width: 100%;
}

#guide .guideRinenText,
#guide .guideSaigaiText,
#guide .guideFoodText {
	max-width: 100%;
}

#guide .guideRinenPhoto,
#guide .guideFoodTableImage {
	max-width: 42%;
}

#guide .guideMapBox {
	max-width: 100%;
}

#guide .guideMapImage img {
	max-width: 100%;
}

#short .calTb,
#day .calTb {
	max-width: calc(100% - 24rem);
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	/* Tablet / Small PC liquid refinement */
	.headerLogo {
		width: clamp(30rem, 28vw, 42rem);
	}

	.gNav {
		padding-left: clamp(1.5rem, 2vw, 5rem);
	}

	.navMain {
		gap: clamp(1rem, 1.2vw, 2rem);
	}

	.navMain a {
		font-size: clamp(1.3rem, 1.1vw, 1.5rem);
	}

	.navSub a {
		font-size: clamp(1.5rem, 1.35vw, 1.8rem);
	}

	.navSub li:not(:last-child)::after {
		margin: 0 clamp(0.8rem, 1.1vw, 1.8rem);
	}

	.menuBtn {
		width: clamp(7rem, 7vw, 8.8rem);
		height: clamp(7rem, 7vw, 8.8rem);
	}

	.subPage {
		padding-inline: clamp(3.5rem, 4vw, 6rem);
	}

	.mvPhoto {
		width: min(112rem, calc(100% - 14rem));
	}

	.mvSub01 {
		right: 1rem;
		width: clamp(28rem, 28vw, 35rem);
	}

	.mvSub02 {
		right: 0;
		width: clamp(20rem, 20vw, 24rem);
	}

	#top .serviceCard h3 {
		font-size: clamp(2.4rem, 2.2vw, 3rem);
	}

	#top .serviceCard h3.smallTitle {
		font-size: clamp(2.2rem, 2vw, 2.6rem);
	}

	#top .calendarBtn,
	#top .contactBtn,
	#top .serviceBtn {
		width: min(23rem, 82%);
	}

	#top .topInfoPhoto {
		width: clamp(16rem, 15vw, 18rem);
		height: clamp(16rem, 15vw, 18rem);
	}

	#top .topInfoContent {
		width: auto;
		flex: 1;
		min-width: 0;
	}

	#top .recruitSaigaiTitle {
		max-width: 100%;
	}

	#top .saigaiIllust {
		right: 2rem;
		width: clamp(18rem, 18vw, 23rem);
	}

	#short .daySchedule,
	#day .daySchedule,
	#tokuyo .daySchedule {
		width: 100%;
		gap: clamp(2.5rem, 3vw, 4rem);
	}

	#short .dayScheduleBox,
	#day .dayScheduleBox,
	#tokuyo .dayScheduleBox {
		width: calc(50% - 2rem);
	}

	#guide .guideMapImage {
		width: 100%;
	}

	#guide .guideSaigaiPhotoList,
	#guide .guideFoodPhotoList {
		gap: clamp(2rem, 2.4vw, 3rem);
	}

	#foodmenu .eventMenuPhotoWrap,
	#kondate .gyoujiPhotoWrap {
		max-width: 42rem;
	}
}


/* ============================================================
  新メインビジュアル（静的 main_02.png）
  2026-07-01
  ------------------------------------------------------------
  既存ACF版へ戻す場合：front-page.php の旧MVコメントを解除し、
  .mvStatic ブロックと、この追記CSSを削除してください。
============================================================ */

.mvStatic {
	position: relative;
	z-index: 1;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 0;
	overflow: visible;
}

.mvStatic .mv {
	padding: 0;
}

.mvStatic .mvInner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.mvStatic .mvPhoto {
	position: relative;
	z-index: 1;
	width: 100%;
	border-radius: 0;
	overflow: visible;
}

.mvStatic .mvPhoto::before {
	display: block;
	width: 100%;
	aspect-ratio: 1363 / 821;
	background: url("../image/top/main_02.png") no-repeat center top / 100% auto;
	content: "";
}

.mvStatic .mvPhoto img {
	display: none;
}

.mvStatic .mvCopy,
.mvStatic .mvSub {
	z-index: 3;
}

/* コピーは旧 .mvInner（130rem）基準の右端に戻す */
.mvStatic .mvCopy {
	top: 20vw;
    right: 3vw;
    width: 45vw;
}

/* 丸画像も旧 .mvInner（130rem）基準で配置 */
.mvStatic .mvSub01 {
    right: max(calc((100vw - 130rem) / 2 + 6rem), 12rem);
    bottom: -10vw;
    width: 23vw;
}

.mvStatic .mvSub02 {
	right: max(calc((100vw - 130rem) / 2 - 6rem), 2rem);
	bottom: -27vw;
	width: 18vw;
}

/*----------------------------------------
404
----------------------------------------*/

.error404Sec {
	padding: 10rem 0;
}

.error404Inner {
	width: min(90%, 80rem);
	margin: 12rem auto 0 auto;
	padding: 8rem 5rem;
	text-align: center;
	background: #fff;
	border-radius: 2rem;
}

.error404Title {
	margin-bottom: 2rem;
	font-size: 8rem;
	font-weight: 700;
	color: #ff8daf;
	line-height: 1;
}

.error404Lead {
	margin-bottom: 2rem;
	font-size: 2.8rem;
	font-weight: 700;
}

.error404Text {
	margin-bottom: 5rem;
	line-height: 2;
}

.error404Btn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32rem;
	height: 6rem;
	font-size: 2rem;
	color: #fff;
	border-radius: 5rem;
	background: #ff8daf;
	transition: .3s;
}

.error404Btn a:hover {
	opacity: .8;
}
