@charset "UTF-8";

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 62.5%; }

body {
	background-color: #ffffff;
	color: #333333;
	/* font-family: 'Noto Sans JP', sans-serif; */
	font-family: 'M PLUS Rounded 1c', sans-serif;
	line-height: 1.0;
	margin: 0;
	-webkit-text-size-adjust: 100%;
}

a { text-decoration: none; }
img {
	display: block;
	height: auto;
	max-width: 100%;
}
br.pc-break { display: none; }
@media only screen and (min-width: 768px), print { br.pc-break { display: inline; } }
br.sp-break { display: inline; }
@media only screen and (min-width: 768px), print { br.sp-break { display: none; } }.blue { color: #3199df; }
.red { color: #ff0000; }

div.inside {
	margin: 0 auto;
	max-width: 768px;
	padding: 16px 16px 0;
}
div.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
div.flex .column2,
div.flex .column3 { width: 100%; }
@media only screen and (min-width: 768px), print {
	div.flex .column2 { width: calc((100% - 24px)/2); }
	div.flex .column3 { width: calc((100% - 48px)/3); }
}

header {
	height: 74px;
	overflow: hidden;
	text-align: center;
}
header img {
	margin: 16px auto 0;
	max-width: 194px;
}

nav.pc_menu { display: none; }
@media only screen and (min-width: 768px) {
	nav.pc_menu {
		background-color: #ffffff;
		display: block;
		overflow: hidden;
	}
	/* メニューが画面上部に固定されるためのCSS */
	nav.pc_menu.fixed {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
	}
	nav.pc_menu ul {
		display: flex;
		font-size: 1.6rem;
		line-height: 1.0;
		justify-content: center;
		list-style: none;
		margin: 32px 0;
		padding-left: 0;
	}
	nav.pc_menu ul li { border-left: 1px solid #cccccc; }
	nav.pc_menu ul li:first-child { border-left: none; }
	nav.pc_menu ul li a { margin: 0 16px; }
}

article { overflow: hidden; }
article .inside {
	margin: 0 auto;
	max-width: 768px;
	padding: 32px 16px 0;
}
article h1 {
	font-size: 1.4rem;
	line-height: 22px;
	margin: 0 0 32px;
	text-align: center;
}
article h2 {
	color: #00b9ef;
	font-size: 2.4rem;
	line-height: 32px;
	margin: 0 0 32px;
}
@media only screen and (min-width: 768px), print {
	article h2 {
		font-size: 3.2rem;
		line-height: 40px;
	}
}
body.home article h2 { text-align: center; }
article h3 {
	font-size: 2.0rem;
	line-height: 28px;
	margin: 0 0 32px;
}
@media only screen and (min-width: 768px), print {
	article h3 {
		font-size: 2.4rem;
		line-height: 32px;
	}
}
article p {
	font-size: 1.6rem;
	line-height: 24px;
	margin: 0 0 32px;
}
article ol {
	font-size: 1.6rem;
	line-height: 24px;
	margin: 0 0 32px;
}
article ul {
	font-size: 1.6rem;
	line-height: 24px;
	margin: 0 0 32px;
}
article ul.circle_b {
	list-style-type: none;
	padding-left: 0;
}
article ul.circle_b li {
	background-image: url(/imgs/circle_b.svg);
	background-position: left 4px;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	padding-left: 20px;
}
article ul.list {
	list-style-type: none;
	padding-left: 0;
}
article ul.list li {
	padding-left: 16px;
	text-indent: -16px;
}
article ul.kome {
	list-style-type: none;
	padding-left: 0;
}
article ul.kome li {
	padding-left: 16px;
	text-indent: -16px;
}
/* 出会う方すべてに幸せが訪れる看護を */
article.home div.picture {
	margin: 0 auto;
	max-width: 1152px;
	padding: 16px 16px 0;
}
@media only screen and (min-width: 768px), print {
	article.home div.picture { padding-top: 0; }
}
/* point1-3 */
div#point div.column3 p {
	background-color: #00b9ef;
	border-radius: 16px;
	color: #ffffff;
	font-weight: bold;
	padding: 8px;
	text-align: center;
}
div#point div.column3 p span.point,
div#point div.column3 p span.point { display: block; }
div#point div.column3 p span.point span.num { font-size: 24px; }
div#point div.column3 p span.text {
	font-size: 24px;
	line-height: 32px;
	margin-top: 4px;
}
/* 訪問看護が必要な方へ */
article.intro p.tag { text-align: center; }
article.intro p.tag span {
	border: 1px solid #cccccc;
	border-radius: 8px;
	display: inline-block;
	margin: 0 8px 8px 0;
	padding: 4px;
}
article.intro p.tag span:before {
	content: "# ";
}
/* ご利用までの流れ */
article.flow { background-color: #fff8dc; }
article.flow ol.number {
	list-style: none;
	padding-left: 0;
}
article.flow ol.number li {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	margin-bottom: 8px;
}
article.flow ol.number li span:first-child {
	align-items: center;
	background-color: #00b9ef;
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	flex-shrink: 0;
	font-weight: bold;
	height: 24px;
	justify-content: center;
	line-height: 1;
	width: 24px;
}
article.flow ol.number li span:last-child { word-wrap: break-word; }
article.flow ol.number li strong {
	color: #00b9ef;
	display: block;
}
/* ユリシスについて */
article.about { background-color: #e0f7ff; }
/* 訪問フットケア */
article.footcare { background-color: #fff8dc; }
p.go_footcare a {
	background-color: #00b9ef;
	border-radius: 8px;
	color: #ffffff;
	display: block;
	margin: 0 auto 32px;
	max-width: 320px;
	padding: 10px;
	text-align: center;
	width: 100%;
}
/* 費用等について */
article.pricing { background-color: #ffffff; }
/* よくある質問（FAQ） */
article.faq { background-color: #f2f2f2; }
article.faq p.question::before,
article.faq p.answer::before {
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	font-weight: bold;
	height: 24px;
	justify-content: center;
	margin-right: 4px;
	width: 24px;
}
article.faq p.question::before {
	background-color: #ef3b6c;
	content: "Q";
}
article.faq p.answer::before {
	background-color: #00b9ef;
	content: "A";
}
/* 訪問フットケア */
body.footcare h3 {
	border-bottom: 1px dashed #00b9ef;
	border-top: 1px dashed #00b9ef;
	padding: 4px 0;
}
body.footcare ul.price {
	border-bottom: 1px solid #e1e1e1;
	border-left: 1px solid #e1e1e1;
	border-right: 1px solid #e1e1e1;
	list-style-type: none;
	padding-left: 0;
}
body.footcare ul.price li {
	border-top: 1px solid #e1e1e1;
	display: flex;
	flex-direction: column;
	padding: 8px;
}
@media only screen and (min-width: 768px), print {
	body.footcare ul.price li { flex-direction: row; }
	body.footcare ul.price li span.value { width: 50.0%; }
}
/* 常駐しております */
article.go_contact h3 { color: #ef3b6c; }
@media only screen and (min-width: 768px), print {
	article.go_contact h3 { text-align: center; }
}
/* お問い合わせ */
article.contact h1 {
	color: #00b9ef;
	font-size: 2.4rem;
	line-height: 32px;
}
@media only screen and (min-width: 768px), print {
	article.contact h1 {
		font-size: 3.2rem;
		line-height: 40px;
	}
}
article.contact h1 span.sub {
	display: block;
	font-size: 1.4rem;
	line-height: 22px;
}
article.contact h1 span.buttom {
}
article.contact form {
	font-size: 1.6rem;
	line-height: 24px;
}
article.contact form div.section { margin-bottom: 20px; }
article.contact form div.section label { display: block; }
form input[type="text"],
form input[type="email"],
form textarea {
	background-color: #f5f5f5;
	border: none;
	border-radius: 8px;
	box-sizing: border-box;
	font-size: inherit;
	line-height: 24px;
	padding: 12px;
	width: 100%;
}
.required::after {
	background-color: #ff0000;
	border-radius: 4px;
	color: #ffffff;
	content: "必須";
	font-size: 1.2rem;
	line-height: 1.5;
	margin-left: 5px;
	padding: 2px 4px;
	position: relative;
	top: -2px;
}
button {
	-webkit-appearance: none;
	background-color: #00b9ef;
	border: none;
	border-radius: 8px;
	color: #ffffff;
	display: block;
	font-size: 1.6rem;
	margin: 0 auto 32px;;
	max-width: 320px;
	padding: 10px;
	text-align: center;
	width: 100%;
}
/* 求人情報 */
article.recruit { background-color: #fff8dc; }
article.recruit h2 {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}
article.recruit h2 span { text-align: left; }
article.recruit h2 span.value { white-space: nowrap; }
article.recruit h2 span.name {
	font-size: 16px;
	line-height: 1;
	margin-left: 8px;
}
article.recruit h3 {
	align-items: center;
	display: flex;
}
article.recruit h3 span.name {
	border: 1px solid #333333;
	font-size: 16px;
	line-height: 1;
	margin-left: 8px;
	padding: 2px 4px;
}
ul.recruit {
	background-color: #ffffff;
	border-bottom: 1px solid #e5e5e5;
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
	list-style-type: none;
	padding-left: 0;
}
ul.recruit li {
	border-top: 1px solid #e5e5e5;
	display: flex;
	flex-direction: column;
	padding: 8px;
}
ul.recruit li span.value { color: #00b9ef; }
@media only screen and (min-width: 768px), print {
	ul.recruit li { flex-direction: row; }
	ul.recruit li span.value {
		padding-right: 16px;
		width: 30%;
	}
	ul.recruit li span.name { width: 70%; }
}

.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 40.0%;
	position: relative;
}
.gmap iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

footer {
	background-color: #00b9ef;
	overflow: hidden;
}
footer .inside {
	margin: 0 auto;
	max-width: 768px;
	padding: 32px 16px 80px;
}
footer p {
	color: #ffffff;
	font-size: 1.6rem;
	line-height: 24px;
	margin: 0 0 32px;
}
footer p.area span {
		background-color: #ffffff;
		border-radius: 10px;
		color: #00b9ef;
		display: inline-block;
		font-size: 12px;
		line-height: 1.0;
		padding: 4px 10px;
		margin: 0 8px 8px 0;
}
footer p.area span::before { content: '#'; }

nav.sp_menu { overflow: hidden; }
@media only screen and (min-width: 768px) {
	nav.sp_menu { display: none; }
}
nav.sp_menu div.hamburger {
	cursor: pointer;
	display: block;
	height: 30px;
	position: fixed;
	right: 10px;
	top: 10px;
	transition: transform 0.3s ease;
	width: 30px;
	z-index: 999;
}
nav.sp_menu div.hamburger img {
	height: 100%;
	position: absolute;
	transition: opacity 0.3s ease, transform 0.3s ease;
	width: 100%;
}
nav.sp_menu div.hamburger img.hidden { opacity: 0; }
nav.sp_menu div.hamburger.open img:nth-child(1) { transform: rotate(180deg); }
nav.sp_menu ul {
	align-items: center;
	background-color: #333333;
	display: flex;
	flex-direction: column;
	font-size: 1.6rem;
	justify-content: center;
	line-height: 24px;
	height: 100vh;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding-left: 0;
	position: fixed;
	right: -100%;
	text-align: center;
	top: 0;
	transition: right 0.5s ease;
	width: 75%;
	z-index: 99;
}
nav.sp_menu ul.show { right: 0; }
nav.sp_menu ul li { width: 100%; }
nav.sp_menu ul li a {
	color: #ffffff;
	display: block;
	padding: 20px;
	text-decoration: none;
}
nav.sp_menu ul li a:hover { background-color: #444444; }

.fadeUpTrigger { opacity: 0; }
.fadeUp {
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	animation-name: fadeUpAnime;
}
.fadeUp.left { animation-name: fadeUpAnimeLeft; }
@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateX(100px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@keyframes fadeUpAnimeLeft {
	from {
		opacity: 0;
		transform: translateX(-100px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.go_top {
	bottom: 16px;
	left: 16px;
	opacity: 0;
	position: fixed;
	transform: translatey(100px);
	z-index: 9;
}
.go_top a {
	display: flex;
	height: 64px;
	transition: all 0.3s;
	width: 64px;
}
.go_top.UpMove { animation: UpAnime 0.5s forwards; }
@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translatey(100px);
	}
	to {
		opacity: 1;
		transform: translatey(0);
	}
}
.go_top.DownMove { animation: DownAnime 0.5s forwards; }
@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translatey(0);
	}
	to {
		opacity: 1;
		transform: translatey(100px);
	}
}