@charset "UTF-8";
/* spLogo h1（SPロゴh1だけリセット） */
li.spLogo h1 {
	background: none !important;
	padding: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	height: auto !important;
	line-height: 1.2 !important;
	font-size: 18px !important;
	color: #162b4f !important;
	text-align: left !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: block;
}

.l-inner {
	max-width: 1000px;
	margin: 0 auto;
}
.s-inner {
	max-width: 820px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.l-inner,
	.s-inner {
		padding: 0 20px;
	}

}
#wrapper {
	position: relative;
	overflow: hidden;
}
main {
	padding-top: 120px;
}
@media screen and (max-width: 769px) {
	main {
		padding-top: 80px;
	}
}
@media screen and (min-width: 769px) {
	
	ul#breadCrumbs {
		margin-inline: auto;
		width: 1200px;
	}
	footer {
		position: relative;
		box-sizing: border-box;
		margin: 0;
		padding: 57px 0 26px;
		width: 100%;
		min-height: 290px;
		background: #4da3ca;
		border-top: 0;
		font-family: "Noto Sans JP", sans-serif;
	}

	.footerInner {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		column-gap: 100px;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.footerLogo {
		display: block;
		width: 198px;
		height: 70px;
		background: url("../img/common/logo_gaia-rehabilitation.png") center center / contain no-repeat;
		filter: brightness(0) invert(1);
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		flex-shrink: 0;
	}

	.footerInner nav {
		margin: 0;
		width: auto;
	}

	.footerInner nav ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 60px;
		row-gap: 2px;
		max-width: 620px;
	}

	.footerInner nav ul li {
		margin: 0;
		padding: 0;
		height: auto;
		line-height: 2.4;
		border: 0;
		font-weight: 500;
		font-size: 14px;
	}

	.footerInner nav ul li a,
	.footerInner nav ul li a:link,
	.footerInner nav ul li a:visited {
		color: #ffffff;
	}

	.footerSns {
		display: flex;
		flex-direction: row;
		gap: 24px;
		align-items: center;
		margin-top: 0;
		margin-left: 0;
		height: 32px;
	}

	.footerSns a,
	.footerSns span {
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0.85;
		transition: opacity 0.2s;
		width: 32px;
		height: 32px;
	}

	.footerSns a:hover {
		opacity: 1;
	}

	.footerSns svg {
		width: 100%;
		height: 100%;
		display: block;
	}

	footer p {
		flex: 0 0 100%;
		margin: 58px 0 0;
		text-align: center;
		font-weight: 500;
		font-size: 11px;
		line-height: 2.4;
		color: #ffffff;
	}
}

@media screen and (max-width: 768px) {
	footer {
		position: relative;
		box-sizing: border-box;
		margin: 0;
		padding: 42px 20px 18px;
		width: 100%;
		min-height: 280px;
		background: #4da3ca;
		border-top: 0;
		font-family: "Noto Sans JP", sans-serif;
	}

	.footerInner {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
		width: 100%;
		margin: 0 auto 0 auto;
		max-width: 100%;
	}

	.footerLogo {
		display: block;
		margin: 0 auto 18px;
		width: 141px;
		height: 50px;
		background: url("../img/common/logo_gaia-rehabilitation.png") center center / contain no-repeat;
		filter: brightness(0) invert(1);
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	.footerInner nav ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: grid;
		grid-template-columns: 1fr 70px;
		column-gap: 16px;
		row-gap: 2px;
		max-width: 100%;
	}

	.footerSns {
		display: flex;
		flex-direction: row;
		gap: 20px;
		align-items: center;
		justify-content: center;
		margin-top: 18px;
		margin-left: 0;
		height: 32px;
	}

	.footerSns a,
	.footerSns span {
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0.85;
		transition: opacity 0.2s;
		width: 32px;
		height: 32px;
	}

	.footerSns a:hover {
		opacity: 1;
	}

	.footerSns svg {
		width: 100%;
		height: 100%;
		display: block;
	}


	footer .footerLogo {
		display: block;
		width: 141px;
		height: 50px;
		background: url("../img/common/logo_gaia-rehabilitation.png") center center / contain no-repeat;
		filter: brightness(0) invert(1);
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}


	footer .footerSns {
		display: flex;
		gap: 24px;
		align-items: center;
		margin-top: 8px;
	}

	footer .footerSns a,
	footer .footerSns span {
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0.85;
		transition: opacity 0.2s;
		width: 32px;
		height: 32px;
	}

	footer .footerSns a:hover {
		opacity: 1;
	}

	footer .footerSns svg {
		width: 100%;
		height: 100%;
		display: block;
	}

	footer nav ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: grid;
		grid-template-columns: 170px 1fr;
		column-gap: 16px;
	}

	footer nav ul li {
		margin: 0;
		padding: 0;
		line-height: 2.2;
		font-weight: 500;
		font-size: 13px;
		border: 0;
	}

	footer nav ul li a,
	footer nav ul li a:link,
	footer nav ul li a:visited {
		color: #ffffff;
	}

	footer p {
		margin: 14px 0 0;
		text-align: center;
		font-weight: 500;
		font-size: 11px;
		line-height: 2.2;
		color: #ffffff;
	}
}
@media screen and (max-width: 768px) {
ul#breadCrumbs {
	margin-left: 10px;
}
}
header {
	    position: fixed;
    z-index: 100;
	left: 50%;
	transform: translateX(-50%);
	top: 20px;
	width: 100%;
}

@media screen and (min-width: 769px) {
	:root {
		--header-shell-bg: #ffffff;
		--header-text: #484848;
		--header-current: #f1a4c5;
		--header-cta: #6ec3ea;
	}

	header {
		border-bottom: 0;
		background: transparent;
		height: 100px;
	
	}

	header .inner {
		display: block;
	}

	header nav {
		display: flex;
		align-items: center;
		gap: 16px;
	}

	.gNaviDesktop {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 16px;
	}

	.gNaviDesktop .gNaviShell {
		/* width: 1200px; */
		height: 80px;
		box-sizing: border-box;
		border-radius: 40px;
		background: var(--header-shell-bg);
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
		padding: 0 30px 0 16px;
		display: flex;
		align-items: center;
	}

	.gNaviDesktop .gNaviLogo {
		flex: 0 0 184px;
		height: 50px;
	}

	.gNaviDesktop .gNaviLogo h1,
	.gNaviDesktop .gNaviLogo p {
		margin: 0;
		padding: 0;
		width: 141px;
		min-width: 100px;
		height: 50px;
		background: url("../img/common/logo_gaia-rehabilitation.png") center center / contain no-repeat;
	}
	.gNaviDesktop .gNaviLogo h1::after {
		display: none;
	}

	.gNaviDesktop .gNaviLogo a {
		display: block;
		width: 141px;
		height: 50px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	.gNaviDesktop .gNaviMain {
		/* width: 916px; */
		height: 39px;
		display: flex;
		align-items: center;
		gap: 25px;
	}

	.gNaviDesktop .gNaviMain li {
		position: relative;
		flex: 0 0 auto;
		display: flex;
		align-items: center;
	}

	.gNaviDesktop .gNaviMain li a {
		position: relative;
		display: inline-flex;
		align-items: center;
		height: auto;
		padding: 10px 0;
		line-height: 18px;
		letter-spacing: 0.01em;
		font-weight: 700;
		font-size: clamp(13px, calc(15 / 1440 * 100vw), 15px);
		color: var(--header-text);
		white-space: nowrap;
		transition: color 0.2s ease, transform 0.2s ease;
	}

	.gNaviDesktop .gNaviMain li a:hover {
		color: var(--header-current);
		transform: translateY(-10px);
		opacity: 1;
	}

	.gNaviDesktop .gNaviMain li a.is-current {
		color: var(--header-current);
		transform: translateY(-10px);
	}

	.gNaviDesktop .gNaviMain li a.is-current::after,
	.gNaviDesktop .gNaviMain li a:hover::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 36px;
		transform: translateX(-50%);
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: var(--header-current);
	}

	.gNaviDesktop .gNaviCta {
		flex: 0 0 auto;
	}

	.gNaviDesktop .gNaviCta li a {
		box-sizing: border-box;
		border-radius: 999px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
		background: var(--header-cta);
		width: 120px;
		height: 80px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		font-weight: 700;
		font-size: 18px;
		line-height: 22px;
		color: #fff;
		letter-spacing: 0.01em;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}

	.gNaviDesktop .gNaviCta li a:hover {
		opacity: 1;
		transform: translateY(1px);
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
	}


}

@media screen and (max-width: 768px) {
	header {
		border-bottom: 0;
		background: transparent;
		height: 75px;
		top: 0px;
	}

	header .inner {
		width: 100%;
	}

	header .inner > h1.onlySP,
	header .inner > p.onlySP {
		display: none;
	}

	header nav ul#spBtn {
		box-sizing: border-box;
		position: fixed;
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 120;
		margin: 0;
		padding: 13px 20px 10px 16px;
		width: calc(100vw - 40px);
		height: 55px;
		border-radius: 40px;
		background: #fff;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	header nav ul#spBtn li {
		width: auto;
		height: auto;
		background: transparent;
	}

	header nav ul#spBtn li#btnContact,
	header nav ul#spBtn li.btnRecruit {
		display: none;
	}

	header nav ul#spBtn li.spLogo a {
		display: block;
		width: 91px;
		height: 32px;
		background: url("../img/common/logo_gaia-rehabilitation.png") center center / contain no-repeat;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	header nav ul#spBtn li h1::after{
		display: none;
	}

	header nav ul#spBtn li#btnMenu {
		position: relative;
		width: 25px;
		height: 20px;
		background: transparent;
	}

	header nav ul#spBtn li#btnMenu i {
		position: absolute;
		left: 0;
		display: block;
		width: 25px;
		height: 0;
		background: transparent;
		border-top: 1px solid #484848;
		transition: transform 0.2s ease;
	}

	header nav ul#spBtn li#btnMenu i:nth-child(1) {
		top: 6px;
	}

	header nav ul#spBtn li#btnMenu i:nth-child(2) {
		top: 13px;
	}

	header nav ul#spBtn li#btnMenu.active i:nth-child(1) {
		transform: translateY(3.5px) rotate(45deg);
	}

	header nav ul#spBtn li#btnMenu.active i:nth-child(2) {
		transform: translateY(-3.5px) rotate(-45deg);
	}

	header nav ul#gNavi {
		display: none;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	body.modeNav header nav ul#gNavi {
		box-sizing: border-box;
		z-index: 80;
		display: flex;
		flex-direction: column;
		gap: 0;
		background: #ffffff;
		padding: 85px 20px 24px;
		width: 100vw;
		height: calc(var(--vh, 1vh) * 100);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	header nav ul#gNavi > li {
		margin: 0;
		border-bottom: 1px solid #d9d9d9;
	}

	header nav ul#gNavi > li > a {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		min-height: 48px;
		padding: 12px 4px;
		border-radius: 0;
		background: transparent;
		line-height: 1.3;
		font-weight: 700;
		font-size: 16px;
		color: #484848;
	}

	header nav ul#gNavi > li > a:hover {
		opacity: 1;
		color: #f1a4c5;
	}

	header nav ul#gNavi > li > a.is-current {
		background: transparent;
		color: #f1a4c5;
	}

	header nav ul#gNavi > li.btnRecruit > a {
		letter-spacing: 2px;
		justify-content: center;
		background: #6ec3ea;
		border-radius: 999px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
		width: 200px;
		height: 60px;
		/* min-height: 80px; */
		padding: 0;
		color: #ffffff;
	}

	header nav ul#gNavi > li.btnRecruit {
		border-bottom: 0;
		margin: 16px auto 8px;
	}
}

/* title */
.top-title h2 {
	padding: 0;
}
.top-title h2::after {
	display: none;
}
.top-title h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 800;
  font-size: 36px;
  line-height: 2;
  color: #484848;
  display: flex;
  align-items: center;
  gap: 0.1em;
}
.top-title .top-title-accent {
  color: #6EC3EA;
  font-size: 40px;
  font-weight: 800;
}
.top-title .top-title-underline {
  display: block;
  width: 35px;
  height: 0;
  border-bottom: 2px solid #6EC3EA;
  margin-bottom: 12px;
}
.top-title .top-title-en {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.08em;
  color: #F1A4C5;
  margin-bottom: 30px;
}
.top__title--center {
	  text-align: center;
}
.top__title--center .top-title-underline {
	  margin-left: auto;
	  margin-right: auto;
}
.top__title--center h2 {
	  justify-content: center;
}
.top-title--white h2{
	  color: #fff ;
}
.top-title--white .top-title-accent{
	  color: #fff ;
}
.top-title--white .top-title-underline{
	  border-color: #fff ;
}
.top-title--white .top-title-en{
	  color: #fff ;
}
@media screen and (max-width: 768px) {

  .top-title h2 {
    font-size: 24px;
    line-height: 1.5;
  margin: 0 0 0.2em 0;

  }
  .top-title .top-title-accent {
	font-size: 28px;
  }

  .top-title .top-title-en {
    font-size: 16px;
  }
}
/* button */
.top-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 60px;
  background: linear-gradient(180deg, #FACCE0 0%, #FC8EBD 100%);
  border: 1px solid #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  border-radius: 30px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #fff !important;
  text-align: center;
  text-shadow: 0 4px 4px rgba(0,0,0,0.15);
  margin-top: 24px;
  margin-bottom: 0;
  text-decoration: none;
  position: relative;
  transition: box-shadow 0.2s;
}
.top-btn span {
  display: inline-block;
  width: 23px;
  height: 6.5px;
  margin-left: 12px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skewX(30deg);
}


/* ------------------------------------
	 ヘッダー問い合わせ・募集要項ボタン（PC横並び、SP縦並び・サイズ元に戻す）
------------------------------------ */
.gNaviCta {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	align-items: center;
	margin-top: 10px;
}
.gNaviCta .btnContact,
.gNaviCta a,
.btnContactSP,
.btnRecruitSP {
	border-radius: 32px;
	font-weight: bold;
	font-size: 18px;
	display: inline-block;
	padding: 1.5rem 2rem;
	text-align: center;
	box-shadow: 0 4px 3px 0px rgba(24, 44, 78, 0.2);
	transition: 0.2s;
}
.gNaviCta .btnContact,
.btnContactSP {
	background: #f1a4c5 !important;
	color: #fff !important;
	box-shadow: 0 4px 0 #c75a89;
}
.gNaviCta .btnContact:hover,
.btnContactSP:hover {
	color: #fff !important;
	box-shadow: none;
	opacity: 1;
}
.gNaviCta .btnRecruit,
.btnRecruitSP {
	background: #8ed1f7 !important;
	color: #fff !important;
	box-shadow: 0 4px 0 #6bb7d6;
}
.gNaviCta .btnRecruit:hover,
.btnRecruitSP:hover {
	background: #6bb7d6 !important;
	color: #fff !important;
	box-shadow: none;
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.gNaviCta {
		display: flex;
		flex-direction: column;
		gap: 16px;
		justify-content: center;
		align-items: stretch;
		margin: 16px 0;
	}
	.btnContactSP,
	.btnRecruitSP {
		width: 80%;
		max-width: 300px;
		margin: 0 auto;
		border-radius: 32px;
		text-align: center;
		box-shadow: 0 3px 0 #c75a89;
		display: inline-block;
	}
}

/* フッター問い合わせボタン */
.footerContactBtnWrap {
	margin: 18px 0 0 0;
	text-align: center;
}
.footerContactBtn {
	display: inline-block;
	background: #f1a4c5;
	color: #fff !important;
	font-weight: 500;
	font-size: 18px;
	border-radius: 32px;
	padding: 1.1em 2.5em;
	box-shadow: 0 4px 8px rgba(0,0,0,0.12);
	text-decoration: none;
	transition: opacity 0.2s, box-shadow 0.2s;
	margin: 0 auto;
	margin-left: 10px;
}
.footerContactBtn:hover {
	opacity: 0.8;
	color: #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}
@media screen and (max-width: 768px) {
	.footerContactBtnWrap {
		margin: 12px 0 0 0;
	}
	.footerContactBtn {
		font-size: 16px;
		padding: 0.9em 1.5em;
		border-radius: 24px;
	}
}

@media screen and (min-width: 769px) {
	.fixed-action-btns .fixed-btn {
		writing-mode: vertical-rl;
		text-orientation: mixed;
		letter-spacing: 0.1em;
		white-space: pre-line;
	}
}
/* =============================
	 固定追従ボタン（説明会・募集要項）
============================= */
.fixed-action-btns {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 16px;
	transform: translateY(-50%);
	align-items: flex-end;
}
.fixed-action-btns .fixed-btn {
	display: block;
	padding: 20px 20px;
	border-radius: 10px 0 0 10px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	box-shadow: 0 4px 12px rgba(24,44,78,0.15);
	transition: background 0.2s, box-shadow 0.2s, opacity 0.2s;
	opacity: 0.95;
	margin-right: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.fixed-action-btns .fixed-btn-briefing {
	background: #f1a4c5;
}
.fixed-action-btns .fixed-btn-briefing:hover {
	opacity: 0.8;
}
.fixed-action-btns .fixed-btn-requirements {
	background: #8ed1f7;
}
.fixed-action-btns .fixed-btn-requirements:hover {
	opacity: 0.8;
}
@media screen and (max-width: 768px) {
	.fixed-action-btns {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		width: 100vw;
		z-index: 9999;
		flex-direction: row;
		justify-content: center;
		align-items: stretch;
		gap: 0;
		transform: none;
		background: none;
		pointer-events: none;
	}
	.fixed-action-btns .fixed-btn {
		min-width: 0;
		width: 50%;
		font-size: 15px;
		padding: 1.1em 0.5em;
		border-radius: 0;
		border-top-left-radius: 16px;
		border-top-right-radius: 16px;
		margin: 0;
		writing-mode: initial;
		text-orientation: initial;
		letter-spacing: 0.05em;
		white-space: normal;
		box-shadow: 0 -2px 8px rgba(24,44,78,0.08);
		pointer-events: auto;
	}
	.fixed-action-btns .fixed-btn-briefing {
		border-top-left-radius: 16px;
		border-top-right-radius: 0;
	}
	.fixed-action-btns .fixed-btn-requirements {
		border-top-left-radius: 0;
		border-top-right-radius: 16px;
	}
}

/* 404 Not Found Page */
.not-found-main {

}
.not-found-section {
	text-align: center;
	padding-bottom: 40px;
}
.not-found-title {
	font-size: 2.2rem;
	color: #f1a4c5;
	margin-bottom: 18px;
}
.not-found-title::after {
	content: 'not found';
}
.not-found-message {
	font-size: 1.3rem;
	color: #333;
	margin-bottom: 32px;
	line-height: 1.5;
}
.not-found-btn {
	display: inline-block;
	background: #3690ec;
	color: #fff !important;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 1em 2.5em;
	border-radius: 32px;
	text-decoration: none;
	transition: background 0.2s;
}
.not-found-btn:hover {
	background: #104090;
}