@charset "utf-8";
/*------------------------------------------------------------
  SP / Responsive
------------------------------------------------------------*/

/* style.css から移設した既存レスポンシブ記述
------------------------------------------------------------*/

@media all and (max-width: 1500px) {
	.siteMenuPanel {
		right: 2rem;
	}
}

@media all and (max-width: 900px) {
	.siteMenuPanel {
		width: calc(100vw - 3rem);
		padding: 3rem 2.5rem 3.5rem;
	}

	.siteMenuMain,
	.siteMenuService,
	.siteMenuNewsList {
		grid-template-columns: 1fr;
	}
}


/*------------------------------------------------------------
  Common SP
------------------------------------------------------------*/

@media all and (max-width: 896px) {
	#container {
		background: linear-gradient(180deg, #fab3bf 0%, #ffe7f6 18%, #fff 48%);
	}

	#container::before {
		height: 70rem;
		background-size: auto 70rem;
	}

	#gHeader {
		top: 1.2rem;
		padding: 0 1.5rem;
	}

	.headerInner {
		width: 100%;
		min-height: 7.4rem;
		padding: 1rem 1.2rem 1rem 1.8rem;
		border-radius: 5rem;
	}

	.headerLogo {
		width: 22rem;
		padding-top: 0.4rem;
	}

	.gNav {
		display: none;
	}

	.menuBtn {
		width: 5.8rem;
		height: 5.8rem;
		margin-left: auto;
	}

	.menuBtn span:not(.menuText) {
		width: 2.8rem;
		height: 0.2rem;
		margin-bottom: 0.55rem;
	}

	.menuBtn .menuText {
		font-size: 1.2rem;
	}

	.headerTel {
		display: none;
	}

	.siteMenuPanel {
		top: 1.5rem;
		right: 1.5rem;
		width: calc(100vw - 3rem);
		max-height: calc(100dvh - 3rem);
		padding: 2.4rem 2rem 3rem;
		border-radius: 2rem;
		overflow-y: auto;
	}

	.siteMenuHead {
		margin-bottom: 2.2rem;
	}

	.siteMenuTitle {
		font-size: 2.4rem;
	}

	.siteMenuClose {
		width: 4.8rem;
		height: 4.8rem;
	}

	.siteMenuMain,
	.siteMenuService,
	.siteMenuNewsList {
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}

	.siteMenuMain a,
	.siteMenuService a,
	.siteMenuNewsHead a,
	.siteMenuNewsList a {
		min-height: 4.8rem;
		font-size: 1.6rem;
	}

	.siteMenuService {
		margin-top: 1.8rem;
	}

	.siteMenuNews {
		margin-top: 2rem;
	}

	.commonContact {
		padding: 5rem 0 4.5rem;
	}

	.commonContactInner {
		width: 90%;
	}

	.commonContactHead {
		display: block;
		margin-bottom: 3rem;
	}

	.commonContactTitle {
		width: 24rem;
		height: 6rem;
		padding: 0 2.4rem;
	}

	.commonContactTitle span {
		padding-left: 2.2rem;
		font-size: 2.4rem;
	}

	.commonContactLead {
		margin: 2rem 0 0;
		font-size: 1.7rem;
		line-height: 1.8;
	}

	.commonContactBody {
		display: block;
		padding-left: 0;
	}

	.commonContactTel {
		width: 25rem;
		margin-bottom: 2rem;
	}

	.commonContactMail {
		width: 35rem;
		margin-bottom: 0;
	}

	#gFooter {
		padding: 4rem 0 3rem;
	}

	#gFooter::before {
		top: 1rem;
		background-size: auto 100%;
	}

	#gFooter .footerInner {
		display: block;
		width: 90%;
	}

	#gFooter .footerInfo {
		padding-top: 0;
	}

	#gFooter .footerName,
	#gFooter .footerAddress,
	#gFooter .copyright {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	#gFooter .footerAddress {
		margin-bottom: 1.8rem;
	}

	#gFooter .pageTop {
		position: absolute;
		right: 0;
		top: -2rem;
	}

	#gFooter .pageTop a {
		width: 6.4rem;
	}
}

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


/*------------------------------------------------------------
  Guide SP
------------------------------------------------------------*/


/*------------------------------------------------------------
  Tokuyo SP
------------------------------------------------------------*/


/*------------------------------------------------------------
  Short stay SP
------------------------------------------------------------*/


/*------------------------------------------------------------
  Calendar common SP refinement
------------------------------------------------------------*/


/*------------------------------------------------------------
  Day service SP
------------------------------------------------------------*/


/*------------------------------------------------------------
  Summary SP
------------------------------------------------------------*/


/*------------------------------------------------------------
  Access SP
------------------------------------------------------------*/


/*------------------------------------------------------------
  施設の食事　Foodmenu SP / 週間献立表
------------------------------------------------------------*/


/*------------------------------------------------------------
  Info Archive / Detail SP
------------------------------------------------------------*/


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


/*------------------------------------------------------------
  SP main styles / 767px以下
------------------------------------------------------------*/

@media all and (max-width: 896px) {
	#recruit .recruitHeaderBadge,
	#recruit .recruitHeaderContact {
		display: none;
	}

	#recruit .headerInner {
		width: 100%;
		min-height: 7.4rem;
		padding: 1rem 1.2rem 1rem 1.8rem;
        border-radius: 5rem;
	}

	#recruit .recruitHeaderLogo {
		padding-top: 0.4rem;
		width: 22rem;
	}

	.recruitMv {
		min-height: 5rem;
		padding: 4rem 0 0 0;
	}

	.recruitMvInner {
		width: 100%;
		min-height: 50rem;
	}

	.recruitMvSlider {
		margin-top: 2rem;
		height: 50rem;
	}

	.recruitMvTrack {
		gap: 2rem;
		padding-left: 2rem;
		animation-duration: 38s;
	}
	
	#recruit .recruitMvSlide {
		border-radius: 1.5rem;
		overflow: hidden;
	}

	#recruit .recruitMvSlide img {
		display: block;
		width: 100%;
		height: auto;
	}

	#recruit .recruitMvSlide01 {
		width: 23rem;
		margin-top: 6rem;
	}

	#recruit .recruitMvSlide02 {
		width: 30rem;
		margin-top: -8rem;
	}

	#recruit .recruitMvSlide03 {
		width: 26rem;
		margin-top: 6rem;
	}

	#recruit .recruitMvSlide04 {
		width: 28rem;
		margin-top: 0;
	}

	#recruit .recruitMvSlide05 {
		width: 22rem;
		margin-top: -6rem;
	}


	.recruitMvSlide img {
		border-radius: 1.5rem;
	}

	.recruitMvLead {
		bottom: 0;
		width: 28rem;
	}

	.recruitMvLead p {
		height: 5.4rem;
		font-size: 2.1rem;
	}

	#recruit .recruitMvTrack {
		animation-duration: 38s;
	}

	#recruit .recruitMvSlide img {
		border-radius: 1.5rem;
	}

	#recruit .recruitHead {
		padding: 0 0 5rem;
	}

	#recruit .recruitHeadInner,
	#recruit .recruitMessageInner,
	#recruit .recruitSceneHead {
		width: 90%;
	}

	#recruit .recruitPageTitle {
		width: 28rem;
		height: 5.6rem;
		margin-bottom: 2.8rem;
		font-size: 2.8rem;
	}

	#recruit .recruitLead {
		font-size: 1.8rem;
		line-height: 1.8;
	}

	#recruit .recruitMessageSec {
		padding-bottom: 6rem;
	}

	#recruit .recruitMessageBox {
		min-height: 0;
		padding: 4rem 2.5rem 5rem;
	}

	#recruit .recruitMessageBox::before {
		right: 0;
		bottom: -2rem;
	}

	#recruit .recruitMessageContent {
		width: 100%;
	}

	#recruit .recruitMessageTitle {
		width: 22rem;
		margin-bottom: 3rem;
	}

	#recruit .recruitMessageCatch {
		margin-bottom: 2.5rem;
		font-size: 1.9rem;
	}

	#recruit .recruitMessageText {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#recruit .recruitMessageIllust {
		position: relative;
		top: auto;
		right: auto;
		width: 30rem;
		max-width: 100%;
		margin: 3rem 0 0 auto;
	}

	#recruit .recruitSceneSec {
		padding: 6rem 0 8rem;
	}

	#recruit .recruitSecTitle {
		min-width: 25rem;
		height: 5.6rem;
		margin-bottom: 2.5rem;
		padding: 0 3rem 0 2.4rem;
	}

	#recruit .recruitSecTitle span {
		padding-left: 2rem;
		font-size: 2.4rem;
	}

	#recruit .recruitSceneHead p {
		font-size: 1.6rem;
		line-height: 1.8;
		text-align: left;
	}

	#recruit .recruitSceneSlide {
		width: 82vw;
		margin: 0 1rem;
	}

	#recruit .recruitSceneSlide img {
		height: 28rem;
	}

	#recruit .recruitSceneArrow {
		top: 12rem;
		width: 5rem;
		height: 5rem;
	}

	#recruit .recruitScenePrev {
		left: 1.2rem;
	}

	#recruit .recruitSceneNext {
		right: 1.2rem;
	}

	#recruit .recruitSceneCaption {
		width: 82%;
		height: 6.8rem;
		padding: 0 2rem;
	}

	#recruit .recruitSceneCaption p {
		font-size: 1.4rem;
	}

	#recruit .recruitSceneCount {
		min-width: 6rem;
		padding-left: 1.5rem;
	}
	
	#recruit .recruitRequirementsBlock {
		margin-top: 4rem;
	}
	#recruit .recruitRequirementsBlock + .recruitRequirementsBlock {
		margin-top: 3rem;
	}

	#recruit .recruitVoiceInner,
	#recruit .recruitVoiceList {
		width: 100%;
	}

	#recruit .recruitVoiceHead {
		margin-bottom: 4rem;
	}

	#recruit .recruitVoiceHead p {
		padding: 0 1.5rem;
		font-size: 1.6rem;
	}
	
	#recruit .recruitVoiceItem {
		margin-bottom: 4rem;
	}

	#recruit .recruitVoiceItem,
	#recruit .recruitVoiceItem--horizontal {
		display: block;
		padding: 3rem 2.5rem;
	}
	
	#recruit .recruitVoiceItem--horizontal {
		display: flex;
		flex-direction: column;
	}

	#recruit .recruitVoiceItem--horizontal .recruitVoiceContent {
		order: 1;
	}

	#recruit .recruitVoiceItem--horizontal .recruitVoicePhotos {
		order: 2;
		margin-top: -3rem;
		margin-bottom: 0;
	}

	#recruit .recruitVoicePhotos {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
		margin-bottom: 2.5rem;
	}

	#recruit .recruitVoicePhotos--wide {
		margin-top: 2.5rem;
		margin-bottom: 0;
	}

	#recruit .recruitVoicePhoto img,
	#recruit .recruitVoicePhotos--wide .recruitVoicePhoto img {
		height: 16rem;
	}

	#recruit .recruitVoiceTitleArea {
		margin-bottom: 1.5rem;
		padding-right: 7rem;
		text-align: left;
	}

	#recruit .recruitVoiceNum {
		font-size: 3rem;
	}
	
	#recruit .recruitVoiceTitle {
		display: block;
		margin-bottom: 2rem;
		line-height: 1;
	}
	#recruit .recruitVoiceTitle span {
		font-size: 6rem;
	}

	#recruit .recruitVoiceTitleArea h3 {
		font-size: 2rem;
	}

	#recruit .recruitVoiceLabel,
	#recruit .recruitVoiceText ,#recruit .recruitBenefitLead ,
	#recruit .recruitBenefitCard p:not(.recruitBenefitIllust){
		font-size: 1.6rem;
	}
	
	#recruit .recruitBenefitLead {
		margin-bottom: 3rem;
		padding: 0 1.5rem;
	}
	
	#recruit .recruitBenefitList {
		width: 100%;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	#recruit .recruitBenefitCard {
		width: 100%;
	}
	

	.mv {
		padding: 11rem 0 0;
	}

	.mvInner {
		width: 90%;
		margin-top: 1.5rem;
	}

	.mvPhoto {
		width: 100%;
		border-radius: 1rem;
	}

	.mvPhoto img {
		height: 44rem;
		object-fit: cover;
		object-position: center;
	}

	.mvCopy {
		padding: 1rem;
        top: 1rem;
        right: 1rem;
        width: 8rem;
        background: #fff;
	}

	.mvSub01 {
		right: 2rem;
		bottom: -7rem;
		width: 16rem;
	}

	.mvSub02 {
		right: 20rem;
		bottom: -10rem;
		width: 12rem;
	}

	.topicsSec {
		padding: 11rem 0 3rem;
	}

	.topicsInner {
		display: block;
		width: 90%;
	}

	.topicsHead {
		width: 100%;
	}

	.topicsTitle,
	#top .serviceTitle,
	#top .topInfoTitle {
		width: fit-content;
		min-width: 22rem;
		height: 6rem;
		padding: 0 2.6rem 0 2.2rem;
		border-radius: 1.2rem 3rem 3rem 1.2rem;
	}

	.topicsTitle span,
	#top .serviceTitle span,
	#top .topInfoTitle span {
		padding-left: 2.2rem;
		font-size: 2.4rem;
	}

	.topicsTitle span::before,
	#top .serviceTitle span::before,
	#top .topInfoTitle span::before {
		width: 1.1rem;
		height: 1.1rem;
	}

	.topicsIllust {
		width: 26vw;
        margin: -18vw -1rem 0 auto;
	}

	.topicsBody {
		width: 100%;
		margin: 2rem 0 0 0;
		padding-top: 0;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.topicsItem {
		padding-bottom: 1.8rem;
		margin-bottom: 1.8rem;
	}

	#top .topService {
		padding: 4rem 0;
	}

	#top .serviceInner {
		width: 90%;
	}

	#top .serviceHead {
		display: block;
		margin-bottom: 0;
	}

	#top .serviceIllust {
		width: 24rem;
		margin: 0 0 0 auto;
	}

	#top .serviceList {
		grid-template-columns: 1fr;
		gap: 2.4rem;
	}

	#top .serviceCardHead {
		height: auto;
		padding: 2.6rem 2rem 2rem;
	}

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

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

	#top .calendarBtn,
	#top .contactBtn {
		width: 22rem;
		height: 4rem;
		font-size: 1.6rem;
	}

	#top .serviceBtn {
		width: 18rem;
		height: 4.6rem;
		font-size: 1.6rem;
	}

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

	#top .serviceIcon {
		width: 15rem;
	}

	#top .contactBtn {
		margin-top: 1.5rem;
	}

	#top .topInfo {
		padding: 5.5rem 0;
	}

	#top .topInfoInner {
		display: block;
		width: 90%;
	}

	#top .topInfoHead {
		display: block;
		margin-bottom: 1rem;
	}

	#top .topInfoIllust {
		width: 14rem;
		margin: -8rem 0 0 auto;
	}

	#top .topInfoEntry {
		display: block;
		margin-bottom: 3rem;
	}

	#top .topInfoPhoto {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	#top .topInfoContent {
		display: block;
		width: 100%;
		min-height: 0;
		margin-left: 0;
		padding: 2rem 0 2.5rem;
	}

	#top .topInfoMeta {
		display: flex;
		align-items: center;
		width: 100%;
		margin-bottom: 1.4rem;
	}

	#top .topInfoDate {
		margin: 0 1.4rem 0 0;
		padding-top: 0;
		font-size: 1.6rem;
	}

	#top .topInfoCate {
		width: 11rem;
		height: 3rem;
		font-size: 1.4rem;
	}

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

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

	#top .blogBox {
		margin-top: 4rem;
		padding: 0 2rem 3rem;
	}

	#top .blogTitle {
		height: 5.6rem;
		font-size: 2.2rem;
	}

	#top .blogLead {
		font-size: 1.6rem;
	}

	#top .blogIllust {
		width: 25rem;
	}

	#top .blogBox dl {
		padding: 0;
	}

	#top .blogBox dd {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	#top .recruit_saigai {
		padding: 5.5rem 0;
	}

	#top .recruitSaigaiInner {
		display: block;
		width: 90%;
	}

	#top .recruitSaigaiBox {
		min-height: 0;
		padding: 3rem 2.4rem;
	}

	#top .recruitSaigaiBox + .recruitSaigaiBox {
		margin-top: 3rem;
	}
	
	#top .saigaiBox h3 {
		padding-top: 2rem;
	}

	#top .recruitSaigaiHead {
		display: block;
		margin-bottom: 0;
	}

	#top .recruitSaigaiTitle {
		width: fit-content;
		max-width: 100%;
		height: auto;
		min-height: 5.6rem;
		padding: 1.2rem 2.4rem;
	}

	#top .recruitSaigaiTitle span {
		padding-left: 2rem;
		font-size: 2rem;
		line-height: 1.3;
	}

	#top .recruitSaigaiTitle small {
		display: block;
		margin: 0.4rem 0 0 2.6rem;
		font-size: 1.4rem;
	}

	#top .recruitIllust,
	#top .saigaiIllust {
		position: static;
		width: 16rem;
		margin: 0 0 0 auto;
	}

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

	#top .recruitSaigaiBody h3 {
		margin-bottom: 1rem;
		font-size: 2rem;
		line-height: 1.6;
	}

	#top .recruitSaigaiBody ul,
	#top .saigaiContent ul {
		width: 100%;
		margin-left: 0;
		margin-bottom: 1.5rem;
	}
	
	#top .recruitIllust {
		margin-top: -7rem;
		width: 14rem;
	}

	#top .recruitSaigaiBody li {
		font-size: 1.6rem;
	}

	#top .recruitSaigaiBtn {
		width: 18rem;
		height: 4.4rem;
		font-size: 1.5rem;
	}
	
	#top .saigaiTitle {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		height: auto;
		min-height: 8rem;
		padding: 1.6rem 3rem 1.2rem 2.8rem;
		line-height: 1.3;
	}

	#top .saigaiTitle span {
		display: block;
	}

	#top .saigaiTitle small {
		display: block;
		margin-top: 0.4rem;
		margin-left: 2.2rem;
		line-height: 1.4;
	}

	/* 下層ページ共通 */
	.subPage {
		width: calc(100% - 3rem);
		margin: 10.5rem auto 0;
		padding: 4.5rem 2rem 5rem;
		border-radius: 2.8rem;
	}

	.subbg {
		padding-bottom: 0;
	}

	/* 施設案内：ページヘッド */
	#guide .pageHeadInner {
		min-height: 0;
	}

	#guide .pageHeadContent {
		width: 100%;
		padding-top: 0;
	}

	#guide .pageTitle {
		margin-bottom: 2.8rem;
		font-size: 3.2rem;
		letter-spacing: 0.06em;
	}

	#guide .pageAnchorNav ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}

	#guide .pageAnchorNav a {
		padding: 1.4rem 1.6rem;
		border: 1px solid #f3a8bf;
		border-radius: 999px;
		background: #fff;
		box-shadow: 0 0.4rem 1rem rgba(210, 90, 130, 0.08);
	}

	#guide .pageAnchorNav span {
		display: block;
		padding-right: 2.4rem;
		font-size: 1.6rem;
		text-align: left;
	}

	#guide .pageAnchorNav span::after {
		width: 1.8rem;
		height: 1.8rem;
		font-size: 0.9rem;
	}

	/* 施設案内：共通タイトル */
	#guide .secTitle {
		min-width: 0;
		width: fit-content;
		max-width: calc(100% + 2rem);
		height: auto;
		min-height: 5.6rem;
		margin-left: -2rem;
		margin-bottom: 3.5rem;
		padding: 1.4rem 2.6rem 1.4rem 2.4rem;
		border-radius: 0 3rem 3rem 0;
	}

	#guide .secTitle span {
		padding-left: 1.8rem;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	#guide .secTitle span::before {
		width: 1rem;
		height: 1rem;
	}

	/* 理念・行動指針・概要 */
	#guide .guideRinenSec {
		padding-top: 4.5rem;
	}

	#guide .guideRinenInner,
	#guide .guideSaigaiInner,
	#guide .guideMapInner {
		width: 100%;
	}

	#guide .guideRinenText,
	#guide .guideFoodText,
	#guide .guideSaigaiText {
		width: 100%;
	}

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

	#guide .guideRinenBlock h4,
	#guide .guideSummary h4,
	#guide .guideSaigaiContent h4,
	#guide .guideSaigaiFood h4 {
		margin-bottom: 2rem;
		padding: 0.8rem 1.6rem;
		font-size: 1.8rem;
	}

	#guide .guideRinenBlock p,
	#guide .guideSummaryText p,
	#guide .guidePolicyList p,
	#guide .guideSaigaiContent p,
	#guide .guideFoodText p,
	#guide .guideMapLead {
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	#guide .guideRinenPhoto {
		position: static;
		width: 100%;
		max-width: 100%;
		margin: 2rem 0 0;
		border-radius: 1.2rem;
	}

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

	#guide .guidePolicyList li {
		align-items: flex-start;
		padding: 1.4rem 0;
	}

	#guide .guidePolicyList span {
		width: 3rem;
		height: 3rem;
		margin-top: 0.1rem;
		font-size: 1.6rem;
	}

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

	#guide .guideSummaryTable,
	#guide .guideSummaryTable tbody,
	#guide .guideSummaryTable tr,
	#guide .guideSummaryTable th,
	#guide .guideSummaryTable td {
		display: block;
		width: 100%;
	}

	#guide .guideSummaryTable {
		border-radius: 1rem;
	}

	#guide .guideSummaryTable th,
	#guide .guideSummaryTable td {
		padding: 1.6rem 1.8rem;
		font-size: 1.6rem;
		line-height: 1.75;
		border-right: none;
	}

	#guide .guideSummaryTable th {
		border-bottom: 1px solid #ccc;
	}

	#guide .guideSummaryTable td {
		border-bottom: 1px solid #ccc;
	}

	#guide .guideSummaryTable tr:last-child th {
		border-bottom: 1px solid #ccc;
	}

	#guide .guideHospitalPhoto {
		width: 100%;
		margin: 1.6rem 0 2rem;
	}

	#guide .guideHospitalInfo {
		margin-top: 2rem;
		word-break: break-all;
	}

	#guide .guideAccessBtn {
		justify-content: center;
		margin-top: 3rem;
	}

	#guide .guideAccessBtn a {
		font-size: 1.6rem;
	}

	/* 災害に強い施設 */
	#guide .guideSaigaiSec {
		padding-top: 6rem;
	}

	#guide .guideSaigaiHead,
	#guide .guideFoodLead {
		display: block;
		margin-bottom: 4rem;
	}

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

	#guide .guideSaigaiText p {
		font-size: 1.7rem;
		line-height: 1.8;
	}

	#guide .guideSaigaiIllust {
		width: 17rem;
		margin: 2.5rem 0 0 auto;
	}

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

	#guide .guideSaigaiPhotoList {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.6rem;
		margin-top: 3rem;
	}

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

	#guide .guideSaigaiPhotoList img {
		border-radius: 1.2rem;
	}

	#guide .guideSaigaiPhotoList figcaption,
	#guide .guideFoodPhotoList figcaption,
	#guide .guideMapPhoto figcaption {
		margin-top: 1rem;
		font-size: 1.5rem;
	}

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

	#guide .guideFoodText p {
		margin-bottom: 2rem;
	}

	#guide .guideFoodTableImage {
		width: 100%;
		margin-top: 3rem;
		padding: 2rem;
		border-radius: 1.2rem;
	}

	#guide .guideFoodPhotoList {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem 1.4rem;
		margin-top: 3.5rem;
	}

	#guide .guideFoodPhotoList img {
		height: auto;
		aspect-ratio: 4 / 3;
		border-radius: 1rem;
	}

	/* 施設内マップ */
	#guide .guideMapSec {
		margin: 0;
		padding: 5rem 1.5rem 6rem;
	}

	#guide .guideMapSec .secTitle {
		margin-left: 0;
		margin-bottom: 3rem;
	}

	#guide .guideMapLead {
		margin-bottom: 2.5rem;
	}

	#guide .guideMapImage {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#guide .guideMapImage img {
		width: 72rem;
		max-width: none;
	}

	#guide .guideMapImage::after {
		display: block;
		margin-top: 1rem;
		font-size: 1.3rem;
		font-weight: 500;
		color: #777;
		text-align: center;
		content: "横にスクロールしてご覧ください";
	}

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

	#guide .guideMapPhoto {
		width: 24rem;
		margin-right: 1.6rem;
	}

	/* ページ内メニュー：PC版の印象に寄せつつ、SPでは縦並びでコンパクトに */
	#guide .pageAnchorNav {
		margin-top: 0;
	}

	#guide .pageAnchorNav ul {
		display: block;
		padding: 0 0.6rem;
	}

	#guide .pageAnchorNav li {
		border-bottom: 1px solid rgba(255, 141, 175, 0.35);
	}

	#guide .pageAnchorNav li:first-child {
		border-top: 1px solid rgba(255, 141, 175, 0.35);
	}

	#guide .pageAnchorNav a {
		display: block;
		padding: 1.5rem 0.4rem;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	#guide .pageAnchorNav span {
		position: relative;
		display: block;
		padding-right: 2.4rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		letter-spacing: 0.04em;
		text-align: left;
	}

	#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 .guideMapBox {
		padding: 2.8rem 3rem 3rem;
		border-radius: 0;
	}

	#guide .guideMapImage {
		position: relative;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		direction: rtl;
		-webkit-overflow-scrolling: touch;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 1.2rem;
	}

	#guide .guideMapImage img {
		display: block;
		width: 72rem;
		max-width: none;
		direction: ltr;
	}

	#guide .guideMapImage::after {
		display: none;
	}

	#guide .guideMapBox::after {
		display: block;
		margin-top: 1.4rem;
		padding: 1.2rem 1.4rem;
		border-radius: 1.2rem;
		background: rgba(255, 141, 175, 0.14);
		color: #666;
		font-size: 1.3rem;
		font-weight: 500;
		line-height: 1.7;
		text-align: center;
		content: "横にスワイプして地図を動かせます。ピンチ操作で拡大してご確認ください。";
	}

	#tokuyo .pageHeadInner {
		min-height: 0;
	}

	#tokuyo .pageHeadIllust {
		position: static;
		width: 13rem;
		margin: -5rem 0 0 auto;
	}

	#tokuyo .pageHeadContent {
		width: 100%;
		padding-top: 0;
		text-align: left;
	}

	#tokuyo .pageTitle {
		margin-top: -9rem;
		margin-bottom: 2.6rem;
		padding-left: 1rem;
		font-size: 3rem;
		line-height: 1.35;
		letter-spacing: 0.05em;
		text-align: left;
	}

	#tokuyo .pageAnchorNav ul {
		display: block;
		padding: 0 0.6rem;
	}

	#tokuyo .pageAnchorNav li {
		border-bottom: 1px solid rgba(255, 141, 175, 0.35);
	}

	#tokuyo .pageAnchorNav li:first-child {
		border-top: 1px solid rgba(255, 141, 175, 0.35);
	}

	#tokuyo .pageAnchorNav a {
		display: block;
		padding: 1.5rem 0.4rem;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	#tokuyo .pageAnchorNav span {
		position: relative;
		display: block;
		padding-right: 2.4rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		letter-spacing: 0.04em;
		text-align: left;
	}

	#tokuyo .pageHeadPhoto {
		width: 100%;
		margin-top: 2.6rem;
		border-radius: 1.2rem;
		overflow: hidden;
	}

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

	#tokuyo .secTitle {
		min-width: 0;
		width: fit-content;
		max-width: calc(100% + 2rem);
		height: auto;
		min-height: 5.6rem;
		margin-left: -2rem;
		margin-bottom: 3rem;
		padding: 1.4rem 2.6rem 1.4rem 2.4rem;
		border-radius: 0 3rem 3rem 0;
	}

	#tokuyo .secTitle span {
		padding-left: 1.8rem;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	#tokuyo .secTitle span::before {
		width: 1rem;
		height: 1rem;
	}

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

	#tokuyo .gaiyoInner,
	#tokuyo .roomList,
	#tokuyo .daySchedule {
		display: block;
	}

	#tokuyo .gaiyoContent,
	#tokuyo .roomBox,
	#tokuyo .daySchedule,
	#tokuyo .dayScheduleBox {
		width: 100%;
	}

	#tokuyo .gaiyoContent h4 {
		margin-bottom: 1.6rem;
		font-size: 1.9rem;
		line-height: 1.6;
	}

	#tokuyo .gaiyoContent p,
	#tokuyo .dayLead p,
	#tokuyo .healthLead,
	#tokuyo .healthCheck li {
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
		font-weight: 500;
	}

	#tokuyo .gaiyoContent table,
	#tokuyo .gaiyoContent tbody,
	#tokuyo .gaiyoContent tr,
	#tokuyo .gaiyoContent th,
	#tokuyo .gaiyoContent td,
	#tokuyo .healthTable,
	#tokuyo .healthTable tbody,
	#tokuyo .healthTable tr,
	#tokuyo .healthTable th,
	#tokuyo .healthTable td {
		display: block;
		width: 100%;
	}

	#tokuyo .gaiyoContent table,
	#tokuyo .healthTable {
		margin-top: 3rem;
		border-radius: 1rem;
		overflow: hidden;
	}

	#tokuyo .gaiyoContent th,
	#tokuyo .gaiyoContent td,
	#tokuyo .healthTable th,
	#tokuyo .healthTable td {
		padding: 1.5rem 1.8rem;
		font-size: 1.6rem;
		line-height: 1.6;
		font-weight: 500;
		border: none;
	}

	#tokuyo .gaiyoContent th,
	#tokuyo .healthTable th {
		background: #e9e3d7;
		border-bottom: 1px solid #ccc;
	}

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

	#tokuyo .pdfLink a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 0 0 1.2rem;
		border-bottom: 1px solid #333;
		text-decoration: none;
		font-size: 1.6rem;
	}

	#tokuyo .pdfLink a + a {
		margin-top: 2rem;
	}

	#tokuyo .pdfLink a::after {
		flex-shrink: 0;
		margin-left: 1.5rem;
	}

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

	#tokuyo .roomList {
		margin-top: 3rem;
	}

	#tokuyo .roomBox + .roomBox {
		margin-top: 3.5rem;
	}

	#tokuyo .roomPhoto {
		border-radius: 1.2rem;
	}

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

	#tokuyo .roomText h4 {
		margin-bottom: 0.6rem;
		font-size: 1.8rem;
	}

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

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

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

	#tokuyo .daySlider {
		margin: 0;
		overflow: hidden;
	}

	#tokuyo .daySliderTrack {
		animation-duration: 42s;
	}

	#tokuyo .dayPhoto {
		width: calc((100vw - 8.6rem) / 2);
		max-width: 32rem;
		margin-right: 1.6rem;
	}

	#tokuyo .dayPhoto img {
		height: auto;
		aspect-ratio: 4 / 3;
		border-radius: 1rem;
		object-fit: cover;
	}

	#tokuyo .dayPhoto figcaption {
		margin-top: 1rem;
		font-size: 1.4rem;
	}

	#tokuyo .daySchedule {
		margin-top: 4.5rem;
	}

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

	#tokuyo .dayScheduleTitle {
		width: 15rem;
		height: 4.4rem;
		margin-bottom: 1.6rem;
		font-size: 1.9rem;
	}

	#tokuyo .daySchedule th,
	#tokuyo .daySchedule td {
		padding: 1.5rem 1.6rem;
		font-size: 1.6rem;
		line-height: 1.65;
	}

	#tokuyo .daySchedule th {
		width: 7.8rem;
	}

	#tokuyo .healthSec {
		margin: 0 -2rem;
		padding: 5.5rem 2rem 6rem;
	}

	#tokuyo .healthInner {
		width: 100%;
	}

	#tokuyo .healthBox {
		margin: 1.5rem;
		padding: 3rem 2rem;
		border-radius: 1.4rem;
	}

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

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

	#tokuyo .healthCheck h4 {
		font-size: 1.9rem;
		line-height: 1.5;
	}

	#tokuyo .healthCheck li {
		padding-left: 1.6rem;
	}

	/* ページヘッド */
	#short .pageHeadInner {
		min-height: 0;
	}

	#short .pageHeadIllust {
		position: static;
		width: 14rem;
		margin: -3rem 0 2rem auto;
	}

	#short .pageHeadContent {
		width: 100%;
		padding-top: 0;
		text-align: left;
	}

	#short .pageTitle {
		margin-top: -7rem;
		margin-bottom: 2.6rem;
		padding-left: 1rem;
		font-size: 3rem;
		line-height: 1.35;
		letter-spacing: -0.25rem;
		text-align: left;
	}

	/* ページ内メニュー */
	#short .pageAnchorNav {
		margin-top: 0;
	}

	#short .pageAnchorNav ul {
		display: block;
		padding: 0 0.6rem;
	}

	#short .pageAnchorNav li {
		border-bottom: 1px solid rgba(255, 141, 175, 0.35);
	}

	#short .pageAnchorNav li:first-child {
		border-top: 1px solid rgba(255, 141, 175, 0.35);
	}

	#short .pageAnchorNav a {
		display: block;
		padding: 1.5rem 0.4rem;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	#short .pageAnchorNav span {
		position: relative;
		display: block;
		padding-right: 2.4rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		letter-spacing: 0.04em;
		text-align: left;
	}

	#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";
	}

	/* メイン写真：ページ内リンクの直下へ配置 */
	#short .pageHeadPhoto {
		width: 100%;
		margin-top: 2.6rem;
		border-radius: 1.2rem;
		overflow: hidden;
	}

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

	/* 共通タイトル */
	#short .secTitle {
		min-width: 0;
		width: fit-content;
		max-width: calc(100% + 2rem);
		height: auto;
		min-height: 5.6rem;
		margin-left: -2rem;
		margin-bottom: 3rem;
		padding: 1.4rem 2.6rem 1.4rem 2.4rem;
		border-radius: 0 3rem 3rem 0;
	}

	#short .secTitle span {
		padding-left: 1.8rem;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	#short .secTitle span::before {
		width: 1rem;
		height: 1rem;
	}

	/* 概要・料金 */
	#short .gaiyoSec {
		padding-top: 4.5rem;
	}

	#short .gaiyoInner {
		display: block;
	}

	#short .gaiyoContent,
	#short .gaiyoPhoto {
		width: 100%;
	}

	#short .gaiyoPhoto {
		display: none;
	}

	#short .gaiyoContent h4 {
		margin-bottom: 1.6rem;
		font-size: 1.9rem;
		line-height: 1.6;
	}

	#short .gaiyoContent p {
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	#short .gaiyoContent table,
	#short .gaiyoContent tbody,
	#short .gaiyoContent tr,
	#short .gaiyoContent th,
	#short .gaiyoContent td {
		display: block;
		width: 100%;
	}

	#short .gaiyoContent table {
		margin-top: 3rem;
		border-radius: 1rem;
		overflow: hidden;
	}

	#short .gaiyoContent th,
	#short .gaiyoContent td {
		padding: 1.5rem 1.8rem;
		font-size: 1.6rem;
		line-height: 1.6;
		border: none;
	}

	#short .gaiyoContent th {
		background: #e9e3d7;
		border-bottom: 1px solid #ccc;
	}

	#short .pdfLink a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 0 0 1.2rem;
		border-bottom: 1px solid #333;
		text-decoration: none;
		font-size: 1.6rem;
	}

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

	#short .pdfLink a::after {
		flex-shrink: 0;
		margin-left: 1.5rem;
	}

	/* 居室案内 */
	#short .roomSec {
		padding-top: 6rem;
	}

	#short .roomList {
		display: block;
		margin-top: 3rem;
	}

	#short .roomBox {
		width: 100%;
	}

	#short .roomBox + .roomBox {
		margin-top: 3.5rem;
	}

	#short .roomPhoto {
		border-radius: 1.2rem;
	}

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

	#short .roomText h4 {
		margin-bottom: 0.6rem;
		font-size: 1.9rem;
	}

	/* 1日の過ごし方 */
	#short .daySec {
		margin: 6rem 0;
	}

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

	#short .dayLead p {
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
		font-weight: 500;
	}

	#short .daySlider {
		margin: 0;
		overflow: hidden;
	}

	#short .daySliderTrack {
		animation-duration: 42s;
	}

	#short .dayPhoto {
		width: calc((100vw - 8.6rem) / 2);
		max-width: 32rem;
		margin-right: 1.6rem;
	}

	#short .dayPhoto img {
		height: auto;
		aspect-ratio: 4 / 3;
		border-radius: 1rem;
		object-fit: cover;
	}

	#short .dayPhoto figcaption {
		margin-top: 1rem;
		font-size: 1.4rem;
	}

	#short .daySchedule {
		display: block;
		width: 100%;
		margin-top: 4.5rem;
	}

	#short .dayScheduleBox {
		width: 100%;
	}

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

	#short .dayScheduleTitle {
		width: 15rem;
		height: 4.4rem;
		margin-bottom: 1.6rem;
		font-size: 1.9rem;
	}

	#short .daySchedule th,
	#short .daySchedule td {
		padding: 1.5rem 1.6rem;
		font-size: 1.6rem;
		line-height: 1.65;
	}

	#short .daySchedule th {
		width: 7.8rem;
	}

	/* 空き状況カレンダー */
	#short .calenderSec {
		padding: 5.5rem 0 6rem;
	}

	#short .calenderInner {
		width: calc(100% - 3rem);
	}

	#short .calenderHead {
		display: block;
		margin-bottom: 2.5rem;
	}

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

	#short .calenderLead {
		font-size: 1.5rem;
		line-height: 1.7;
	}

	#short .calBox {
		padding: 2.2rem 1.4rem;
		border-radius: 1.4rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#short .calTarget {
		font-size: 1.8rem;
	}

	#short .calTb {
		min-width: 62rem;
		margin-top: 1.6rem;
	}

	#short .calTb th,
	#short .calTb td {
		font-size: 1.4rem;
	}

	#short .calTb td {
		height: 5.8rem;
		padding: 0.6rem;
	}

	#short .calTb .akisuu {
		font-size: 2rem;
	}

	#short .calBox::after {
		display: block;
		margin-top: 1.2rem;
		font-size: 1.3rem;
		font-weight: 500;
		color: #777;
		text-align: center;
		content: "横にスワイプしてカレンダーをご覧いただけます";
	}

	/* ご注意 */
	#short .cautionSec {
		padding: 5.5rem 0 6rem;
	}

	#short .cautionInner {
		width: calc(100% - 3rem);
	}

	#short .cautionBox {
		padding: 3rem;
		border-radius: 1.4rem;
	}
	
	#short .cautionBox hr {
		margin: 2rem 0;
	}

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

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

	#short .cautionList li {
		padding-left: 1.6rem;
		font-size: 1.6rem;
		line-height: 1.6;
		font-weight: 500;
	}

	#short .cautionBlock h4 {
		font-size: 1.8rem;
		line-height: 1.5;
	}

	#short .cautionTelBox {
		display: block;
		padding: 1.8rem;
		text-align: center;
	}

	#short .cautionTelBox span {
		display: block;
		margin: 0 0 0.8rem;
		font-size: 1.5rem;
	}

	#short .cautionTelBox strong {
		font-size: 1.8rem;
		line-height: 1.4;
	}

	/* 空き状況カレンダー：月ごとに横スクロール */
	#short .calBox {
		padding: 2.2rem 1.4rem;
		border-radius: 1.4rem;
		overflow: visible;
	}

	#short .calMonth {
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	#short .calMonth + .calMonth {
		margin-top: 3rem;
	}

	#short .calTarget {
		float: none;
		display: block;
		width: 100%;
		padding-top: 0;
		font-size: 1.8rem;
		text-align: left;
		clear: none;
	}

	#short .calTb {
		min-width: 62rem;
		margin-top: 1.6rem;
	}

	#short .calBox::after {
		display: none;
	}

	#short .calMonth::after {
		display: block;
		margin-top: 1.2rem;
		font-size: 1.3rem;
		font-weight: 500;
		color: #777;
		text-align: center;
		content: "横にスワイプしてカレンダーをご覧いただけます";
	}

	/* ご注意：電話番号ブロックの中央揃え */
	#short .cautionTelBox {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin: 3rem auto 0;
		padding: 0;
		text-align: center;
	}

	#short .cautionTelBox span {
		display: flex;
		align-items: center;
		justify-content: center;
		width: min(100%, 28rem);
		height: 5rem;
		margin: 0 auto 1.6rem;
		padding: 0 1.6rem;
		font-size: 1.7rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
		border-radius: 999px;
		background: #ff8daf;
		color: #fff;
	}

	#short .cautionTelBox strong {
		display: block;
		margin: 0 auto;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		white-space: nowrap;
	}

	#short .calMonth,
	#day .calMonth {
		padding-bottom: 1rem;
	}

	/* ページヘッド */
	#day .pageHeadInner {
		min-height: 0;
	}
	
	#day .subPage {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	#day .pageHeadIllust {
		position: static;
		width: 15rem;
		margin: -4rem 0 2rem auto;
	}

	#day .pageHeadContent {
		width: 100%;
		padding-top: 0;
		text-align: left;
	}

	#day .pageTitle {
		margin-top: -8rem;
		margin-bottom: 2.6rem;
		padding-left: 1rem;
		font-size: 3rem;
		line-height: 1.35;
		letter-spacing: -0.25rem;
		text-align: left;
	}

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

	#day .pageAnchorNav ul {
		display: block;
		padding: 0 0.6rem;
	}

	#day .pageAnchorNav li {
		border-bottom: 1px solid rgba(255, 141, 175, 0.35);
	}

	#day .pageAnchorNav li:first-child {
		border-top: 1px solid rgba(255, 141, 175, 0.35);
	}

	#day .pageAnchorNav a {
		display: block;
		padding: 1.5rem 0.4rem;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	#day .pageAnchorNav span {
		position: relative;
		display: block;
		padding-right: 2.4rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		letter-spacing: 0.04em;
		text-align: left;
	}

	#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";
	}

	#day .pageHeadPhoto {
		width: 100%;
		margin-top: 2.6rem;
		border-radius: 1.2rem;
		overflow: hidden;
	}

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

	#day .secTitle,
	#day .rehaTitle {
		min-width: 0;
		width: fit-content;
		max-width: calc(100% + 2rem);
		height: auto;
		min-height: 5.6rem;
		margin-left: -2rem;
		margin-bottom: 3rem;
		padding: 1.4rem 2.6rem 1.4rem 2.4rem;
		border-radius: 0 3rem 3rem 0;
	}

	#day .secTitle span,
	#day .rehaTitle span {
		padding-left: 1.8rem;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	#day .secTitle span::before,
	#day .rehaTitle span::before {
		width: 1rem;
		height: 1rem;
	}

	/* 概要・料金 */
	#day .gaiyoSec {
		padding-top: 4.5rem;
	}

	#day .gaiyoInner {
		display: block;
	}

	#day .gaiyoContent,
	#day .gaiyoPhoto {
		width: 100%;
	}

	#day .gaiyoPhoto {
		display: none;
	}

	#day .gaiyoContent h4 {
		margin-bottom: 1.6rem;
		font-size: 1.9rem;
		line-height: 1.6;
	}

	#day .gaiyoContent p,
	#day .dayLead p,
	#day .rehaLeadBox p,
	#day .rehaEffectBox p,
	#day .rehaMachineBox p,
	#day .cautionBox p {
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
		font-weight: 500;
	}

	#day .gaiyoContent table,
	#day .gaiyoContent tbody,
	#day .gaiyoContent tr,
	#day .gaiyoContent th,
	#day .gaiyoContent td {
		display: block;
		width: 100%;
	}

	#day .gaiyoContent table {
		margin-top: 3rem;
		border-radius: 1rem;
		overflow: hidden;
	}

	#day .gaiyoContent th,
	#day .gaiyoContent td {
		padding: 1.5rem 1.8rem;
		font-size: 1.6rem;
		line-height: 1.6;
		border: none;
	}

	#day .gaiyoContent th {
		background: #e9e3d7;
		border-bottom: 1px solid #ccc;
	}

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

	#day .pdfLink a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 0 0 1.2rem;
		border-bottom: 1px solid #333;
		text-decoration: none;
		font-size: 1.6rem;
	}
	
	#day .pdfLink span {
		display: block;
		flex: 1;
		padding-right: 2rem;
	}

	#day .pdfLink img,
	#day .pdfLink svg {
		flex-shrink: 0;
		margin-left: 1.5rem;
	}

	/* 1日の過ごし方 */
	#day .daySec {
		margin: 6rem 0;
	}

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

	#day .daySlider {
		margin: 0;
		overflow: hidden;
	}

	#day .daySliderTrack {
		animation-duration: 42s;
	}

	#day .dayPhoto {
		width: calc((100vw - 8.6rem) / 2);
		max-width: 32rem;
		margin-right: 1.6rem;
	}

	#day .dayPhoto img {
		height: auto;
		aspect-ratio: 4 / 3;
		border-radius: 1rem;
		object-fit: cover;
	}

	#day .dayPhoto figcaption {
		margin-top: 1rem;
		font-size: 1.4rem;
		line-height: 1.5;
	}

	#day .daySchedule {
		display: block;
		width: 100%;
		margin-top: 4.5rem;
	}

	#day .dayScheduleBox {
		width: 100%;
	}

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

	#day .dayScheduleTitle {
		width: 15rem;
		height: 4.4rem;
		margin-bottom: 1.6rem;
		font-size: 1.9rem;
	}

	#day .daySchedule th,
	#day .daySchedule td {
		padding: 1.5rem 1.6rem;
		font-size: 1.6rem;
		line-height: 1.65;
	}

	#day .daySchedule th {
		width: 7.8rem;
	}

	/* パワーリハビリ */
	#day .rehaSec {
		margin: 0 -2rem 4rem;
		padding: 0 2rem 2rem;
	}

	#day .rehaInner {
		width: 100%;
	}

	#day .rehaLeadBox {
		padding: 2.4rem 2rem;
		border-radius: 1.4rem;
	}

	#day .rehaLeadBox h4,
	#day .rehaEffectBox h4,
	#day .rehaSubTitle {
		font-size: 1.9rem;
		line-height: 1.5;
	}

	#day .rehaEffectList {
		display: block;
		margin-top: 3rem;
	}

	#day .rehaEffectBox {
		width: 100%;
		min-height: auto;
		padding: 2.4rem 2rem;
		border-radius: 1.4rem;
	}

	#day .rehaEffectBox + .rehaEffectBox {
		margin-top: 2rem;
	}

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

	#day .rehaMachineList {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.8rem;
	}

	#day .rehaMachinePhoto {
		border-radius: 1.2rem;
	}

	#day .rehaMachineBox h5 {
		font-size: 1.7rem;
		line-height: 1.5;
	}

	/* 空き状況カレンダー */
	#day .calenderSec {
		padding: 4rem 0;
	}

	#day .calenderInner {
		width: calc(100% - 3rem);
	}

	#day .calenderHead {
		display: block;
		margin-bottom: 2.5rem;
	}

	#day .calenderHead .secTitle {
		margin-left: -2rem;
		margin-bottom: 2rem;
	}

	#day .calenderLead {
		font-size: 1.5rem;
		line-height: 1.7;
	}

	#day .calBox {
		padding: 2.2rem 1.4rem;
		border-radius: 1.4rem;
		overflow: visible;
	}

	#day .calMonth {
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	#day .calMonth + .calMonth {
		margin-top: 3rem;
	}

	#day .calTarget {
		float: none;
		display: block;
		width: 100%;
		padding-top: 0;
		font-size: 1.8rem;
		text-align: left;
		clear: none;
	}

	#day .calTb {
		min-width: 62rem;
		margin-top: 1.6rem;
	}

	#day .calTb th,
	#day .calTb td {
		font-size: 1.4rem;
	}

	#day .calTb td {
		height: 5.8rem;
		padding: 0.6rem;
	}

	#day .calTb .akisuu {
		font-size: 2rem;
	}

	#day .calBox::after {
		display: none;
	}

	#day .calMonth::after {
		display: block;
		margin-top: 1.2rem;
		font-size: 1.3rem;
		font-weight: 500;
		color: #777;
		text-align: center;
		content: "横にスワイプしてカレンダーをご覧いただけます";
	}

	/* ご注意 */
	#day .cautionSec {
		padding: 4rem 0;
	}

	#day .cautionInner {
		width: calc(100% - 3rem);
	}

	#day .cautionBox {
		padding: 3rem;
		border-radius: 1.4rem;
	}
	
	#day .cautionBox hr {
		margin: 2rem 0;
	}

	#day .cautionList li {
		padding-left: 1.6rem;
		font-size: 1.6rem;
		line-height: 1.75;
		font-weight: 500;
	}

	#day .cautionBlock h4 {
		padding: 1rem;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	#day .cautionBlock h4::before {
		margin-right: 0.5rem;
	}

	#day .cautionTelBox {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin: 3rem auto 0;
		padding: 0;
		text-align: center;
	}

	#day .cautionTelBox span {
		display: flex;
		align-items: center;
		justify-content: center;
		width: min(100%, 28rem);
		height: 5rem;
		margin: 0 auto 1.6rem;
		padding: 0 1.6rem;
		font-size: 1.7rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
		border-radius: 999px;
		background: #ff8daf;
		color: #fff;
	}

	#day .cautionTelBox strong {
		display: block;
		margin: 0 auto;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
	}

	#day .cautionNote {
		margin-top: 2rem;
		text-align: center;
	}

	
	#summary .subPage {
		padding-bottom: 0;
	}
	
	#summary .pageHeadInner {
		min-height: 0;
	}

	#summary .pageHeadContent {
		width: 100%;
		padding-top: 0;
	}

	#summary .pageTitle {
		margin-bottom: 0;
		font-size: 3.2rem;
		letter-spacing: 0.06em;
	}

	#summary .summarySec {
		padding-top: 4.5rem;
	}

	#summary .summaryInner {
		width: 100%;
	}

	#summary .summaryTable,
	#summary .summaryTable tbody,
	#summary .summaryTable tr,
	#summary .summaryTable th,
	#summary .summaryTable td {
		display: block;
		width: 100%;
	}

	#summary .summaryTable {
		border-radius: 1rem;
	}

	#summary .summaryTable th,
	#summary .summaryTable td {
		padding: 1.6rem 1.8rem;
		font-size: 1.6rem;
		line-height: 1.75;
		border-right: none;
	}

	#summary .summaryTable th {
		border-bottom: 1px solid #ccc;
	}

	#summary .summaryTable td {
		border-bottom: 1px solid #ccc;
	}

	#summary .summaryTable tr:last-child th {
		border-bottom: 1px solid #ccc;
	}

	#summary .summaryBusiness {
		display: block;
	}

	#summary .summaryPhoto {
		width: 100%;
		margin-top: 2.4rem;
		border-radius: 1rem;
		overflow: hidden;
	}

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

	#access .subPage {
		padding-bottom: 2rem;
	}
	
	#access .pageHeadInner {
		min-height: 0;
	}

	#access .pageHeadContent {
		width: 100%;
		padding-top: 0;
	}

	#access .pageTitle {
		margin-bottom: 2.8rem;
		font-size: 3.2rem;
		letter-spacing: 0.06em;
	}

	#access .accessSec {
		
	}

	#access .accessInner {
		width: 100%;
	}

	#access .accessLead {
		margin-bottom: 4rem;
		text-align: left;
	}

	#access .accessLead p {
		font-size: 1.6rem;
		line-height: 1.8;
		text-align: center;
	}

	#access .accessBlock {
		display: block;
	}

	#access .accessText {
		width: 100%;
	}

	#access .secTitle {
		min-width: 0;
		width: fit-content;
		max-width: calc(100% + 2rem);
		height: auto;
		min-height: 5.6rem;
		margin-left: -2rem;
		margin-bottom: 3rem;
		padding: 1.4rem 2.6rem 1.4rem 2.4rem;
		border-radius: 0 3rem 3rem 0;
	}

	#access .secTitle span {
		padding-left: 1.8rem;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	#access .secTitle span::before {
		width: 1rem;
		height: 1rem;
	}

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

	#access .accessWay h4 {
		min-width: 0;
		margin-bottom: 1.4rem;
		padding: 0.8rem 1.6rem;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	#access .accessWay p,
	#access .accessAddress p {
		font-size: 1.6rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	#access .accessPhoto,
	#access .accessImageMap {
		width: 100%;
		margin-top: 3rem;
		border-radius: 1.2rem;
	}

	#access .accessName {
		margin-bottom: 1.6rem;
		font-size: 1.7rem;
		line-height: 1.7;
	}

	#access .googleMap {
		height: 36rem;
		border-radius: 1.2rem;
	}

	#foodmenu .foodAboutLead {
		display: block;
	}
	
	#foodmenu .pageHeadInner {
		min-height: 0;
	}

	#foodmenu .pageHeadContent {
		width: 100%;
		padding-top: 0;
	}

	#foodmenu .pageTitle {
		margin-bottom: 2.8rem;
		font-size: 3.2rem;
		line-height: 1.35;
		letter-spacing: 0.06em;
		text-align: center;
	}

	#foodmenu .pageAnchorNav ul {
		display: block;
		padding: 0 0.6rem;
	}

	#foodmenu .pageAnchorNav li {
		border-bottom: 1px solid rgba(255, 141, 175, 0.35);
	}

	#foodmenu .pageAnchorNav li:first-child {
		border-top: 1px solid rgba(255, 141, 175, 0.35);
	}

	#foodmenu .pageAnchorNav a {
		display: block;
		padding: 1.5rem 0.4rem;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	#foodmenu .pageAnchorNav span {
		position: relative;
		display: block;
		padding-right: 2.4rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		letter-spacing: 0.04em;
		text-align: left;
	}

	#foodmenu .secTitle {
		min-width: 0;
		width: fit-content;
		max-width: calc(100% + 2rem);
		height: auto;
		min-height: 5.6rem;
		margin: 1rem 0 0 -2rem;
		padding: 1.4rem 2.6rem 1.4rem 2.4rem;
		border-radius: 0 3rem 3rem 0;
	}

	#foodmenu .secTitle span {
		padding-left: 1.8rem;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	#foodmenu .secTitle span::before {
		width: 1rem;
		height: 1rem;
	}

	#foodmenu .foodAboutText,
	#foodmenu .foodAboutPhoto {
		width: 100%;
	}
	
	#foodmenu .foodAboutText p {
		font-size: 1.6rem;
	}

	#foodmenu .foodAboutPhoto {
		margin-top: 3rem;
	}

	/* ① こんなことに気をつけています */
	#foodmenu .foodPoint {
		margin-bottom: 4rem;
	}
	#foodmenu .foodPoint h4 {	
    	padding: 1rem 2.5rem;
		font-size: 1.9rem;
	}
	
	#foodmenu .foodPointList {
		padding-left: 0;
	}

	#foodmenu .foodPointList li {
		position: relative;
		padding-left: 1.6rem;
		font-size: 1.6rem;
		line-height: 1.8;
	}

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

	/* ② 食形態：縦横入れ替え */
	#foodmenu .foodType h4 {	
    	padding: 1rem 2.5rem;
		font-size: 1.9rem;
	}
	#foodmenu .foodTypeTable,
	#foodmenu .foodTypeTable tbody,
	#foodmenu .foodTypeTable tr {
		display: block;
		width: 100%;
		border: none;
	}
	#foodmenu .foodTypeTable th, #foodmenu .foodTypeTable td {
		border: none;
	}

	#foodmenu .foodTypeTable tbody {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	#foodmenu .foodTypeTable tr {
		display: contents;
	}

	#foodmenu .foodTypeTable th,
	#foodmenu .foodTypeTable td {
		display: block;
		width: 100%;
		padding: 1.3rem 0.8rem;
		font-size: 1.5rem;
		line-height: 1.5;
		text-align: center;
	}
	#foodmenu .foodTypeTable tr:last-child th, #foodmenu .foodTypeTable tr:last-child td {
	}
	#foodmenu .foodTypeTable tr:last-child td {
		border-bottom: 1px solid #ccc;
	}
	
	#foodmenu .foodTypeTable {
		border: 1px solid #ccc;
		border-radius: 1rem;
		overflow: hidden;
	}

	#foodmenu .foodTypeTable th,
	#foodmenu .foodTypeTable td {
		border: none;
		border-right: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
	}

	#foodmenu .foodTypeTable tr:nth-child(2) > * {
		border-right: none;
	}

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

	#foodmenu .foodTypeTable tr:first-child > * {
		grid-column: 1;
	}

	#foodmenu .foodTypeTable tr:nth-child(2) > * {
		grid-column: 2;
	}

	#foodmenu .foodTypeTable tr > *:nth-child(1) {
		grid-row: 1;
	}

	#foodmenu .foodTypeTable tr > *:nth-child(2) {
		grid-row: 2;
	}

	#foodmenu .foodTypeTable tr > *:nth-child(3) {
		grid-row: 3;
	}

	#foodmenu .foodTypeTable tr > *:nth-child(4) {
		grid-row: 4;
	}

	#foodmenu .foodTypeTable tr > *:nth-child(5) {
		grid-row: 5;
	}

	#foodmenu .foodTypeTable tr > *:nth-child(6) {
		grid-row: 6;
	}

	/* ③ 週間献立表：SP横スクロール */
	#foodmenu .weeklyMenuSec {
		padding-top: 4rem;
	}
	#foodmenu .weeklyMenuTable {
		width: 100%;
		margin-top: 3rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 2rem;
	}

	#foodmenu .weeklyMenuTable table {
		width: auto;
		min-width: 90rem;
		table-layout: auto;
		border-right: none;
	}
	
	#foodmenu .weeklyMenuTable td:nth-child(2) {
		width: 2rem;
	}

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

	#foodmenu .weeklyMenuTable td {
		padding: 1.3rem;
		font-size: 1.4rem;
		line-height: 1.65;
		vertical-align: top;
	}

	#foodmenu .weeklyMenuTable tr:first-child td {
		padding: 0.5rem 1rem;
		font-size: 1.6rem;
	}

	#foodmenu .weeklyMenuTable::after {
		display: block;
		margin-top: 1.2rem;
		font-size: 1.3rem;
		color: #777;
		text-align: center;
		content: "横にスワイプして献立表をご覧いただけます";
	}
	#foodmenu .weeklyMenuTable::before {
		display: block;
		margin-top: 0;
		padding-bottom: 2rem;
		font-size: 1.3rem;
		color: #777;
		text-align: center;
		content: "横にスワイプして献立表をご覧いただけます";
	}

	/* ④ 行事メニュー下の写真：2列 */
	#foodmenu .seasonGalleryTrack {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2.4rem 1.6rem;
	}

	#foodmenu .seasonItem {
		width: 100%;
	}

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

	#foodmenu .seasonItem p {
		margin-top: 0.8rem;
		font-size: 1.4rem;
		line-height: 1.5;
		text-align: center;
	}
	
	#foodmenu .foodNewsPickup {
		display: block;
		margin-top: 3rem;
		padding: 2rem;
		border-radius: 1.4rem;
	}

	#foodmenu .foodNewsPickupPhoto {
		width: 100%;
		margin: 0 0 2rem;
	}

	#foodmenu .foodNewsPickupPhoto img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 1rem;
	}

	#foodmenu .foodNewsPickupHead,
	#foodmenu .foodNewsPickupText {
		width: 100%;
	}
	
	#foodmenu .foodNewsPickupHead {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
	}

	#foodmenu .foodNewsPickupHead h4 {
		margin-bottom: 0.6rem;
		font-size: 1.9rem;
		line-height: 1.5;
	}

	#foodmenu .foodNewsPickupHead time {
		font-size: 1.4rem;
	}

	#foodmenu .foodNewsPickupText {
		margin-top: 1.6rem;
	}

	#foodmenu .foodNewsPickupText p {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#foodmenu .foodNewsList {
		display: block;
		margin-top: 3rem;
	}

	#foodmenu .foodNewsList .blogPickupItem {
		display: block;
		width: 100%;
	}

	#foodmenu .foodNewsList .blogPickupItem + .blogPickupItem {
		margin-top: 3rem;
	}

	#foodmenu .foodNewsList .blogPickupPhoto {
		width: 100%;
		margin: 0 0 1.6rem;
	}

	#foodmenu .foodNewsList .blogPickupPhoto img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 1rem;
	}

	#foodmenu .foodNewsList .blogPickupBody {
		width: 100%;
	}

	#foodmenu .foodNewsList .blogPickupTitle {
		font-size: 1.8rem;
		line-height: 1.5;
	}

	#foodmenu .foodNewsList time {
		font-size: 1.4rem;
	}

	#foodmenu .foodNewsList p {
		font-size: 1.5rem;
		line-height: 1.75;
	}

	/*#foodmenu .foodNewsBtn {
		margin-top: 3.5rem;
	}

	#foodmenu .foodNewsBtn a {
		width: 100%;
		max-width: 32rem;
		height: 5.6rem;
		font-size: 1.6rem;
	}*/
	
	#foodmenu .foodNewsBtn {
		display: flex;
		justify-content: center;
		margin-top: 4rem;
	}

	#foodmenu .foodNewsBtn a {
		display: inline-flex;
		align-items: center;
		gap: 2rem;
		padding: 0 0 1rem;
		border-bottom: 1px solid #333;
		text-decoration: none;
		font-size: 1.6rem;
	}

	#foodmenu .foodNewsBtn a::after {
		flex-shrink: 0;
	}
	
	#foodmenu .foodNewsList .blogPickupBody p {
		font-size: 1.6rem;
	}
	
	#foodmenu .eventMenuList li {
		position: relative;
		display: flex;
		align-items: flex-start;
		width: 100% !important;
		padding: 1.4rem 0 1.4rem 2rem;
		font-size: 1.6rem;
		line-height: 1.65;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: normal;
		box-sizing: border-box;
	}

	#foodmenu .eventMenuList li::before {
		position: absolute;
		left: 0;
		top: 2.2rem;
		flex: none;
	}

	#foodmenu .eventMenuList li span {
		flex: 0 0 5.2rem;
		min-width: 5.2rem;
		margin-right: 1.2rem;
		white-space: nowrap;
	}

	#foodmenu .eventMenuList li {
		min-width: 0;
	}
	#foodmenu .eventMenuInner {
		width: 100%;
		padding: 0 2rem;
		box-sizing: border-box;
	}

	#foodmenu .eventMenuBox,
	#foodmenu .eventMenuHead,
	#foodmenu .eventMenuContent,
	#foodmenu .eventMenuList {
		width: 100%;
		box-sizing: border-box;
	}
	#foodmenu .eventMenuBox {
		margin-top: 2rem;
		padding: 3rem;
	}
	#foodmenu .eventMenuHead {
		min-height: auto;
	}
	#foodmenu .eventMenuPhotoWrap {
		position: static;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 1.6rem;
		width: 100%;
		margin-top: 3rem;
	}
	#foodmenu .eventMenuPhoto01,
	#foodmenu .eventMenuPhoto02 {
		width: calc(50% - 0.8rem);
		max-width: 18rem;
		margin: 0;
	}
	#foodmenu .eventMenuPhoto p {
		position: static;
		margin-top: 0.8rem;
		font-size: 1.3rem;
		line-height: 1.5;
		text-align: center;
		white-space: normal;
	}
	#foodmenu .eventMenuContent h4 {
		padding: 1rem 1.5rem;
    	font-size: 2rem;
	}
	#foodmenu .seasonGalleryWrap {
		margin-top: 3rem;
	}
	#foodmenu .seasonItem:last-child:nth-child(odd) {
		grid-column: 1 / 3;
		justify-self: center;
		width: calc(50% - 0.8rem);
	}
	#foodmenu .weeklyMenuTable tr:first-child td {
		padding: 1rem;
		font-size: 1.6rem;
	}
	#foodmenu .weeklyMenuInner > p {
		margin-bottom: 0;
		margin-top: 2rem;
	}
	
	#foodmenu .foodNewsSec {
		padding-top: 4rem;
	}
	
	#foodmenu .foodNewsList.blogPickupList {
		margin-top: 3rem;
		gap:0;
	}
	

	#info .subPage,
	#info-detail .subPage {
		margin-top: 10.5rem;
		padding: 4.5rem 2rem 0;
	}

	#info .pageHeadContent,
	#info-detail .pageHeadContent {
		width: 100%;
		padding-top: 0;
	}

	#info .pageTitle,
	#info-detail .pageTitle {
		margin-bottom: 2.8rem;
		font-size: 3.2rem;
		line-height: 1.35;
		text-align: center;
	}

	/* 一覧 */
	#info .blogArchiveInner {
		width: 100%;
	}

	#info .blogArchiveLead {
		margin: 0 0 4rem;
		font-size: 1.6rem;
		line-height: 1.8;
		text-align: left;
		font-weight: 500;
	}

	#info .blogPickupList {
		gap: 3.5rem;
		margin-bottom: 3rem;
	}

	#info .blogPickupItem {
		display: block;
	}

	#info .blogPickupPhoto {
		width: 100%;
		margin-bottom: 1.8rem;
	}

	#info .blogPickupPhoto img {
		border-radius: 1rem;
	}

	#info .blogPickupTitle {
		font-size: 1.9rem;
		line-height: 1.5;
	}

	#info .blogPickupTitle a {
		align-items: flex-start;
	}

	#info .blogDot {
		margin-top: 0.8rem;
	}

	#info .blogPickupBody time,
	#info-detail .blogSingleDate {
		font-size: 1.4rem;
	}

	#info .blogPickupBody p {
		padding-top: 1.4rem;
		font-size: 1.6rem;
		line-height: 1.8;
		font-weight: 500;
	}

	#info .blogArchiveList {
		margin-bottom: 4rem;
	}

	#info .blogArchiveList a {
		display: block;
		padding: 1.8rem 0.5rem;
	}

	#info .blogArchiveList time {
		display: block;
		width: 100%;
		margin-bottom: 0.8rem;
		font-size: 1.4rem;
	}

	#info .blogArchiveList span {
		display: block;
		font-size: 1.6rem;
		line-height: 1.6;
	}

	/* 詳細 */
	#info-detail .blogSingleCategory {
		margin-bottom: 3rem;
	}

	#info-detail .blogSingleSec {
		width: 100%;
	}

	#info-detail .blogSingleHead {
		margin-bottom: 3rem;
		padding-top: 2rem;
	}

	#info-detail .entryContent {
		margin-bottom: 4rem;
		padding-bottom: 4rem;
		font-size: 1.6rem;
		line-height: 1.9;
	}

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

	#info-detail .entryContent img {
		width: 100%;
		border-radius: 1rem;
	}

	#info-detail .wp-block-columns {
		display: block;
		margin: 3rem 0;
	}

	#info-detail .wp-block-column {
		width: 100%;
	}

	#info-detail .wp-block-column + .wp-block-column {
		margin-top: 2rem;
	}

	/* ページャー共通 */
	.blogPager {
		gap: 2.5rem;
		padding-bottom: 5rem;
	}

	.blogPager a {
		font-size: 1.6rem;
	}

	.blogPager img {
		width: 2.2rem;
	}

	/* カテゴリーバナー */
	.blogBnrSec {
		padding: 4rem 0;
	}

	.blogBnrInner {
		width: 90%;
	}

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

	.blogBnrList img {
		border-radius: 1rem;
	}
}

/*------------------------------------------------------------
  Recruit SP / 768px以下
------------------------------------------------------------*/

@media screen and (max-width: 896px) {
/* --------------------
共通
-------------------- */

	#recruit .recruitHeadInner,
	#recruit .recruitMessageInner,
	#recruit .recruitVoiceInner,
	#recruit .recruitBenefitInner,
	#recruit .recruitWelfareInner,
	#recruit .recruitStaffInner,
	#recruit .recruitRequirementsInner,
	#recruit .recruitApplyInner {
		width: calc(100% - 3rem);
		margin: 0 auto;
	}

	#recruit .recruitMessageSec,
	#recruit .recruitSceneSec,
	#recruit .recruitBenefitSec,
	#recruit .recruitWelfareSec,
	#recruit .recruitStaffSec,
	#recruit .recruitRequirementsSec,
	#recruit .recruitApplySec {
		padding: 4rem 0;
	}
	#recruit .recruitBenefitSec, #recruit .recruitHead {
		padding-bottom: 0;
	}
	#recruit .recruitVoiceSec {
		margin-top: 1rem;
        padding: 8rem 0 4rem 0;
	}
	#recruit .recruitApplySec {
		padding: 0 0 4rem 0;
	}

	#recruit .recruitPageTitle {
		margin-top: -2rem;
        width: 90%;
        font-size: 2.8rem;
        text-align: center;
	}

	#recruit .recruitSecTitle {
		font-size: 2.8rem;
		text-align: center;
	}

	#recruit .recruitLead {
		padding: 0 1.5rem;
		font-size: 1.6rem;
		line-height: 1.8;
		text-align: left;
	}

	#recruit .recruitLead br {
		display: none;
	}


/* --------------------
Message
-------------------- */

	#recruit .recruitMessageBox {
		display: block;
		padding: 3rem 2rem;
		border-radius: 2rem;
	}

	#recruit .recruitMessageTitle {
		width: 14rem;
		margin: 0 auto 2rem;
	}

	#recruit .recruitMessageCatch {
		font-size: 2rem;
		line-height: 1.6;
		text-align: center;
	}

	#recruit .recruitMessageText {
		padding: 0 1rem;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#recruit .recruitMessageText br {
		display: none;
	}

	#recruit .recruitMessageIllust {
		width: 100%;
		margin: 2.5rem auto 0;
	}


/* --------------------
職場の風景
-------------------- */

	#recruit .recruitSceneHead {
		width: calc(100% - 3rem);
		margin: 0 auto 2.5rem;
		text-align: center;
	}

	#recruit .recruitSceneHead p {
		padding: 0 1.5rem;
		font-size: 1.6rem;
		line-height: 1.7;
	}

	#recruit .recruitSceneSlider {
		margin: 0;
		width: 100%;
		overflow: hidden;
	}

	#recruit .recruitSceneTrack {
		align-items: center;
	}

	#recruit .recruitSceneSlide {
		width: 76vw;
		flex: 0 0 76vw;
		margin: 0 1rem;
	}

	#recruit .recruitSceneSlide img {
		border-radius: 1.5rem;
	}

	#recruit .recruitSceneSlide figcaption {
		display: none;
	}

	#recruit .recruitSceneArrow {
		width: 4rem;
		height: 4rem;
	}

	#recruit .recruitSceneCaption {
		width: calc(100% - 3rem);
		margin: 1.5rem auto 0;
		font-size: 1.5rem;
	}


/* --------------------
福利厚生
-------------------- */

	#recruit .recruitWelfareLead {
		margin-bottom: 2rem;
		padding: 0 1.5rem;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#recruit .recruitWelfareContent {
		display: block;
	}

	#recruit .recruitWelfareText {
		width: 100%;
	}

	#recruit .recruitWelfareList {
		padding: 0 1.5rem;
        border-radius: 2rem;
        margin-bottom: 0;
	}

	#recruit .recruitWelfareList li {
		font-size: 1.6rem;
		line-height: 1.6;
		text-indent: -0.5em;
	}

	#recruit .recruitWelfarePhoto {
		width: 100%;
		margin-top: 2.5rem;
	}

	#recruit .recruitWelfarePhoto img {
		border-radius: 2rem;
	}

	#recruit .recruitWelfarePhoto figcaption {
		padding: 0 1.5rem;
		font-size: 1.4rem;
		line-height: 1.6;
	}

/* --------------------
働くスタッフについて
-------------------- */

	#recruit .recruitStaffContent {
		display: block;
	}

	#recruit .recruitStaffText {
		padding: 0 1.5rem;
		width: 100%;
		margin-bottom: 2rem;
	}

	#recruit .recruitStaffText p {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#recruit .recruitStaffTable {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#recruit .recruitStaffTable table {
		width: 100%;
		min-width: 34rem;
		box-shadow: none;
		border: 1px solid #ccc;
	}

	#recruit .recruitStaffTable th,
	#recruit .recruitStaffTable td {
		font-size: 1.5rem;
		padding: 1rem .8rem;
		white-space: nowrap;
	}
	
	#recruit .recruitRequirementsTable table,
	#recruit .recruitRequirementsTable tbody,
	#recruit .recruitRequirementsTable tr,
	#recruit .recruitRequirementsTable td {
		display: block;
		width: 100%;
	}
	#recruit .recruitRequirementsTable table {
		box-shadow: none;
		border: 1px solid #ccc;
	}

	#recruit .recruitRequirementsTable tr {
		border-bottom: 1px solid #d9d9d9;
	}

	#recruit .recruitRequirementsTable td {
		border-right: none;
		border-bottom: none;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#recruit .recruitRequirementsTable td.column-1 {
		padding: 1rem 2rem;
		width: 100%;
		background: #e9e3d7;
		font-weight: 700;
	}

	#recruit .recruitRequirementsTable td.column-2 {
		padding: 1.2rem 2rem;
		background: #fff;
	}
	#recruit .recruitRequirementsTable tr:last-child {
		border-bottom: none;
	}
	

	#recruit .recruitApplySec {
		padding: 1rem 0 4.5rem;
		overflow: hidden;
		background-position: center top;
		background-size: auto 100%;
	}

	#recruit .recruitApplyInner {
		width: 90%;
		margin: 0 auto;
	}

	#recruit .recruitApplyBox {
		width: 100%;
		padding: 0;
		box-sizing: border-box;
	}

	#recruit .recruitApplyBox h3 {
		margin-top: 2rem;
		margin-bottom: 1rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}

	#recruit .recruitApplyBox p {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#recruit .recruitApplyContact {
		display: block;
		margin-top: 3rem;
	}

	#recruit .recruitApplyTel,
	#recruit .recruitApplyMail {
		width: 100%;
		max-width: 42rem;
		margin: 0;
	}
	
	#recruit .recruitApplyTel {
		max-width: 29rem;
	}

	#recruit .recruitApplyMail {
		margin-top: 1.8rem;
	}

	#recruit .recruitApplyTel img,
	#recruit .recruitApplyMail img {
		display: block;
		width: 100%;
		height: auto;
	}

	#recruit .recruitHeaderBadgeSp {
		position: absolute;
		top: 10rem;
		left: 50%;
		z-index: 20;
		width: 15rem;
		margin: 0;
		text-align: center;
		transform: translateX(-50%);
	}

	#recruit .recruitHeaderBadgeSp img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/*------------------------------------------------------------
  Small SP refinement / 389px以下
------------------------------------------------------------*/

@media all and (max-width: 389px) {
	.headerLogo {
		width: 19rem;
	}

	.mvPhoto img {
		height: 38rem;
	}

	#top .recruitSaigaiTitle span {
		font-size: 2rem;
	}

	#guide .pageTitle {
		font-size: 2.9rem;
	}

	#guide .secTitle span {
		font-size: 2.1rem;
	}

	#guide .guideFoodPhotoList {
		grid-template-columns: 1fr;
	}

	#tokuyo .pageTitle {
		font-size: 2.8rem;
	}

	#tokuyo .secTitle span {
		font-size: 2.1rem;
	}

	#tokuyo .dayPhoto {
		width: 24rem;
	}

	#tokuyo .daySchedule th,
	#tokuyo .daySchedule td {
		padding: 1.4rem 1.2rem;
	}

	#tokuyo .daySchedule th {
		width: 7rem;
	}

	#short .pageTitle {
		font-size: 2.8rem;
	}

	#short .secTitle span {
		font-size: 2.1rem;
	}

	#short .dayPhoto {
		width: 24rem;
	}

	#short .daySchedule th,
	#short .daySchedule td {
		padding: 1.4rem 1.2rem;
	}

	#short .daySchedule th {
		width: 7rem;
	}

	#short .cautionTelBox strong {
		font-size: 1.7rem;
	}

	#day .pageTitle {
		font-size: 2.8rem;
	}

	#day .secTitle span,
	#day .rehaTitle span {
		font-size: 2.1rem;
	}

	#day .dayPhoto {
		width: 24rem;
	}

	#day .daySchedule th,
	#day .daySchedule td {
		padding: 1.4rem 1.2rem;
	}

	#day .daySchedule th {
		width: 7rem;
	}

	#day .cautionTelBox strong {
		font-size: 1.7rem;
	}

	#summary .pageTitle {
		font-size: 2.9rem;
	}

	#access .pageTitle {
		font-size: 2.9rem;
	}

	#access .secTitle span {
		font-size: 2.1rem;
	}

	#info .pageTitle,
	#info-detail .pageTitle {
		font-size: 2.9rem;
	}

	.blogPager {
		gap: 1.8rem;
	}

	.blogPager a {
		font-size: 1.5rem;
	}
}


@media screen and (max-width: 896px) {
	#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 .entryContent img {
	margin-bottom: 2.4rem;
}

#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: 3rem;
}

/* 採用ページ：ACF画像差し替え時の角丸・表示安定化 */
@media screen and (max-width: 896px) {
	#recruit .recruitMvSlide {
		border-radius: 1.5rem;
		overflow: hidden;
	}

	#recruit .recruitMvSlide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	#recruit .recruitMvSlide01 { width: 23rem; height: 30rem; margin-top: 6rem; }
	#recruit .recruitMvSlide02 { width: 30rem; height: 36rem; margin-top: -8rem; }
	#recruit .recruitMvSlide03 { width: 26rem; height: 32rem; margin-top: 6rem; }
	#recruit .recruitMvSlide04 { width: 28rem; height: 34rem; margin-top: 0; }
	#recruit .recruitMvSlide05 { width: 22rem; height: 30rem; margin-top: -6rem; }
	#recruit .recruitMvSlide06 { width: 28rem; height: 34rem; margin-top: 7rem; }
	#recruit .recruitMvSlide07 { width: 30rem; height: 36rem; margin-top: -7rem; }
	#recruit .recruitMvSlide08 { width: 24rem; height: 31rem; margin-top: 7rem; }

	#recruit .recruitSceneSlide,
	#recruit .recruitVoicePhoto,
	#recruit .recruitWelfarePhoto {
		border-radius: 1.5rem;
		overflow: hidden;
	}

	#recruit .recruitSceneSlide img,
	#recruit .recruitVoicePhoto img,
	#recruit .recruitWelfarePhoto img {
		display: block;
		max-width: 100%;
		border-radius: inherit;
	}
}


/* Recruit v3: 実写真対応 */
@media screen and (max-width: 896px) {
	#recruit .recruitVoicePhoto img,
	#recruit .recruitVoicePhotos--wide .recruitVoicePhoto img {
		height: auto;
		object-fit: contain;
	}

	#recruit .recruitSceneArrow {
		top: 50%;
		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 {
		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・写真キャプション対応 */
@media screen and (max-width: 896px) {
	#recruit .recruitVoicePhoto figcaption {
		margin-top: 0.8rem;
		font-size: 1.4rem;
		line-height: 1.6;
	}
}

/* ==========================================================
   Phase3-1 Tablet refinement
   2026-06-28
   ※PC（1280px以上）には影響させない
   ========================================================== */

/* PC / Tablet横：空き状況カレンダーの月間余白 */
@media all and (min-width: 897px) {
	#short .calMonth + .calMonth,
	#day .calMonth + .calMonth {
		margin-top: 2rem;
	}

	#short .calTb:not(:last-child),
	#day .calTb:not(:last-child) {
		margin-bottom: 2rem;
	}
}

/* Tablet縦：採用ヘッダー内の「採用特設ページ」バッジを使用 */
@media all and (min-width: 768px) and (max-width: 896px) {
	#recruit .recruitHeaderBadge {
		display: block;
		width: 10rem;
		margin-left: 2rem;
		margin-right: auto;
		margin-top: 0.5rem;
		flex-shrink: 0;
	}

	#recruit .recruitHeaderBadge img {
		display: block;
		width: 100%;
		height: auto;
	}

	#recruit .recruitHeaderBadgeSp {
		display: none !important;
	}

	#recruit .recruitHeaderContact {
		display: none !important;
	}

	#recruit .menuBtn {
		margin-left: 0;
	}
}

/* Tablet横：PC版ヘッダーのはみ出し・重なり調整 */
@media all and (min-width: 897px) and (max-width: 1279px) {
	.headerInner {
		display: flex;
		align-items: center;
		width: calc(100% - 3rem);
		max-width: 140rem;
		padding-right: 1.4rem;
		padding-left: 2rem;
		box-sizing: border-box;
	}

	.headerLogo {
		flex: 0 0 31rem;
		width: 31rem;
		min-width: 0;
	}

	.gNav {
		position: static;
		flex: 1 1 auto;
		min-width: 0;
		width: auto;
		margin-left: 1.4rem;
		padding-left: 0;
	}

	.navMain,
	.navSub {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: nowrap;
		min-width: 0;
	}

	.navMain {
		gap: 1rem;
	}

	.navMain a {
		font-size: 1.35rem;
		letter-spacing: 0;
		white-space: nowrap;
	}

	.navSub a {
		font-size: 1.45rem;
		letter-spacing: 0;
		white-space: nowrap;
	}

	.navSub li:not(:last-child)::after {
		height: 1.7rem;
		margin: 0 0.65rem;
	}

	.navMain .current a,
	.navSub li.current a {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.menuBtn {
		flex: 0 0 7rem;
		width: 7rem;
		height: 7rem;
		margin-left: 1.2rem;
	}

	.menuBtn span:not(.menuText) {
		width: 3.2rem;
		margin-bottom: 0.65rem;
	}

	.menuBtn .menuText {
		font-size: 1.35rem;
	}

	/* 採用ページヘッダー */
	#recruit .headerInner {
		display: flex;
		align-items: center;
		width: calc(100% - 3rem);
		max-width: 140rem;
		padding-right: 1.4rem;
		padding-left: 2rem;
		box-sizing: border-box;
	}

	#recruit .recruitHeaderLogo {
		flex: 0 0 31rem;
		width: 31rem;
		min-width: 0;
	}

	#recruit .recruitHeaderBadge {
		display: block;
		flex: 0 0 17rem;
		width: 17rem;
		margin-left: 1.4rem;
		margin-right: 1.4rem;
	}

	#recruit .recruitHeaderBadge img {
		display: block;
		width: 100%;
		height: auto;
	}

	#recruit .recruitHeaderBadgeSp {
		display: none !important;
	}

	#recruit .recruitHeaderContact {
		flex: 1 1 auto;
		min-width: 0;
		margin-left: auto;
	}

	#recruit .recruitHeaderTelNum {
		width: 23rem;
		max-width: 100%;
	}
}

/* Tablet横：さらに狭い幅でのヘッダー微調整 */
@media all and (min-width: 897px) and (max-width: 1120px) {
	.headerInner {
		width: calc(100% - 2rem);
		padding-left: 1.6rem;
		padding-right: 1.2rem;
	}

	.headerLogo {
		flex-basis: 26.5rem;
		width: 26.5rem;
	}

	.gNav {
		margin-left: 1rem;
	}

	.navMain {
		gap: 0.75rem;
	}

	.navMain a {
		font-size: 1.22rem;
	}

	.navSub a {
		font-size: 1.25rem;
	}

	.navSub li:not(:last-child)::after {
		margin: 0 0.5rem;
	}

	.navMain .current a,
	.navSub li.current a {
		padding-right: 0.8rem;
		padding-left: 0.8rem;
	}

	.menuBtn {
		flex-basis: 6.6rem;
		width: 6.6rem;
		height: 6.6rem;
		margin-left: 0.8rem;
	}

	#recruit .recruitHeaderLogo {
		flex-basis: 27rem;
		width: 27rem;
	}

	#recruit .recruitHeaderBadge {
		flex-basis: 15rem;
		width: 15rem;
		margin-left: 1rem;
		margin-right: 1rem;
	}

	#recruit .recruitHeaderTelNum {
		width: 21rem;
	}
}

/* PC〜タブレット横：グローバルナビ文字サイズを画面幅で自動調整 */
@media all and (min-width: 897px) {

	.gNav .navMain a {
		font-size: clamp(1.25rem, 1.05vw, 1.5rem);
	}

	.gNav .navSub a {
		font-size: clamp(1.3rem, 1.15vw, 1.7rem);
	}

}


/* ============================================================
  新メインビジュアル SP調整（静的 main_02.png）
  2026-07-01
============================================================ */

@media all and (max-width: 896px) {
	.mvStatic {
		position: relative;
		z-index: 1;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 0;
		overflow: visible;
	}

	.mvStatic .mv {
		padding: 0;
	}

	.mvStatic .mvInner {
		width: 100%;
		margin: 0 auto;
	}

	.mvStatic .mvPhoto {
		width: 100%;
		border-radius: 0;
		overflow: visible;
	}

	.mvStatic .mvPhoto::before {
		display: block;
		width: 100%;
		aspect-ratio: 1216 / 1400;
		background: url("../image/top/main_sp.png") no-repeat center top / 100% auto;
		content: "";
	}

	.mvStatic .mvPhoto img {
		display: none;
	}

	.mvStatic .mvCopy,
	.mvStatic .mvSub {
		z-index: 3;
	}

	.mvStatic .mvCopy {
		top: 12rem;
        right: 6vw;
        width: 68vw;
        padding: 0;
        background: transparent;
	}

	.mvStatic .mvSub01 {
		right: 5vw;
        bottom: 0;
        width: 35vw;
	}

	.mvStatic .mvSub02 {
		right: 38vw;
        bottom: -18vw;
        width: 27vw;
	}

	.mvStatic + .topicsSec {
		padding-top: 9rem;
	}
}

/*----------------------------------------
404
----------------------------------------*/
@media all and (max-width: 896px) {
	.error404Sec {
		padding: 6rem 0;
	}

	.error404Inner {
		margin-top: 6rem;
		width: calc(100% - 4rem);
		padding: 5rem 1.5rem;
	}

	.error404Title {
		font-size: 6rem;
	}

	.error404Lead {
		font-size: 2.4rem;
	}

	.error404Text {
		font-size: 1.8rem;
	}

	.error404Btn a {
		width: 100%;
		height: 5.6rem;
		font-size: 1.8rem;
	}
}
