@charset "utf-8";
/* ------------------------------
 見出し・テキスト（PC）
------------------------------ */
/* h1 */
.heading {
	position: relative;
	margin-bottom: 100px;
}
.heading h1 {
	position: relative;
	z-index: 1;
	font-size: 5.2rem;
	line-height: 1;
	font-weight: 600;
}
.heading h1 span {
	display: block;
	margin: 0 0 20px 5px;
	color: #4c6e7f;
	font-family: "Rubik", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .05em;
}
/* h2 */
.contents h2 {
	position: relative;
	margin-bottom: 40px;
	padding-bottom: 15px;
	font-size: 3.8rem;
	line-height: 1.3;
	font-weight: 600;
}
.contents h2::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	border-radius: 2.5px;
	background: url(../img/h2_line.png) no-repeat 0 0 / 100% 5px;
}
/* h3 */
.contents h3 {
	margin-bottom: 20px;
	font-size: 2.9rem;
	line-height: 1.5;
	font-weight: 600;
}
/* h4 */
.contents h4 {
	position: relative;
	margin-bottom: 25px;
	padding: 24px 20px 21px 43px;
	border-radius: 10px;
	background-color: var(--base-color);
	font-size: 2.5rem;
	line-height: 1.4;
	font-weight: 600;
}
.contents h4::before {
	content: "";
	display: bolock;
	position: absolute;
	top: 26px;
	left: 25px;
	width: 8px;
	height: 28px;
	background: url(../img/h4_decoration.png) no-repeat 0 0 / cover;
}
/* h5 */
.contents h5 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: var(--dotline);
	color: var(--recruit-sub-font-color);
	font-size: 2.3rem;
	line-height: 1.3;
	font-weight: 600;
}
@-moz-document url-prefix() {
	.contents h5 {
		border-bottom: var(--dotline-ff);
	}
}
/* h6 */
.contents h6 {
	position: relative;
	margin-bottom: 15px;
	padding-left: 30px;
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: 600;
}
.contents h6::before {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	width: 22px;
	height: 22px;
	background: url(../img/h6_decoration.png) no-repeat 0 0 / cover;
}
/* メインリード */
.contents .lead-main {
	color: var(--recruit-sub-font-color);
	font-size: 3.2rem;
	line-height: 1.6;
	font-weight: 600;
}
.lead-main span {
	font-size: 2.6rem;
}
/* サブリード */
.contents .lead-sub {
	margin-bottom: 10px;
	color: var(--recruit-sub-font-color);
	font-size: 2rem;
	line-height: 1.6;
	font-weight: 600;
}
.contents .lead-sub.red {
	color: var(--red-blue);
}
.contents .lead-sub.mfc {
	color: var(--main-font-color);
}
/* bgBox内見出し */
.contents .bgBoxHeading {
	position: relative;
	margin-bottom: 20px;
	font-size: 2.7rem;
	line-height: 1.5;
	font-weight: 600;
}
.contents .bgBoxHeading::before {
	content: "";
	display: block;
	position: absolute;
	top: .5em;
	left: -50px;
	width: 36px;
	height: 12px;
	background: url(../img/decoration_eng.png) no-repeat 0 0 / cover;
}
/* マーカー */
.marker01 {
	padding: 1px 3px 0;
	border-radius: 3px;
	color: #fff;
	background: var(--recruit-sub-font-color);
	font-weight: 600;
}
.marker02 {
	padding: 1px 3px 0;
	border-radius: 3px;
	background: var(--base-color);
	font-weight: 600;
}
@media print, screen and (min-width: 768px) {
	/* h1 */
	.heading::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 390px;
		height: 280px;
		background-color: var(--base-color);
	}
	.heading:has(img)::before {
		height: 495px;
	}
	.heading h1 {
		display: flex;
		align-items: center;
		width: 1140px;
		height: 280px;
		margin: 0 auto;
		border-radius: 0 0 40px 0;
		background-color: var(--base-color);
	}
	.heading:not(:has(img)) h1::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 905px;
		width: 629px;
		height: 348px;
		background: url(../img/h1_decoration.png) no-repeat 0 0 / cover;
	}
	.heading:has(img) h1 {
		display: block;
		height: 495px;
		padding-top: 97px;
		border-radius: 0;
	}
	.heading:has(img) h1::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: -390px;
		z-index: -1;
		width: 504px;
		height: 532px;
		background: url(../img/h1_img_decoration.png) no-repeat 0 0 / cover;
	}
	.heading:has(img) .pc {
		position: relative;
		z-index: 2;
		margin-top: -275px;
		margin-left: calc((100% - 1140px) / 2);
		border-radius: 30px 0 0 30px;
	}
	/* h2 */
	.contents h2 span {
		display: block;
	}
	/* h5 */
	.contents h5 span {
		display: block;
	}
	/* メインリード */
	.lead-main span {
		display: block;
	}
}
/* ------------------------------
 見出し・テキスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* h1 */
	.heading {
		margin-bottom: 60px;
	}
	.heading:has(img)::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 91%;
		height: 527px;
		background-color: var(--base-color);
	}
	.heading h1 {
		display: flex;
		flex-direction: column;
		justify-content: center;
		row-gap: 5px;
		width: 91%;
		height: 246px;
		padding-left: 5%;
		border-radius: 0 0 40px 0;
		font-size: 3.7rem;
		line-height: 1.35;
		background-color: var(--base-color);
	}
	.heading h1::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		z-index: -1;
		width: 250px;
		height: 184px;
		background: url(../img/h1_decoration_sp.png) no-repeat 0 0 / cover;
	}
	.heading:not(:has(img)) h1::before {
		right: -10%;
	}
	.heading:has(img) h1 {
		height: 214px;
		border-radius: 0;
	}
	.heading:has(img) h1::before {
		left: 0;
		width: 277px;
		height: 295px;
		background: url(../img/h1_img_decoration_sp.png) no-repeat 0 0 / cover;
	}
	.heading h1 span {
		margin: 0 0 0 3px;
	}
	.heading:has(img) .sp {
		position: relative;
		z-index: 2;
		width: 95%;
		margin-left: 5%;
		border-radius: 30px 0 0 30px;
	}
	/* h2 */
	.contents h2 {
		margin-bottom: 25px;
		padding-bottom: 10px;
		border-bottom: 2px solid #dbe2e5;
		font-size: 2.8rem;
	}
	.contents h2::after {
		bottom: -2px;
		width: 60px;
		height: 7px;
		background: url(../img/h2_decoration.png) no-repeat 0 0 / cover;
	}
	/* h3 */
	.contents h3 {
		margin-bottom: 15px;
		font-size: 2.3rem;
	}
	/* h4 */
	.contents h4 {
		margin-bottom: 20px;
		padding: 22px 20px 20px 33px;
		font-size: 2.3rem;
	}
	.contents h4::before {
		top: 23px;
		left: 15px;
	}
	/* h5 */
	.contents h5 {
		font-size: 2.2rem;
	}
	/* h6 */
	.contents h6 {
		font-size: 2.1rem;
	}
	/* 小見出し */
	.contents .bgBoxHading {
		margin-bottom: 20px;
		padding-bottom: 5px;
		border-bottom: var(--dotline);
		color: var(--hospital-blue);
		font-size: 2.4rem;
	}
	/* メインリード */
	.contents .lead-main {
		font-size: 2.6rem;
	}
	/* サブリード */
	.contents .lead-sub {
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	/* bgBox内見出し */
	.contents .bgBoxHeading {
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	.contents .bgBoxHeading::before {
		top: .4em;
		left: -30px;
		width: 24px;
		height: 12px;
		background: url(../img/decoration_eng_sp.png) no-repeat 0 0 / cover;
	}
}

/* ------------------------------
 横幅（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* 1/2 */
	.w546,
	.w1-2 {
		width: 47.895%;
	}
	/* サイドあり1/2 */
	.mainContents .w392,
	.mainContents .w1-2 {
		width: 47.805%;
	}
	/* サイドあり背景あり */
	.mainContents .bgBox .w346 {
		width: 48.056%;
	}
	/* 1/3 */
	.w350,
	.w1-3 {
		width: 30.702%;
	}
	.w350.cms_fl + .w350.cms_fl:not(.cms_clear_before),
	.w350.fl + .w350.fl:not(.cms_clear_before),
	.w1-3.cms_fl + .w1-3.cms_fl:not(.cms_clear_before),
	.w1-3.fl + .w1-3.fl:not(.cms_clear_before) {
		margin-left: 3.947%;
	}
	.w350.cms_fl + .w350.cms_fl.ml0 {
		margin-left: 0;
	}
	/* サイドあり1/3 */
	.mainContents .w256,
	.mainContents .w1-3 {
		width: 31.22%;
	}
	.w256.cms_fl + .w256.cms_fl:not(.cms_clear_before),
	.w256.fl + .w256.fl:not(.cms_clear_before),
	.mainContents .w1-3.cms_fl + .w1-3.cms_fl:not(.cms_clear_before),
	.mainContents .w1-3.fl + .w1-3.fl:not(.cms_clear_before) {
		margin-left: 3.17%;
	}
	/* 2/3 */
	.w745,
	.w2-3 {
		width: 65.351%;
	}
	/* サイドあり2/3 */
	.mainContents .w538,
	.mainContents .w2-3 {
		width: 65.61%;
	}
	/* 1/4 */
	.w258,
	.w1-4 {
		width: 22.632%;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl,
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl {
		margin-left: 3.157%;
	}
	/* 3/4 */
	.w846,
	.w3-4 {
		width: 74.211%;
	}
	/* 1/5 */
	.w208,
	.w1-5 {
		width: 18.246%;
	}
	.w208.cms_fl + .w208.cms_fl,
	.w208.fl + .w208.fl,
	.w1-5.cms_fl + .w1-5.cms_fl,
	.w1-5.fl + .w1-5.fl {
		margin-left: 2.1925%;
	}
	/* その他 */
	.w150 {
		width: 150px;
	}
	.w442 {
		width: 442px;
	}
	.w460 {
		width: 460px;
	}
	.w480 {
		width: 480px;
	}
	.w604 {
		width: 604px;
	}
	.w610 {
		width: 610px;
	}
	.w620 {
		width: 620px;
	}
	.w980 {
		width: 980px;
	}
}
/* ----------------------
 横幅（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.w258,
	.w1-4,
	.w1-5 {
		width: 47.25%;
	}
	.w258.cms_fl,
	.w1-4.cms_fl,
	.w1-5.cms_fl {
		float: left !important;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-5.cms_fl + .w1-5.cms_fl {
		margin-left: 5.5%;
	}
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl,
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w1-5.cms_fl + .w1-5.cms_fl + .w1-5.cms_fl {
		margin-bottom: 0;
		margin-left: 0;
	}
	/* その他 */
	.w150 {
		text-align: center;
	}
	.w150 img {
		width: 150px;
	}
	.sp_w80p {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.sp_w80p .cms_caption_b {
		text-align: center;
	}
}

/* ------------------------------
 ボックス（PC）
------------------------------ */
/* 背景 */
.bgBox {
	padding: 50px;
	border-radius: 20px;
	background-color: var(--base-color);
}
/* 背景上下アキ25px */
.bgBox.ptb25 {
	padding: 25px 0;
}
/* 背景上下アキ35px */
.bgBox.ptb35 {
	padding: 35px 0;
}
/* 背景薄い赤 */
.bgrBox {
	padding: 15px 20px;
	border-radius: 8px;
	background-color: #fbf0ee;
	color: var(--red-color);
	font-weight: 600;
}
/* 横並び */
.flexBox {
	display: flex !important;
	flex-wrap: wrap;
}
.cms_block.flexBox::after {
	content: none;
}
/* 横並び センター揃え */
.flexBox.jc-c {
	justify-content: center;
}
/* 横並び 端揃え */
.flexBox.jc-sb {
	justify-content: space-between;
}
/* 横並び 縦センター揃え */
.flexBox.ai-c {
	align-items: center;
}
/* 横並び 縦上揃え */
.flexBox.ai-s {
	align-items: start;
}
/* 横並び4列（SP横並び2列） */
.flexBox.div4 {
	flex-wrap: wrap;
	gap: 30px 3.158%;
}
/* 横並びで写真キャプションが上 */
.flexBox.capTop > * {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
/* flexBoxの中でも横並びにしない */
.flexBox.h100p > h2,
.flexBox.h100p > h3 {
	width: 100% !important;
	text-align: center !important;
}
.flexBox .fg-1 {
	flex-grow: 1;
}
@media print, screen and (min-width: 768px) {
	/* 横並び2列 */
	.flexBox.div2 {
		flex-wrap: wrap;
		column-gap: 4.21%;
	}
	.flexBox.div2 > * {
		width: 47.895%;
	}
	.mainContents .flexBox.div2 {
		column-gap: 4.39%;
	}
	.mainContents .flexBox.div2 > * {
		width: 47.805%;
	}
	/* 横並び3列 */
	.flexBox.div3 {
		flex-wrap: wrap;
		column-gap: 3.948%;
	}
	.flexBox.div3 > * {
		width: 30.702%;
	}
	.mainContents .flexBox.div3 {
		column-gap: 3.17%;
	}
	.mainContents .flexBox.div3 > * {
		width: 31.22%;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 22.632%;
	}
}
/* ------------------------------
 ボックス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 背景 */
	.bgBox {
		padding: 25px 30px;
		border-radius: 15px;
	}
	/* 背景上下アキ25px */
	.bgBox.ptb25 {
		padding: 20px 0;
	}
	/* 背景上下アキ35px */
	.bgBox.ptb35 {
		padding: 20px 0;
	}
	/* 横並び2列・横並び3列 */
	.flexBox.div2,
	.flexBox.div3 {
		display: block !important;
	}
	/* .flexBox.div2 > * + *,
	.flexBox.div3 > * + * {
		margin-top: 30px;
	} */
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 {
		flex-wrap: wrap;
		gap: 15px 5.5%;
	}
	.flexBox.div4 > * {
		width: 47.25%;
	}
	/* 横並び4列（SP横並びにしない） */
	.flexBox.div4.sp_nodiv {
		display: block;
	}
	.flexBox.div4.sp_nodiv > * {
		width: 100%;
	}
}

/* ------------------------------
 テーブル（PC）
------------------------------ */
/* デフォルト */
.contents table {
	overflow: hidden;
	width: 100%;
	border-collapse: separate;
	border: 1px solid #e3eaf0;
	border-radius: 20px;
	line-height: 1.5;
}
.contents table th {
	padding: 24px 1em 23px;
	background-color: var(--base-color);
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
}
.contents table th.thead-th {
	background-color: var(--recruit-font-color);
	color: #fff;
}
.contents table thead th {
	background-color: var(--recruit-font-color);
	color: #fff;
}
.contents table thead th.red-th {
	background-color: var(--red-color);
}
.contents table td {
	padding: 24px 1em 23px;
	background-color: #fafcfc;
}
.contents table:has(thead) td {
	text-align: center;
	vertical-align: middle;
}
.contents table td.red-td {
	background-color: #fbf0ee;
}
.contents table tr:not(:last-child) > th,
.contents table tr:not(:last-child) > td {
	border-bottom: 1px dotted #c8d6e0;
}
.contents table tr:not(:last-child) > th.thead-th,
.contents table tr:not(:last-child) > th.noborder-b,
.contents table tr:not(:last-child) > td.noborder-b {
	border-bottom: none;
}
.contents table thead th:not(:first-child) {
	border-left: 1px dotted #c8d6e0;
}
.contents table thead th.border-l,
.contents table tbody th.border-l {
	border-left: 1px dotted #c8d6e0;
}
.contents table tr > td {
	border-left: 1px dotted #c8d6e0;
}
.contents table:not(:has(thead)) tr:first-child > th {
	border-radius: 20px 0 0 0;
}
.contents table tbody tr:last-child > th {
	border-radius: 0 0 0 20px;
}
.contents table thead tr:first-child th:first-child {
	border-radius: 20px 0 0 0;
}
.contents table thead tr:first-child th:last-child {
	border-radius: 0 20px 0 0;
}
.contents table:not(:has(thead)) tr:first-child > td:last-child {
	border-radius: 0 20px 0 0;
}
.contents table tr:last-child > td:last-child {
	border-radius: 0 0 20px 0;
}
.contents table tbody tr:last-child > th.no-r {
	border-radius: 0;
}
/* Firefox */
@-moz-document url-prefix() {
	.contents table tr:not(:last-child) > th,
	.contents table tr:not(:last-child) > td {
		border-bottom: 1px dotted #b6c8d6;
	}
	.contents table thead th:not(:first-child) {
		border-left: 1px dotted #b6c8d6;
	}
	.contents table thead th.border-l,
	.contents table tbody th.border-l {
		border-left: 1px dotted #b6c8d6;
	}
	.contents table tr > td {
		border-left: 1px dotted #b6c8d6;
	}
}
/* デフォルト横padding狭い */
.contents .narrow table th,
.contents .narrow table thead th,
.contents .narrow table td {
	padding: 12px .5em 11px;
}
/* ラインなし */
.contents .noline table {
	border: none !important;
	border-radius: none !important;
	border-collapse: collapse;
}
.contents .noline table tr {
	display: grid;
	align-items: start;
}
.contents .noline table tr:not(:last-child) {
	margin-bottom: 15px;
}
.contents .noline table th {
	width: 100%;
	padding: 3px 1em 1px !important;
	border: none !important;
	border-radius: 3px !important;
	background-color: var(--base-color);
	color: var(--hospital-blue);
	font-weight: 600;
	text-align: right !important;
}
.contents .noline table td {
	padding: 3px 0 1px !important;
	border: none !important;
	border-radius: 0 !important;
}
/* スクロール */
.cms_text.scroller {
	overflow-y: hidden !important;
}
.contents .scroll-hint-icon {
	background: rgba(75,110,150,.5);
	top: calc(50% - 46px);
}
/* テーブル内のsmall */
.contents table th .small,
.contents table td .small {
	display: block;
	line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
	/* デフォルト */
	.contents table th {
		width: fit-content;
		/* white-space: nowrap; */
	}
	/* ラインなし */
	.contents .noline table tr {
		grid-template-columns: 1fr 4fr;
		column-gap: 10px;
	}
}
/* ------------------------------
 テーブル（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contents table {
		border-radius: 15px;
	}
	.contents table:not(:has(thead)) tr:first-child > th {
		border-radius: 15px 0 0 0;
	}
	.contents table tbody tr:last-child > th {
		border-radius: 0 0 0 15px;
	}
	.contents table thead tr:first-child th:first-child {
		border-radius: 15px 0 0 0;
	}
	.contents table thead tr:first-child th:last-child {
		border-radius: 0 15px 0 0;
	}
	.contents table:not(:has(thead)) tr:first-child > td:last-child {
		border-radius: 0 15px 0 0;
	}
	.contents table tr:last-child > td:last-child {
		border-radius: 0 0 15px 0;
	}
	/* レスポンシブ */
	.contents .res table th,
	.contents .res table td {
		display: block;
		width: auto !important;
		padding: 17px 1em 16px;
	}
	.contents .res table th {
		border-bottom: 1px dotted #c8d6e0;
		text-align: left;
	}
	.contents .res table tr > td {
		border-left: none;
	}
	.contents .res table:not(:has(thead)) tr:first-child > th {
		border-radius: 15px 15px 0 0;
	}
	.contents .res table tbody tr:last-child > th {
		border-radius: 0;
	}
	.contents .res table tbody tr:last-child > td {
		border-radius: 0 0 15px 15px;
	}
	/* ラインなし */
	.contents .noline table tr {
		grid-template-columns: 1fr 1.5fr;
		column-gap: 5px;
	}
	/* ラインなし・レスポンシブ */
	.contents .noline.res table tr {
		display: block;
	}
	.contents .noline.res table tr th {
		margin-bottom: 10px;
	}
	.contents .noline table th {
		width: 45% !important;
		text-align: left !important;
	}
	/* スクロールバーの色 */
	/* スクロール */
	.cms_text.scroller {
		padding-bottom: 24px;
	}
	/* Webkitベースのブラウザ (Chrome, Safariなど) 用 */
	.cms_text.scroller::-webkit-scrollbar {
		width: 8px; /* スクロールバーの幅 */
	}
	.cms_text.scroller::-webkit-scrollbar-track {
		background: #e3eaf0; /* トラックの色 */
		border-radius: 8px;
	}
	.cms_text.scroller::-webkit-scrollbar-thumb {
		background: var(--hospital-color); /* サムの色 */
		border-radius: 8px;
	}
	.cms_text.scroller table {
		width: 1140px !important;
	}
	/* コンテンツ幅が狭い時のスクロール */
	.mainContents .cms_text.scroller table {
		width: 820px !important;
	}
	/* スクロールヒント */
	.contents .scroll-hint-icon {
		width: 120px;
		height: 92px;
		border-radius: 10px;
		padding-top: 23px;
	}
	.contents .scroll-hint-icon::before {
		width: 32px;
		height: 40px;
		background-image: url(../img/icon_scrollhint.svg);
	}
	.contents .scroll-hint-icon::after {
		width: 32px;
		height: 11px;
		top: 16px;
		margin-left: -19px;
		background-image: url(../img/icon_scrollhint_arrow.svg);
	}
	.contents .scroll-hint-text {
		font-family: 'Barlow', sans-serif;
		font-weight: 600;
		letter-spacing: 0.03em;
		margin-top: 1px;
	}
	.contents .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
		opacity: 1;
	}
	/* スクロールバー */
	.cms_text.scroller::-webkit-scrollbar {
		display: block;
		width: 100%;
		height: 8px;
		border-radius: 4px;
		background-color: #e3eaf0;
	}
	.cms_text.scroller::-webkit-scrollbar-thumb {
		border-radius: 4px;
		background-color: var(--hospital-color);
	}
}

/* ------------------------------
 リスト（PC）
------------------------------ */
/* ノーマルリスト●付き */
.cms_text ul > li,
.cms_image ul > li {
	position: relative;
	padding-left: 1em;
}
.cms_text ul > li::before,
.cms_image ul > li::before {
	content: "●";
	position: absolute;
	top: .6em;
	left: 0;
	color: var(--recruit-sub-font-color);
	font-size: 60%;
	width: auto;
	height: auto;
	background: none;
}
/* 赤●付き */
.cms_text.red-dot ul > li::before,
.cms_image.red-dot ul > li::before {
	color: var(--red-color);
}
/* リスト2階層目● */
.cms_text ul > li > ul > li::before,
.cms_image ul > li > ul > li::before {
	color: #a3bacc;
}
/* 背景板強調リスト ul */
.cms_text.panel ul > li,
.cms_image.panel ul > li,
.cms_text ul.panel > li,
.cms_image ul.panel > li {
	padding: 21px 1em 17px 2em;
	border-radius: 10px;
	background-color: var(--base-color);
	font-size: 1.8rem;
	font-weight: 600;
}
.cms_text.panel ul > li:not(:last-child),
.cms_image.panel ul > li:not(:last-child),
.cms_text ul.panel > li:not(:last-child),
.cms_image ul.panel > li:not(:last-child) {
	margin-bottom: 6px;
}
.cms_text.panel ul > li::before,
.cms_image.panel ul > li::before,
.cms_text ul.panel > li::before,
.cms_image ul.panel > li::before {
	content: none;
}
.cms_text.panel ul > li > p:first-child,
.cms_image.panel ul > li > p:first-child,
.cms_text ul.panel > li > p:first-child,
.cms_image ul.panel > li > p:first-child {
	position: relative;
	margin-left: -1em;
	padding-left: 1em;
	font-size: 1.8rem;
	font-weight: 600;
}
.cms_text.panel ul > li > p:first-child::before,
.cms_image.panel ul > li > p:first-child::before,
.cms_text ul.panel > li > p:first-child::before,
.cms_image ul.panel > li > p:first-child::before {
	content: "";
	position: absolute;
	top: .5em;
	left: 0;
	width: 12px;
	height: 12px;
	background: url(../img/icon_circle.png) no-repeat 0 0 / cover;
}
.cms_text.panel ul > li > ul.normal > li,
.cms_image.panel ul > li > ul.normal > li,
.cms_text ul.panel > li > ul.normal > li,
.cms_image ul.panel > li > ul.normal > li {
	position: relative;
	padding: 0 0 0 1em;
	border-bottom: none;
}
.cms_text.panel ul > li > ul.normal > li::before,
.cms_image.panel ul > li > ul.normal > li::before,
.cms_text ul.panel > li > ul.normal > li::before,
.cms_image ul.panel > li > ul.normal > li::before {
	content: "●";
	position: absolute;
	top: .6em;
	left: 0;
	color: var(--recruit-sub-font-color);
	font-size: 60%;
	width: auto;
	height: auto;
	background: none;
}
/* チェックリスト */
.cms_text.check ul > li,
.cms_image.check ul > li,
.cms_text ul.check > li,
.cms_image ul.check > li {
	padding-left: 20px;
}
.cms_text.check ul > li::before,
.cms_image.check ul > li::before,
.cms_text ul.check > li::before,
.cms_image ul.check > li::before {
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	width: 15px;
	height: 15px;
	background: url(../img/icon_check.svg) no-repeat 0 0 / cover;
}
/* 数字リスト */
.cms_text ol > li,
.cms_image ol > li {
	position: relative;
	counter-increment: cnt;
	padding-left: 1.5em;
}
.cms_text ol > li::before,
.cms_image ol > li::before {
	content: counter(cnt) '.';
	position: absolute;
	top: 0;
	left: 0;
	color: var(--recruit-font-color);
	font-family: Arial, sans-serif;
	font-weight: bold;
}
/* 丸数字リスト */
.cms_text.circle ol > li,
.cms_image.circle ol > li,
.cms_text ol.circle > li,
.cms_image ol.circle > li {
	position: relative;
	counter-increment: cnt;
}
.cms_text.circle ol > li::before,
.cms_image.circle ol > li::before,
.cms_text ol.circle > li::before,
.cms_image ol.circle > li::before {
	content: counter(cnt);
	position: absolute;
	top: .35em;
	left: 0;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background-color: var(--recruit-sub-font-color);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 1.1rem;
	line-height: 17px;
	font-weight: bold;
	text-align: center;
}
/* 背景板強調リスト ol */
.cms_text.panel ol > li,
.cms_image.panel ol > li,
.cms_text ol.panel > li,
.cms_image ol.panel > li {
	position: relative;
	padding: 21px 1em 17px 2.5em;
	border-radius: 10px;
	background-color: var(--base-color);
	font-size: 1.8rem;
	font-weight: 600;
	counter-increment: cnt;
}
.cms_text.panel ol > li:not(:last-child),
.cms_image.panel ol > li:not(:last-child),
.cms_text ol.panel > li:not(:last-child),
.cms_image ol.panel > li:not(:last-child) {
	margin-bottom: 6px;
}
.cms_text.panel ol > li::before,
.cms_image.panel ol > li::before,
.cms_text ol.panel > li::before,
.cms_image ol.panel > li::before {
	content: none;
}
.cms_text.panel ol > li > p:first-child,
.cms_image.panel ol > li > p:first-child,
.cms_text ol.panel > li > p:first-child,
.cms_image ol.panel > li > p:first-child {
	position: relative;
	margin-left: -1em;
	padding-left: 1em;
	font-size: 1.8rem;
	font-weight: 600;
}
.cms_text.panel ol > li > p:first-child::before,
.cms_image.panel ol > li > p:first-child::before,
.cms_text ol.panel > li > p:first-child::before,
.cms_image ol.panel > li > p:first-child::before {
	content: counter(cnt);
	position: absolute;
	top: .3em;
	left: -9px;
	width: 21px;
	height: 21px;
	padding-top: 1px;
	border-radius: 50%;
	background-color: var(--recruit-sub-font-color);
	color: #fff;
	font-family: "Rubik", sans-serif;
	font-size: 1.2rem;
	line-height: 20px;
	font-weight: 500;
	text-align: center;
}
.cms_text.panel ol > li > ul.normal > li,
.cms_image.panel ol > li > ul.normal > li,
.cms_text ol.panel > li > ul.normal > li,
.cms_image ol.panel > li > ul.normal > li {
	position: relative;
	padding: 0 0 0 1em;
	border-bottom: none;
}
.cms_text.panel ol > li > ul.normal > li::before,
.cms_image.panel ol > li > ul.normal > li::before,
.cms_text ol.panel > li > ul.normal > li::before,
.cms_image ol.panel > li > ul.normal > li::before {
	content: "●";
	position: absolute;
	top: .6em;
	left: 0;
	color: var(--hospital-color);
	font-size: 60%;
	width: auto;
	height: auto;
	background: none;
}
/* 横並びリスト */
.inline ul li,
.inline ol li {
	display: inline-block;
	margin-right: 2em;
}
table .inline ul li,
table .inline ol li,
.bgBox ul li,
.bgBox ol li {
	margin-right: 1em;
}
@media print, screen and (min-width: 768px) {
	/* li下に10pxのスペース */
	.cms_text.list_mb ul > li:not(:last-child),
	.cms_image.list_mb ul > li:not(:last-child),
	.cms_text ul.list_mb > li:not(:last-child),
	.cms_image ul.list_mb > li:not(:last-child),
	.cms_text.list_mb ol > li:not(:last-child),
	.cms_image.list_mb ol > li:not(:last-child),
	.cms_text ol.list_mb > li:not(:last-child),
	.cms_image ol.list_mb > li:not(:last-child) {
		margin-bottom: 10px;
	}
	/* 5行で折り返し */
	.list_grid2 ul {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(5, auto);
	}
	.list_grid2 ul li {
		align-self: self-start;
	}
	/* 横並び */
	.list_div2 ul,
	.list_div3 ul,
	.list_div4 ul,
	.list_div2 ol,
	.list_div3 ol,
	.list_div4 ol {
		display: flex;
		flex-wrap: wrap;
		column-gap: 1em;
	}
	/* 2分割 */
	.list_div2 ul li,
	.list_div2 ol li {
		width: calc((100% - 1em) / 2);
	}
	/* 3分割 */
	.list_div3 ul li,
	.list_div3 ol li {
		width: calc((100% - 2em) / 3);
	}
	/* 4分割 */
	.list_div4 ul li,
	.list_div4 ol li {
		width: calc((100% - 3em) / 4);
	}
}
/* ------------------------------
 リスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* ul、ol下スペース（スマホのみ） */
	.cms_text ul > li,
	.cms_image ul > li,
	.cms_text ol > li,
	.cms_image ol > li {
		margin-bottom: 5px;
	}
	/* 点線強調リスト */
	.cms_text.dotline ol > li,
	.cms_image.dotline ol > li,
	.cms_text ol.dotline > li,
	.cms_image ol.dotline > li {
		margin-bottom: 0;
	}
	.cms_text.dotline ul > li > p:first-child,
	.cms_image.dotline ul > li > p:first-child,
	.cms_text ul.dotline > li > p:first-child,
	.cms_image ul.dotline > li > p:first-child {
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.cms_text.dotline ul > li > p:first-child::before,
	.cms_image.dotline ul > li > p:first-child::before,
	.cms_text ul.dotline > li > p:first-child::before,
	.cms_image ul.dotline > li > p:first-child::before {
		top: .4em;
	}
}

/* ------------------------------
 アイコン（PC）
------------------------------ */
/* カレンダー */
.icon_calendar a::before {
	content: "";
	display: inline-block;
	width: 26px;
	height: 25px;
	background: url(../img/icon_calendar.svg) no-repeat center / cover;
	vertical-align: middle;
	margin-right: 5px;
	margin-bottom: 5px;
}
.icon_calendar.cms_link a::after {
	content: none;
}
/* 電話 */
.icon-tel {
	line-height: 1;
	display: inline-block;
	padding-left: 1.1em;
	position: relative;
}
.icon-tel::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
}
/* ------------------------------
 アイコン（SP）
------------------------------ */
@media screen and (max-width: 767px) {
}

/* ------------------------------
 角丸（PC）
------------------------------ */
.r8,
.r8 img {
	border-radius: 8px;
}
.r20,
.r20 img {
	border-radius: 20px;
}
.r30,
.r30 img {
	border-radius: 30px;
}
/* 角丸なし */
.no-r img {
	border-radius: 0;
}
/* ------------------------------
 角丸（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.r20,
	.r20 img {
		border-radius: 15px;
	}
	.r30,
	.r30 img {
		border-radius: 20px;
	}
}

/* ------------------------------
 画像（PC）
------------------------------ */
/* ポップボックス */
.cms_image a[rel="popbox"] {
	display: block;
	position: relative;
}
.cms_image a[rel="popbox"]::after {
	content: "";
	width: 32px;
	height: 32px;
	background: url(../img/icon_gnav_close.svg) no-repeat center / cover;
	position: absolute;
	top: -7px;
	right: -7px;
}
/* ------------------------------
 画像（SP）
------------------------------ */
@media screen and (max-width: 767px) {
}

/* ------------------------------
 線（PC）
------------------------------ */
/* 点線上 */
.dotline-t {
	margin-bottom: 10px;
	padding-top: 15px;
	border-top: var(--dotline);
}
/* 点線下 */
.dotline-b {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: var(--dotline);
}
/* Firefox */
@-moz-document url-prefix() {
	.dotline-t {
		border-top: var(--dotline-ff);
	}
	.dotline-b {
		border-bottom: var(--dotline-ff);
	}
}
/* ------------------------------
 線（SP）
------------------------------ */
@media screen and (max-width: 767px) {
}

/* ------------------------------
 リンク（PC）
------------------------------ */
/* 横並びリンク */
.inlineLink {
	display: flex;
	flex-flow: row wrap;
	gap: 20px;
}
/* ------------------------------
 リンク（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 横並びリンク */
	.inlineLink {
		gap: 5px 10px;
	}
}

/* ------------------------------
 ボタン（PC）
------------------------------ */
/*デフォルト*/
.btn a,
a.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 76px;
	padding: 2px 30px 0 46px;
	border-radius: 38px;
	background-color: var(--recruit-font-color);
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	text-decoration: none;
	transition: .3s ease-in-out;
}
.btn a::before,
a.btn::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: url(../img/icon_btn.png) no-repeat 0 0 / cover;
	margin: auto 0;
	transition: .3s ease-in-out;
}
.btn a[target="_blank"] span::after,
a.btn[target="_blank"] span::after,
a.btn.cms_inner_blank[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin: -4px 0 0 5px;
	background: url(../img/icon_blank_w.svg) no-repeat center / cover;
	vertical-align: middle;
}
/*横並びボタン*/
.inlineBtn {
	display: flex;
	flex-wrap: wrap;
}
.inlineBtn .btn a {
	align-items: center;
}
.cms_block.inlineBtn::after {
	content: none;
}
@media print, screen and (min-width: 768px) {
	/*デフォルト*/
	.btn a,
	a.btn {
		min-width: 250px;
	}
	/* f18 */
	.btn.f18 a {
		font-size: 1.8rem;
	}
	/*横並びボタン*/
	.inlineBtn {
		gap: 10px 23px;
	}
}
/* ------------------------------
 ボタン（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/*デフォルト*/
	.btn a,
	a.btn {
		min-width: 230px;
		height: 68px;
		border-radius: 34px;
		padding: 2px 27px 0 46px;
	}
	.btn a::before,
	a.btn::before {
		left: 27px;
	}
	/*横並びボタン*/
	.inlineBtn {
		flex-direction: column;
		align-items: center;
		gap: 10px 0;
	}
}

/* ------------------------------
 下層ページリンク（PC）
------------------------------ */
.cms_block:has(.lowerLink)::after {
	content: none;
}
.cms_block .lowerLink li {
	height: 130px;
}
.cms_block .lowerLink li:has(img) {
	height: auto;
	margin-bottom: 24px;
}
.cms_block .lowerLink li a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding-right: 50px;
	border-radius: 20px;
	background-color: var(--base-color);
}
.cms_block .lowerLink li:has(img) a {
	flex-wrap: wrap;
	padding-right: 0;
}
.cms_block .lowerLink li:has(img) a img {
	margin-bottom: 30px;
	border-radius: 20px 20px 0 0;
}
.cms_block .lowerLink li a p {
	font-size: 2.2rem;
	line-height: 1.35;
	font-weight: 600;
}
.cms_block .lowerLink li:has(img) a p {
	margin-bottom: 30px;
}
.cms_block .lowerLink li a p::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 12px;
	margin: 0 8px 4px 0;
	background: url(../img/decoration_eng.png) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.cms_block .lowerLink li a[target="_blank"] p::after {
	content: "";
	display: inline-block;
	width: 18px;
    height: 18px;
	margin: -4px 0 0 7px;
	background: url(../img/icon_blank.svg) no-repeat center / cover;
    vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
	.cms_block .lowerLink {
		display: flex;
		flex-wrap: wrap;
		gap: 24px 48px;
	}
	.cms_block .lowerLink li {
		width: 47.895%;
	}
}
/* ----------------------
 下層ページリンク（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.cms_block .lowerLink li {
		height: 110px;
	}
	.cms_block .lowerLink li:not(:last-child) {
		margin-bottom: 20px;
	}
	.cms_block .lowerLink li:not(:last-child):has(img) {
		margin-bottom: 30px;
	}
	.cms_block .lowerLink li a {
		border-radius: 15px;
	}
	.cms_block .lowerLink li:has(img) a img {
		margin-bottom: 25px;
		border-radius: 15px 15px 0 0;
	}
	.cms_block .lowerLink li a p {
		font-size: 1.8rem;
	}
	.cms_block .lowerLink li:has(img) a p {
		margin-bottom: 25px;
	}
	.cms_block .lowerLink li a p::before {
		width: 24px;
		height: 12px;
		background: url(../img/decoration_eng_sp.png) no-repeat 0 0 / cover;
	}
	.cms_block .lowerLink li a[target="_blank"] p::after {
		width: 14px;
		height: 14px;
		margin: -4px 0 0 5px;
	}
}

/* ------------------------------
 ページ内リンク（PC）
------------------------------ */
.pageLink {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	row-gap: 12px;
	padding: 23px 0;
	border-radius: 8px;
	background-color: var(--recruit-font-color);
	color: #fff;
	line-height: 1;
}
.pageLink .cms_text {
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 600;
}
.pageLink .cms_text::before {
	content: "";
	display: inline-block;
	width: 19px;
	height: 8px;
	margin: 0 10px 4px 0;
	background: url(../img/decoration_eng_s.png) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.pageLink .cms_text.index {
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	letter-spacing: .05em;
}
.pageLink .cms_link {
	padding: 1px 0;
}
.pageLink .cms_link a {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
}
.pageLink .cms_link:not(.btn) a::after {
	width: 16px;
	height: 16px;
	margin: -4px 0 0 4px;
	background: url(../img/icon_arrow_c_b_w.svg) no-repeat 0 0 / cover;
	transform: none;
}
@media print, screen and (min-width: 768px) {
	.pageLink .cms_text {
		display: inline-block;
		margin: 0 1em 0 0;
		padding-right: 1em;
		border-right: 1px dotted #889eaa;
	}
	.pageLink .cms_link {
		margin: 0 1em 0 0;
	}
}
/* ------------------------------
 ページ内リンク（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.pageLink {
		padding: 23px;
		gap: 7px 1em;
	}
	.pageLink .cms_text {
		width: 100%;
		margin: 0 0 8px -23px;
	}
}

/* ------------------------------
 お知らせ
------------------------------ */
/* お知らせ一覧ページ */
.newsList li {
	display: flex;
	column-gap: 20px;
	width: 100%;
	padding: 25px 0;
	border-bottom: 1px dotted #a5b7cb;
}
.newsList li:first-child {
	border-top: 1px dotted #a5b7cb;
}
.newsList li a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url(../img/icon_blank.svg) no-repeat center / cover;
	transition: .3s ease-in-out;
}
/* お知らせタイトル */
.newsList .headline {
	width: calc(100% - 256px);
	padding-top: 4px;
	line-height: 1.5;
}
/* リンクありの場合 */
.newsList .headline a {
	position: relative;
	display: inline-block;
}
/* ブログ一覧 */
.contentsHome .postList li a .postImg { /* ←トップ */
	margin-bottom: 15px;
}
.postList li a .postImg img {
	border-radius: 20px;
	width: 100%;
	aspect-ratio: 4.3 / 3;
	object-fit: cover;
	object-position: center top;
}
.postList li a .postText {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
}
.contentsHome .postList li a .postText { /* ←トップ */
	gap: 12px 8px;
}
.postList li a .postText .title {
	line-height: 1.5;
}
.postList .tag {
	display: flex;
}
/* 日付 */
.newsList .date,
.postList .date,
.dateBox .date {
	color: #4c6e7f;
	font-family: "Rubik", sans-serif;
	font-weight: 400;
	line-height: 28px;
}
/* カテゴリ・タグ */
/* .cate,
.tag {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 75px;
	height: 23px;
	padding-top: 2px;
	border-radius: 4px;
	background-color: #c2eaff;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
} */
.cate,
.tag {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 115px;
	height: 28px;
	padding-top: 2px;
	border-radius: 4px;
	background-color: #c2eaff;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
}
.cate13 .cate {
	background-color: #c2eaff;
}
.cate14 .cate {
	background-color: #ffdde3;
}
.cate15 .cate {
	background-color: #b7f6cf;
}
.cate16 .cate {
	background-color: #dbffb1;
}
.cate17 .cate {
	background-color: #c4dbfb;
}
.cate18 .cate {
	background-color: #ffeabd;
}
/* 下層ページ */
.dateBox {
	display: flex;
	align-items: center;
	gap: 0 10px;
	margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
	/* ページネーション 前へ／次へ */
	.postSwiper .swiper-pagination,
	.postSwiper .swiper-buttons {
		display: none !important;
	}
}
/* ----------------------
 新着・ブログ一覧（SP）
---------------------- */
@media screen and (max-width: 767px) {
	/* 新着情報一覧 */
	.newsList li {
		flex-flow: row wrap;
		gap: 3px 10px;
		padding: 20px 0 15px;
	}
	/* 新着タイトル */
	.newsList .headline {
		width: 100%;
		padding-top: 5px;
	}
	/* ブログ一覧 */
	.postList li {
		width: 100%;
	}
	.postList li a .postImg {
		width: 100%;
	}
	.mainContents .postList li a .postImg {
		margin-bottom: 20px;
	}
	/* 日付 */
	.newsList .date,
	.postList .date,
	.dateBox .date {
		padding-top: 5px;
		line-height: 1;
	}
	/* ページネーション */
	.postSwiper .swiper-pagination-bullets.swiper-pagination-horizontal {
		display: block;
		bottom: 0;
		left: 50%;
		width: auto;
		height: 34px;
		padding-top: 4px;
		transform: translateX(-50%);
	}
	.postSwiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		opacity: 1;
		margin: 0 4px;
		background-color: #bfcfdb;
	}
	.postSwiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background-color: var(--hospital-color);
	}
	/* 前へ／次へ */
	.postSwiper .swiper-buttons {
		display: flex;
		position: absolute;
		justify-content: flex-end;
		height: 34px;
		gap: 5px;
		bottom: 0;
		right: 0;
	}
	.postSwiper .swiper-buttons .swiper-button-prev,
	.postSwiper .swiper-buttons .swiper-button-next {
		position: static;
		width: 34px;
		height: 34px;
		margin: 0;
	}
	.postSwiper .swiper-buttons .swiper-button-prev::after,
	.postSwiper .swiper-buttons .swiper-button-next::after {
		content: "";
		display: block;
		width: 34px;
		height: 34px;
		border-radius: 5px;
		background: var(--base-color) url(../img/icon_arrow_r_g_s.svg) no-repeat 11px center / 13px 10px;
	}
	.postSwiper .swiper-buttons .swiper-button-prev::after {
		transform: rotate(180deg);
	}
}

/* ------------------------------
 Googlemap埋め込み（PC）
------------------------------ */
.map {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 20px;
}
/* ------------------------------
 Googlemap埋め込み（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.map {
		aspect-ratio: 1 / 1;
	}
	.map iframe {
		border-radius: 15px;
	}
}

/* ------------------------------
 YouTube埋め込み
------------------------------ */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* ------------------------------
 順番指定
------------------------------ */
@media print, screen and (min-width: 768px) {
	.order1 { order: 1;}
	.order2 { order: 2;}
	.order3 { order: 3;}
}
@media screen and (max-width: 767px) {
	.sp_order1 { order: 1;}
	.sp_order2 { order: 2;}
	.sp_order3 { order: 3;}
}

/* ------------------------------
 よくあるご質問（PC）
------------------------------ */
.cms_text.toggle {
	position: relative;
	margin-bottom: 15px;
	padding: 20px 60px 19px;
	border-radius: 10px;
	background-color: var(--base-color);
	font-size: 1.8rem;
	font-weight: bold;
	cursor: pointer;
}
.cms_text.toggle::before {
	content: "";
	display: block;
	position: absolute;
	right: 29px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 2px;
	height: 18px;
	background-color: var(--hospital-color);
}
.cms_text.toggle::after {
	content: "";
	display: block;
	position: absolute;
	right: 21px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 18px;
	height: 2px;
	background-color: var(--hospital-color);
}
.cms_text.toggle.is-open::before {
	display: none;
}
.cms_text.toggle p::before {
	content:"Q";
	display: block;
	position: absolute;
	top: 18px;
	left: 18px;
	width: 32px;
	height: 32px;
	border: 1px solid var(--hospital-blue);
	border-radius: 50%;
	background-color: #fff;
	color: var(--hospital-blue);
	font-family: "Rubik", sans-serif;
	font-size: 2.2rem;
	line-height: 34px;
	font-weight: 500;
	text-align: center;
}
.cms_text.toggleContents {
	display: none;
	position: relative;
	margin-bottom: 0;
	padding: 7px 20px 22px 60px;
}
.cms_text.toggleContents p {
	position: relative;
}
.cms_text.toggleContents p:before {
	content:"A";
	display: block;
	position: absolute;
	top: -4px;
	left: -42px;
	color: #fff;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--hospital-blue);
	font-family: "Rubik", sans-serif;
	font-size: 2.2rem;
	line-height: 34px;
	font-weight: 500;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
}
/* ------------------------------
 よくあるご質問（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_text.toggle {
		margin-bottom: 10px;
		padding: 17px 41px 17px 50px;
		font-size: 1.6rem;
	}
	.cms_text.toggle::before {
		right: 22px;
		width: 2px;
		height: 16px;
	}
	.cms_text.toggle::after {
		right: 15px;
		width: 16px;
		height: 2px;
	}
	.cms_text.toggle p:before {
		top: 15px;
		left: 10px;
		width: 30px;
		height: 30px;
		font-size: 2rem;
		line-height: 30px;
	}
	.cms_text.toggleContents {
		padding: 6px 15px 22px 50px;
	}
	.cms_text.toggleContents p:before {
		top: -2px;
		left: -45px;
		width: 30px;
		height: 30px;
		font-size: 2rem;
		line-height: 30px;
	}
}

/* ------------------------------
 流れ
------------------------------ */
.flowBlock .bgBox {
	position: relative;
	padding: 25px 60px;
	border-radius: 10px;
}
.flowBlock .bgBox:not(:last-child) {
	margin-bottom: 20px;
}
.flowBlock .bgBox:not(:last-child):after {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - 1px);
	left: 28px;
	width: 24px;
	height: 12px;
	background-color: var(--base-color);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.flowBlock p:first-child {
	position: relative;
	margin-bottom: 15px;
	padding: 4px 0 0 12px;
	color: var(--hospital-blue);
	font-size: 2rem;
	line-height: 24px;
	font-weight: 600;
}
.flowBlock p:first-child  span {
	display: inline-block;
	position: absolute;
	top: 0;
	left: -60px;
	width: 66px;
	height: 28px;
	padding-left: 8px;
	border-radius: 0 14px 14px 0;
	background-color: var(--hospital-blue);
	color: #fff;
	font-family: "Rubik", sans-serif;
	font-size: 1.5rem;
	line-height: 28px;
}
.flowBlock p:first-child  span em {
	font-size: 1.1rem;
	font-style: normal;
}
.flowBlock .arrowImg div {
	position: relative;
}
.flowBlock .arrowImg div:not(:last-child)::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -14px;
	width: 8px;
	height: 8px;
	margin: auto 0;
	border-right: solid 2px #a3bacc;
	border-bottom: solid 2px #a3bacc;
	transform: rotate(-45deg);
}
@media print, screen and (min-width: 768px) {
	.flowBlock.narrow .bgBox {
		padding: 25px 30px;
	}
	.flowBlock.narrow .bgBox p:first-child {
		padding: 4px 0 0 42px;
	}
	.flowBlock.narrow .bgBox p:first-child span {
		left: -30px;
	}
}
/* ----------------------
 流れ（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.flowBlock .bgBox {
		padding: 20px;
	}
	.flowBlock p:first-child  {
		margin-bottom: 10px;
		padding: 4px 0 0 52px;
		font-size: 1.9rem;
	}
	.flowBlock p:first-child span {
		left: -20px;
	}
	.flowBlock .arrowImg div:not(:last-child)::after {
		content: "";
		display: block;
		position: absolute;
		top: auto;
		bottom: -18px;
		left: 0;
		right: 0;
		width: 12px;
		height: 12px;
		margin: 0 auto;
		border-right: solid 2px #a3bacc;
		border-bottom: solid 2px #a3bacc;
		transform: rotate(45deg);
	}
}

/* ------------------------------
 電話（PC）
------------------------------ */
/* 代表電話 */
.mainTel {
	display: flex;
	align-items: center;
	column-gap: 15px;
	color: var(--recruit-font-color);
	font-family: "Rubik", sans-serif;
	font-size: 3.6rem;
	letter-spacing: -.015em;
}
.mainTel span {
	display: inline-block;
	height: 40px;
	padding: 2px 12px 0;
	border-radius: 5px;
	background-color: #e8eef2;
	color: var(--recruit-font-color);
	font-family: "IBM Plex Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 2rem;
	line-height: 38px;
	font-weight: 600;
}
.mainTel a[href^="tel:"] {
	color: var(--recruit-font-color);
	line-height: 40px;
}
/* 電話アイコン付き */
.iconTel a[href^="tel:"] {
	display: inline-block;
	color: var(--recruit-font-color);
	font-family: "Rubik", sans-serif;
	font-size: 4.5rem;
	line-height: 1;
	letter-spacing: -.015em;
}
.iconTel a[href^="tel:"]::before {
	content: "";
	display: inline-block;
	width: 38px;
	height: 38px;
	margin: -8px 8px 0 0;
	background: url(../img/icon_tel.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.iconTel .cms_link::after {
	content: none;
}
/* ------------------------------
 電話（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 代表電話 */
	.mainTel {
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 5px 13px;
		font-size: 3.2rem;
	}
	.mainTel span {
		height: 36px;
		font-size: 1.8rem;
		line-height: 34px;
	}
	.mainTel a[href^="tel:"] {
		line-height: 36px;
		text-decoration: none !important;
	}
	/* 電話アイコン付き */
	.iconTel a[href^="tel:"] {
		font-size: 3.5rem;
		letter-spacing: -.015em;
		text-decoration: none !important;
	}
	.iconTel a[href^="tel:"]::before {
		width: 30px;
		height: 30px;
		margin: -6px 6px 0 0;
	}
}

/* ------------------------------
 はみ出し画像コンテンツ
------------------------------ */
.overflowBlock > * {
	margin-left: 0;
	margin-right: 0;
}
.overflowBlock .textBox h2 {
	letter-spacing: 0;
	line-height: 1.36;
}
.overflowBlock .textBox .text-lead {
	margin-bottom: 35px;
}
.overflowBlock .textBox .text-lead span {
	padding: 4px 10px;
	border-radius: 5px;
	display: inline-block;
}
@media print, screen and (min-width: 768px) {
	.overflowBlock.flexBox {
		column-gap: 45px;
	}
	.overflowBlock .textBox {
		width: 350px;
	}
	.overflowBlock .imgBox {
		width: 1105px;
		margin-left: -360px;
	}
	.overflowBlock .imgBox.order2 {
		margin-left: 0;
		margin-right: -360px;
	}
}
/* ----------------------
 はみ出し画像（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.overflowBlock .textBox .text-lead {
		margin-bottom: 15px;
	}
}

/* ------------------------------
 画像とテキスト横並び（PC）
------------------------------ */
.image-textBox {
	color: #fff;
	border-radius: 20px;
	overflow: hidden;
	background: #474747;
	position: relative;
	transition: opacity 0.3s ease-in-out;
}
.image-textBox a.cms_link::after {
	content: none;
}
.image-textBox:has(a)::after {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	border-radius: 100%;
	position: absolute;
	right: 35px;
	bottom: 30px;
	background: var(--green-color) url(../img/arrow_right_w.svg) no-repeat center / 16px auto;
}
.image-textBox img {
	border-radius: 0;
}
.image-textBox a,
.image-textBox h2 {
	color: #fff;
}
.image-textBox .cms_caption_b,
.image-textBox .cms_caption_b a {
	display: flex;
}
.image-textBox .cms_caption_b a {
	width: 100%;
	align-items: center;
	padding: 30px 60px;
}
.cms_image.image-textBox:has(h2:first-child) .cms_caption_b {
	margin-top: 0;
}
@media print, screen and (min-width: 768px) {
	.image-textBox a:hover {
		opacity: 1;
	}
	.image-textBox:has(a):hover {
		opacity: .7;
	}
	.image-textBox {
		display: flex;
	}
	.image-textBox > * {
		width: 50%;
		margin: 0;
	}
}
/* ------------------------------
 画像とテキスト横並び（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.image-textBox .cms_caption_b a {
		padding: 20px 30px 40px;
	}
	.image-textBox:has(a)::after {
		width: 40px;
		height: 40px;
		right: 20px;
		bottom: 20px;
	}
}
/* ------------------------------
 背景全面画像（PC）
------------------------------ */
.imgbgBlock {
	position: relative;
	max-width: 1920px;
	display: flex;
	align-items: center;
}
.imgbgBlock .textBox {
	text-align: center;
	border-radius: 20px;
	padding: 60px 50px;
	background-color: #fff;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}
.imgbgBlock .textBox h2 {
	text-align: center;
}
.imgbgBlock .textBox h2::after {
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
@media print, screen and (min-width: 768px) {
	.imgbgBlock > .cms_image {
		width: calc(100% / 2);
		margin-bottom: 0;
	}
	.imgbgBlock > .cms_image img {
		width: 100%;
		height: 620px;
		object-fit: cover;
	}
	.imgbgBlock > .cms_image:nth-of-type(1) img {
		object-position: 100% 0;
	}
	.imgbgBlock > .cms_image:nth-of-type(2) img {
		object-position: 0 0;
	}
	.imgbgBlock .textBox {
		width: 490px;
	}
}

/* ------------------------------
 芙蓉協会の魅力（PC）
------------------------------ */
.w480 h2 {
	position: relative;
	z-index: 1;
	padding-top: 30px;
}
.w480 h2 span {
	position: absolute;
	top: -45px;
	left: -25px;
	z-index: -1;
	color: var(--base-color);
	font-family: "Rubik", sans-serif;
	font-size: 10rem;
	line-height: 1;
	font-weight: 500;
}
/* ------------------------------
 芙蓉協会の魅力（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.w480 h2 {
		padding-top: 22px;
	}
	.w480 h2 span {
		top: -30px;
		left: -15px;
		font-size: 7.4rem;
	}
}

/* ------------------------------
 求める人材像（PC）
------------------------------ */
.f29 {
	font-size: 2.9rem;
	line-height: 1.5;
}
/* ------------------------------
 求める人材像（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.f29 {
		font-size: 2.3rem;
	}
	.f29 br {
		display: none;
	}
}

/* ------------------------------
 先輩医師の声（PC）
------------------------------ */
.name {
	font-size: 2.4rem;
	font-weight: 600;
}
.name span {
	color: var(--recruit-sub-font-color);
}
.name span span {
	font-size: 1.8rem;
}
.specialty span {
	display: block;
	width: 62px;
	height: 24px;
	padding-top: 2px;
	border-radius: 5px;
	background-color: var(--recruit-sub-font-color);
	color: #fff;
	font-size: 1.5rem;
	line-height: 22px;
	font-weight: 600;
	text-align: center;
}
.cms_block.w460.fl h2 span {
	display: inline-block;
	margin-left: -.5em;
	margin-right: -.5em;
}
@media print, screen and (min-width: 768px) {
	.specialty {
		position: relative;
		padding-left: 70px;
	}
	.specialty span {
		position: absolute;
		top: 0;
		left: 0;
	}
}
/* ------------------------------
 先輩医師の声（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.name {
		font-size: 2.2rem;
		font-weight: 600;
	}
	.name span span {
		font-size: 1.7rem;
	}
	.specialty span {
		width: 96px;
		margin-bottom: 5px;
	}
}
