@charset "utf-8";
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}ul{list-style:none; padding: 0;}a:link{text-decoration:none}
.no-pc {
	display: none;
}
@media screen and (min-width: 768px) and (max-width: 1320px) {
	img {width: 100%;height: auto;}
}
@media screen and (max-width: 767px) {
	.no-pc {
		display: block;
	}
	.no-sp {
		display: none;
	}
	img {width: 100%;height: auto;}
}

:root {
	font-size: 58.5%;
	--yellow: #fbe443;
	--orange: #fb9c43;
	--blue: #5399cb;
	--green: #64cc8f;
	--green2: #70df37;
	--pink: #f290d3;
	--red: #ff2a6d;
	--grey: #505050;
	--l-green: #e5f5ed;
	--l-green2:#e2f7dc;
	--l-orange: #ffe7d0;
	--l-blue: #ddf0f7;
	--l-pink: #ffefff;
	--t-black: #333333;
	--inner-width: 120rem;
	--header-hight: min(calc(100 / 750 * 100vw), 10rem);
	--t-middle: 1.8rem;
	--kakugo: "Zen Kaku Gothic New", sans-serif;
	--noto: "Noto Sans JP", sans-serif;
	--noto-mincho: "Klee One", serif;
	--serif: "Noto Serif JP", serif;
	scroll-behavior: smooth;
	@media screen and (min-width: 768px) and (max-width: 1320px) {
		--inner-width: 90%;
	}
	@media screen and (max-width: 767px) {
		--inner-width: 90%;
	}
}

body {
	color: var(--t-black);
	font-size: var(--t-middle);
	font-family: var(--noto);
	max-width: 100vw;
	overflow-x: hidden;
}

/* header */
header {
	width: 100%;
	height: var(--header-hight);
	display: flex;
	align-items: center;
	padding-inline: min(calc(40 / 750 * 100vw), 4rem);
	z-index: 10;
	position: sticky;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 1);
	border-bottom: 1px solid #f2f2f2;
	@media screen and (min-width: 768px) and (max-width: 1320px) {
		padding-inline: min(calc(30 / 750 * 100vw), 3rem);
		.mainlogo-wrapper {
			width: 20%;
			& img {
				height: auto;
			}
		}
	}
}
@media screen and (max-width: 767px) {
	.mainlogo-wrapper {
		width: 40%;
		max-width: 25.9rem;
		& img {
			height: auto;
		}
	}
	.nav-toggle {
		position: absolute;
		z-index: 5;
		top: 0;
		right: 0;
		width: 7rem;
		height: 7rem;
	}
	.nav-toggle span {
		display: block;
		position: absolute;
		background: #111;
		transition: 0.5s ease-in-out;
		width: 40%;
		height: 0.1rem;
		left: 35%;
		border-radius: 0.2rem;
	}
	.nav-toggle span:first-child {
		top: 26%;
	}
	.nav-toggle span:nth-child(2) {
		top: 38%;
	}
	.nav-toggle span:nth-child(3) {
		top: 51%;
	}
	.nav-toggle.close span:first-child {
		transform: rotate(45deg);
		top: 38%;
	}
	.nav-toggle.close span:nth-child(2),
	.nav-toggle.close span:nth-child(3) {
		transform: rotate(-45deg);
		top: 38%;
	}
}
.header-nav {
	margin-left: 5rem;
	@media screen and (min-width: 768px) and (max-width: 1320px) {
		margin-left: 3rem;
	}
	@media screen and (max-width: 767px) {
		margin-left: 0;
		width: 100vw;
		height: 100dvh;
		overflow: hidden;
		transition: 0.5s ease-in-out;
		background: rgba(0, 0, 0, 0.0);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 3;
		pointer-events: none;
		&.nav-show {
			background: rgba(0, 0, 0, 0.4);
			pointer-events: auto;
		}
	}
}
.header-nav-list {
	display: flex;
	gap: 2em;
	@media screen and (min-width: 768px) and (max-width: 1320px) {
		gap: 1.6em;
	}
	@media screen and (max-width: 767px) {
		width: 32rem;
		height: 100%;
		position: absolute;
		top: 0;
		margin-top: 0;
		padding: 2rem 3rem;
		background: #fff;
		transition: 0.5s ease-in-out;
		display: block;
		right: -32rem;
		overflow-x: scroll;
	}
}
.header-nav.nav-show .header-nav-list {
	right: 0;
}
.header-nav-list-item {
	font-weight: 400;
	@media screen and (max-width: 767px) {
		border-radius: 0;
		background: none;
		border-bottom: 0.75px solid var(--green);
	}
	& > a {
		display: block;
		position: relative;
		&::before {
			content: "";
			display: block;
			position: absolute;
			width: 0;
			height: 0.4rem;
			background-color: var(--green);
			border-radius: 0.2rem;
			bottom: -0.8rem;
			left: calc(50% - 4.5rem);
			transition: width 0.3s linear;
		}
		&:hover {
			color: var(--green);
			&::before {
				width: 9rem;
			}
		}
		&::after {
			content: "";
			display: block;
			height: 1.6rem;
			width: 1px;
			background-color: #c3c3c3;
			position: absolute;
			top: 0.55rem;
			right: -0.8em;
		}
		@media screen and (min-width: 768px) and (max-width: 1320px) {
			font-size: 1.6rem;
		}
		@media screen and (max-width: 767px) {
			padding: 1.8rem 0 1.6rem 0;
			color: var(--t-black);
			&::before,&::after {
				content: none;
			}
		}
	}
}

/* footer */
footer {
	margin-top: 20rem;
	padding: 3rem 0 0.5rem;
	background-color: #ffffff;
	color: var(--t-black);
	@media screen and (max-width: 767px) {
		margin-top: 10rem;
	}
	&::before {
		content: "";
		display: block;
		position: relative;
		width: 80vw;
		max-width: 2048px;
		aspect-ratio: 2048 / 150;
		background: url(../img/line_01.png) no-repeat;
		background-size: contain;
		margin: 0 auto 10rem;
	}
	@media screen and (max-width: 767px) {
		&::before {
			width: 100vw;
			min-height: 5rem;
			margin: 0 auto 5rem;
			background: url(../img/line_01.png) no-repeat;
			background-size: cover;
			background-position: center;
		}
	}
}
.footer-inner {
	width: max-content;
	max-width: var(--inner-width);
	margin-inline: auto;
}
.footer-logo-wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 3.4rem;
	@media screen and (min-width: 768px) and (max-width: 1320px) {
		.mainlogo-wrapper {
			max-width: 25.9rem;
		}
	}
	@media screen and (max-width: 767px) {
		flex-direction: column;
		align-items: flex-start;
		gap: 3.6rem;
		.mainlogo-wrapper {
			width: 80%;
			max-width: 25.9rem;
		}
	}
}
.sns-list {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 2rem;	
	@media screen and (min-width: 768px) and (max-width: 1320px) {
		.sns-list-item {
			height: 4rem;
			& img {
				max-height: 100%;
			}
		}
	}
	@media screen and (max-width: 767px) {
		.sns-list-item {
			height: 4rem;
			& img {
				max-height: 70%;
			}
		}
	}
}
.footer-nav-wrapper {
	margin: 4rem 0 0 4rem;
	display: flex;
	gap: 8rem;
	@media screen and (max-width: 767px) {
		margin: 3rem 0 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 2rem;
	}
}
.footer-navs {
	width: max-content;
	h2 {
		width: max-content;
		text-wrap: auto;
		font-size: 2rem;
		font-weight: 400;
		border-bottom: none;
		padding: 0;
	}
}
.footer-nav-list {
	font-size: 1.4rem;
	line-height: 1.8;
	padding-left: 1em;
	width: max-content;
	& a {
		transition: opacity 0.5s ease;
		&:hover {
			opacity: 0.6;
		}
	}
}
footer {
	nav + p {
		margin: 5rem 0 0;
		text-align: center;
		small {
			font-size: 1.4rem;
		}
	}
}

/* to-top */
.to-top {
	position: fixed;
	right: 4rem;
	bottom: 4rem;
	width: 8rem;
	height: 8rem;
	display: none;
	z-index: 2;
	& span {
		display: grid;
		place-items: center;
		width: 100%;
		height: 100%;
		border-radius: 4rem;
		border: 1px solid var(--green);
		background-color: var(--green);
		color: #ffffff;
		font-size: 2.2rem;
		font-weight: 700;
		transition: 0.5s ease;
	}
	@media screen and (max-width: 767px) {
		width: 6rem;
		height: 6rem;
		right: 2rem;
		bottom: 2rem;
	}
	&:hover span {
		background-color: #ffffff;
		color: var(--green);
	}
}

/*フォント*/
p{
	padding: 0 10px;
	font-family: "M PLUS 1p", sans-serif;
}
.m-plus-1p-regular {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 200 to 900

.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
/*小見出し*/
.heading-38 {
    position: relative;
    padding: .5em 1.7em 0 1.7em;
    color: #333333;
}

.heading-38::before,
.heading-38::after {
    display: inline-block;
    position: absolute;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border: 2px solid #b1dd8c;
    content: '';
}

.heading-38::before {
    top: calc(50% - 3px);
    left: 0;
}

.heading-38::after {
    top: calc(50% + 3px);
    left: 5px;
}

.table{
		border-collapse: collapse;

	}
.table tr:nth-child(even) {
	background-color: #fff;
	
}
.table th{text-align: center;
	background-color: #E4FAEF;
	font-weight: 500;
}
.table td{
	padding: 3px 8px;
	border: none;
	margin: 0;

}
@media screen and (max-width: 740px) {
  .scroll {
    overflow-x: auto;
  }
  .tbl-r07 {
    min-width: 740px;
    margin: 0 10px 50px;
  }
  .tbl-r07 td {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
  }
}
/* 線の幅をゼロにする */
.border-remove {
  border: none !important;
}

@media screen and (max-width: 767px) {
	.table td{width: 350px!important}
}
/* サブメニュー */
.sub-menu-list-wrapper {
	margin: -3rem auto 10rem;
}
.sub-menu-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem 2.4rem;
	margin: 0;
	padding: 0;
}
.sub-menu-list-item {
	width: calc((100% - 7.2rem) / 3);
	@media screen and (max-width: 767px) {
		width: calc((100% - 2.4rem) / 2);
	}
	& a {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		align-items: center;
		position: relative;
		padding: 1.6rem 2.6rem 1.6rem 1.6rem;
		min-height: 7.6rem;
		height: 100%;
		font-size: 1.9rem;
		font-weight: 500;
		letter-spacing: 0.03em;
		line-height: 1.6;
		border-bottom: 2px solid #c0c0c0;
		transition: 0.5s ease;
		@media screen and (max-width: 767px) {
			min-height: 5.7rem;
			font-size:80%;
			padding: 0.8rem 1.3rem 0.8rem 0.8rem;
		}
		&::after {
			content: "→";
			position: relative;
			font-size: 1.8rem;
			color: var(--green);
			transition: 0.5s ease;
		}
		&:hover {
			color: var(--green);
			border-color: var(--green);
			&::after {
				transform: translateX(1rem);
			}
		}
	}
}
/* メガメニューの基本スタイル */
.menu-link {
	color: var(--t-black);
}

.mega-menu {
	position: relative;
	z-index: 10;
}
  
.mega-menu-content {
    position: absolute;
    top: 100%;
    left: -3px;
    background-color: rgba(247,255,250,0.99); /* 背景色 */
    width: 100%;
}

.mega-menu-content .inner {
	padding: 3rem;
}
  
.mega-menu-content ul {
	list-style-type: none;
	margin: 0;
}
  
.mega-menu-content ul li {
	padding: 0.8rem 1.6rem;
}

.mega-menu-content ul li a {
	text-decoration: none;
	color: #333;
}

.sttl {
	border-bottom: 1px solid #525252;
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
}
.sttl a {
	font-weight: bold;
	height: auto;
	text-decoration: none;
	text-indent: 0;
	width: 100%;
	color:#333333;
	line-height: 1;
	font-size: 2rem;
	padding-left: 1.7em;
	position: relative;
}
.sttl a::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 1.2em;
	height: 1.2em;
	border-radius: 1.2em;
	background-color: var(--green);
	left: 0;
	top: 0.15em;
}
.sttl a::after {
	content: "";
	display: inline-block;
	position: absolute;
	width: 0.45em;
	height: 0.45em;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotate(45deg);
	left: 0.3em;
	top: 0.5em;
}
.inner-list + .sttl {
	margin-top: 3rem;
}

.mega-menu-content .inner-list {
	display: flex;
	flex-wrap: wrap;
}
.mega-menu-content .inner-list li {
	width: 25%;
}
.mega-menu-content .inner-list li a {
	display: block;
	width: 100%;
	text-decoration: none;
	color:#333333;
	font-size: 1.6rem;
	line-height: 1;
	padding: 1rem 0 1rem 1.4em;
	position: relative;
}
.mega-menu-content .inner-list li a::after {
	content: "";
	display: inline-block;
	position: absolute;
	width: 0.45em;
	height: 0.45em;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: rotate(45deg);
	left: 0;
	top: 0.9em;
}
.mega-menu-content .inner-list li a span {
	padding-bottom: 2px;
	border-bottom: 1px solid #333333;
	transition: 0.5s ease;
}
.mega-menu-content .inner-list li a:hover span {
	border-bottom-color: transparent;
}

/* メニューアイコンのスタイル */
.menu-toggle-icon {
	display: none;
}

/* 768px以下のスクリーンサイズでアコーディオン表示にする */
@media (max-width: 768px) {
	.mega-menu-content {
		position: relative; /* positionをrelativeに変更 */
	}

	.mega-menu-content .inner {
		padding: 0;
	}

	.sttl {
		border-top: 1px solid var(--green);
		border-bottom: 1px solid var(--green);
		margin-bottom: 0;
		padding-block: 1.5rem;
	}
	.sttl a {
		font-weight: normal;
		font-size: 1.6rem;
		padding-left: 1.7em;
	}
	.sttl a::before {
		width: 1.2em;
		height: 1.2em;
		border-radius: 1.2em;
		background-color: var(--green);
		left: 0;
		top: 0.15em;
	}
	.sttl a::after {
		width: 0.45em;
		height: 0.45em;
		left: 0.3em;
		top: 0.5em;
	}
	.inner-list + .sttl {
		margin-top: 1rem;
		border-top: none;
	}

	/* メニューリンクをクリックしてもリンク先に飛ばないように */
	.menu-link {
		pointer-events: none;
		position: relative;
	}

	.js-toggle__button .menu-link::before {
		content: "";
		position: absolute;
		display: block;
		width: 1.5rem;
		height: 1px;
		background-color: #333333;
		top: 50%;
		right: 2rem;
		bottom: auto;
		left: auto;
	}
	.js-toggle__button .menu-link::after {
		content: "";
		position: absolute;
		display: block;
		width: 1px;
		height: 1.5rem;
		background-color: #333333;
		top: calc(50% - 0.75rem);
		right: 2.7rem;
		bottom: auto;
		left: auto;
		transition: 0.5s ease;
	}
	.js-toggle__button[aria-expanded="true"] .menu-link::after {
		transform: rotate(90deg);
	}

	.mega-menu-content .inner-list li {
		width: 100%;
		border-bottom: 1px solid var(--green);
	}
	.mega-menu-content .inner-list li a {
		display: block;
		width: 100%;
		text-decoration: none;
		color:#333333;
		font-size: 1.6rem;
		line-height: 1;
		padding: 1rem 0 1rem 1.4em;
		position: relative;
	}
	.mega-menu-content .inner-list li a::after {
		content: "";
		display: inline-block;
		position: absolute;
		width: 0.45em;
		height: 0.45em;
		border-top: 2px solid #333333;
		border-right: 2px solid #333333;
		transform: rotate(45deg);
		left: 0;
		top: 0.9em;
	}
	.mega-menu-content .inner-list li a span {
		padding-bottom: 0;
		border-bottom: none;
		transition: none;
	}
	
}


.js-toggle__panel {
	overflow: hidden;
	display: grid;
	grid-template-rows: minmax(0, 0fr);
	transition: grid-template-rows 0.6s cubic-bezier(.16, 1, .3, 1);
}
.js-toggle__panel[aria-hidden="false"] {
	grid-template-rows: minmax(0, 1fr);
}
/*リンク*/
.relation-link{
	font-size: 100%;
    display: block;
    padding: 5px 10px;
    border: 1px solid #ccdfec;
    border-radius: 5px;
    margin-bottom: 20px;
    clear: both;
}
/*採用ボタン医師*/
.button-1-isi {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    margin:0 auto;
    padding: .9em 2em;
    border: 1px solid #0073a8;
    border-radius: 5px;
    background-color: #008bcc;
    color: #ffffff;
    font-size: 1em;
}
.button-1-isi:hover {
    opacity: 0.8;
}
.button-1-isi::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    content: '';
}
/*採用ボタン看護師*/
.button-1-kango {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    margin:0 auto;
    padding: .9em 2em;
    border: 1px solid #ea618e;
    border-radius: 5px;
    background-color: #f19ca7;
    color: #ffffff;
    font-size: 1em;
}
.button-1-kango:hover {opacity: 0.8;
}

.button-1-kango::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    content: '';
}
/*採用ボタンコメディカル*/
.button-1-come {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    margin:0 auto;
    padding: .9em 2em;
    border: 1px solid #79c06e;
    border-radius: 5px;
    background-color: #89c997;
    color: #ffffff;
    font-size: 1em;
}
.button-1-come:hover {opacity: 0.8;
}
.button-1-come::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    content: '';
}
/*採用ボタン事務*/
.button-1-jimu {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    margin:0 auto;
    padding: .9em 2em;
    border: 1px solid #f2bb30;
    border-radius: 5px;
    background-color: #f2c961;
    color: #ffffff;
    font-size: 1em;
}
.button-1-jimu:hover {opacity: 0.8;
}
.button-1-jimu::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    content: '';
}
/*固定の場合リンク*/
.contents {
	padding-top: 50px;
}

.contents_innner {
    padding-top: 100px;
    margin-top:-100px;
}

.honbun-big{
	font-family: Tahoma, Geneva, "sans-serif";
font-weight: 500;
font-style: normal;
	color: #057AAC;
	margin: 0 auto;
	font-size: 60px;
	p::first-letter {
  font-size: 33px;
}
}
/* 画像と文字を並べる */
.card__f {
  display: flex;

  line-height: 1.5;
}
.card__f-image {
  display: flex;
  justify-content: center;
  align-items: flex-start;/* 上辺合わせにしたい場合は center を flex-start に変更 */
  width: 30%;/* 画像の横幅専有パーセンテージ */
  margin: 0 auto;
  padding: 1em;
  border-right: 1px solid rgb(200,200,200);/* 画像とテキストの間にボーダー不要の場合はこの一行削除 */
}
.card__f-text {
  flex: 1;
  min-width: 0;
  display: flex;
  /* 上下中央合わせにしたい場合はこの一行削除 1/2
  align-items: center;
  上下中央合わせにしたい場合はこの一行削除 2/2 */
  padding: 1em;
}
@media screen and (max-width: 767px) {
  .card__f {
	  display: block;
    font-size: 1.5rem;
    line-height: 1.2;
  }
	.card__f-image {
    width: 60%;
    border: 0;
  }

	.card__f h3 {
		font-size: 16px;
	}
}
/* プロダクトカードここまで */
