@charset "utf-8";

/*-------------------------
header
---------------------------*/
header {
	width: 100vw;
	height: 100vh;
	max-height: 460px;
}
.top header {
	max-height: 700px;
}

/*-------------------------
nav
---------------------------*/
nav {
	position: fixed;
	top: 0;
	z-index: 20;
	backdrop-filter: blur(5px);
}
#topNavi,#navi {
	width: 100vw;
	opacity: 0;
	-webkit-transition: .5s;
	transition: .5s;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
#topNavi.view,#navi {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/* pageTop */
#pageTopButton {
	width: 100vw;
	padding: 20px;
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	left: 0;
	transition: 400ms ease-out;
}
#pageTopButton.active {
	opacity: 0;
	transition: 200ms ease-out;
	-webkit-transform: translateY(calc(100% + 20px));
	transform: translateY(calc(100% + 20px));
}
#pageTopButton .anchor01::after {
	-webkit-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
}
@media screen and (max-width: 640px) {
	#pageTopButton {
		padding: 0;
	}
	#pageTopButton .anchor01 {
		background-color: #b4b4b4;
		max-width: none;
		color: #fff;
		padding: 5px 0;
		border-width: 0;
		border-radius: 0;
	}
}

/*-------------------------
navigation
---------------------------*/
.navi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background-color: rgba(255,255,255,.9);
}
.navi.top-navi {
	background-color: rgba(255,255,255,0);
}
.navi a,
.navi img {
	display: block;
	width: 100%;
}
.navi h1,
#topNavi h2 {
	width: 205px;
	padding: 10px 20px;
}
.navi.top-navi h1 {
	background-color: #fff;
	width: 130px;
	max-height: 130px;
	padding: 19px 16px;
	margin-left: 20px;
	border: 2px solid #dcf0dc;
}
.navi > div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	width: calc(100% - 205px);
}
.navi.top-navi > div {
	width: calc(100% - 150px);
}
.navi ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.navi ul:nth-child(1) {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	width: calc(100% - 230px);
	padding: 10px 20px;
}
.navi.top-navi ul:nth-child(1) {
	padding: 20px;
}
.navi ul:nth-child(1) li {
	width: 100%;
	max-width: 140px;
	padding: 0 10px;
}
.navi ul:nth-child(1) a {
	text-align: center;
	padding-bottom: 2px;
	border-bottom: 2px solid #b4b4b4;
	position: relative;
}
.navi ul:nth-child(1) a:after {
	content: "";
	background-color: #41ad6e;
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -2px;
	left: 0;
	-webkit-transition: .5s;
	transition: .5s;
}
.navi ul:nth-child(1) a:hover:after {
	width: 100%;
}
.navi ul:nth-child(2) {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	background-color: #646464;
	width: 230px;
	height: 38px;
	border-radius: 0 0 0 10px;
	overflow: hidden;
}
.navi.top-navi ul:nth-child(2) {
	height: 48px;
}
.navi ul:nth-child(2) li {
	padding: 8px 8px;
}
.navi.top-navi ul:nth-child(2) li {
	padding: 14px 8px;
}
.navi ul:nth-child(2) li+li a {
	padding-left: 16px;
	border-left: 1px solid #fff;
}
.navi ul:nth-child(2) a {
	color: #fff;
	font-size: .857rem;
}
.navi ul:nth-child(2) a:hover {
	color: #dcf0dc;
}
.navi i {
	margin-right: .2em;
}
@media screen and (max-width: 1176px) {
	.navi ul:nth-child(1) li {
		max-width: 120px;
		padding: 0 10px;
	}
	.navi ul:nth-child(1) a {
		letter-spacing: -1.5px;
	}
}
@media screen and (max-width: 1076px) {
	.navi > div {
		display: none;
	}
}

/*-------------------------
spNav
---------------------------*/
#spNavi {
	display: none;
}
#menu {
	width: 40px;
	height: 40px;
	border: 1px solid #41ad6e;
	position: absolute;
	top: 9px;
	right: 9px;
	z-index: 20;
	cursor: pointer;
}
#menu span,
#menu:before,
#menu:after {
	content: "";
	background-color: #41ad6e;
	width: 26px;
	height: 0;
	padding-top: 2px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transition: .5s;
	transition: .5s;
	overflow: hidden;
}
#menu span {
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
#menu:before {
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,calc(-50% - 7px));
}
#menu:after {
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,calc(-50% + 7px));
}
#menu.close-button span {
	opacity: 0;
}
#menu.close-button:before {
	-webkit-transform: translate(-50%,-50%) rotate(225deg);
	transform: translate(-50%,-50%) rotate(-225deg);
}
#menu.close-button:after {
	-webkit-transform: translate(-50%,-50%) rotate(225deg);
	transform: translate(-50%,-50%) rotate(225deg);
}
#spNavi dd {
	width: 100vw;
	background-color: rgba(255,255,255,.9);
	padding: 10px;
	position: fixed;
	top: 58px;
	left: 0;
	-webkit-transition: .5s;
	transition: .5s;
	-webkit-transform: translateY(calc(-100% - 58px));
	transform: translateY(calc(-100% - 58px));
}
#spNavi dd.open-menu {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
#spNavi ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	padding: 0;
}
#spNavi li {
	width: 50%;
	max-width: none;
	padding: 10px 10px;
}

@media screen and (max-width: 1076px) {
	#spNavi {
		display: block;
	}
}

/*-------------------------
keyvisual
---------------------------*/
#keyvisual {
	background-position: center top;
	background-size: cover;
	width: 100vw;
	height: 100vh;
	max-height: 460px;
	position: fixed;
	top: 0;
	z-index: -10;
}
.top #keyvisual {
	background-position: center center;
	max-height: 700px;
}
.bgSlider {
	background-position: center center;
	background-size: cover;
	width: 100vw;
	height: 100vh;
	max-height: 700px;
	display: flex;
	align-items: center;
	justify-content: center;	
}
@media screen and (max-width: 750px) {
	.top #keyvisual {
		background-image: url("../img/top/img_keyvisual_sp.jpg");		
	}
	.top #keyvisual > * {
		display: none;
	}
}
.sercive #keyvisual {
	background-image: url("../img/service/img_keyvisual.jpg");
}
.about #keyvisual {
	background-image: url("../img/about/img_keyvisual.jpg");
}
.recruit #keyvisual {
	background-image: url("../img/recruit/img_keyvisual.jpg");
}
.newsList #keyvisual {
	background-image: url("../img/news/img_keyvisual.jpg");
	background-position: center center;
}
.covid-19 #keyvisual {
	background-image: url("../img/covid_19/img_keyvisual.jpg");
	background-position: center center;
}
.contact #keyvisual {
	background-image: url("../img/contact/img_keyvisual.jpg");
}
@media screen and (max-width: 750px) {
	.about #keyvisual {
		background-position: right 40% top;
	}
	.recruit #keyvisual {
		background-position: left 20% top;
	}
	.newsList #keyvisual {
		background-position: left 40% top;
	}
	.covid-19 #keyvisual {
		background-position: right 30% center;
	}
}
.list-circle li{
	display: flex;
    justify-content: center;
	font-weight: bold;
}
.list-circle li::before{
	display: block;
	content: "\25CF";
	color: #E683A7;
	padding-right: 3px;
}
@media screen and (max-width: 640px){
	.list-circle li{
		justify-content: left;
	}
}
/*-------------------------
main
---------------------------*/
main {
	background: url("../img/bg_pattern.svg") fixed center center;
}
main > section {
	padding-top: 100px;
}

/*-------------------------
news
---------------------------*/
#news {
	background-color: #fff;
	padding: 12px 20px;
}
#news > div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
#news h2 {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
	width: 100px;
	height: 40px;
	color: #41ad6e;
	font-weight: bold;
	border-right: 1px solid #b4b4b4;
}
#news .flexslider {
	width: calc(100% - 100px);
}
#news a {
	display: block;
	transition: 200ms;
}
#news a:hover {
	color: var(--color-point);
}
#news dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: 60px;
}
#news dt {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
	width: calc(6em + 80px);
	height: 40px;
	padding: 0 40px;
	border-right: 1px solid #b4b4b4;
}
#news dd {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
	width: calc(100% - calc(6em + 80px));
	padding-left: 40px;
	overflow: hidden;
}
#news dd p {
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
#news .flex-nav-prev {
	display: none;
}
#news .flex-direction-nav a {
	background-color: #fff;
	background-image: url("../img/btn_prev.svg");
	height: 0;
	padding-top: 40px;
}
@media screen and (max-width: 640px) {
	#news h2 {
		width: 100%;
		margin-bottom: 10px;
		border-right: none;
		border-bottom: 1px solid #b4b4b4;
	}
	#news .flexslider {
		width: 100%;
	}
	#news dl {
		padding-right: 50px;
	}
	#news dt {
		width: calc(6em + 10px);
		height: 40px;
		padding: 0 10px 0 0;
		border-right: 1px solid #b4b4b4;
	}
	#news dd {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		width: calc(100% - calc(6em + 10px));
		padding-left: 10px;
		overflow: hidden;
	}
}

/* newsList */
#newsList > div {
	background-color: #fff;
	padding: 30px 20px;
}
.news-list li {
	padding: 10px 20px;
	border-bottom: 1px solid #C4E6D2;
}
.news-list a {
	display: block;
	transform: 200ms;
}
.news-list a:hover {
	color: var(--color-point);
}
.news-list dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.news-list dt {
	width: 120px;
	color: var(--color-point);
}
.news-list dd {
	width: calc(100% - 120px);
	text-align: justify;
}

/* newsArticle */
#newsArticle {
	max-width: 640px;
	padding: 100px 0;
	margin: 0 auto;
}
#newsArticle section {
	background-color: #fff;
	padding: 40px 20px;
}
#newsArticle h2 {
	color: var(--color-point);
	font-family: var(--font-point);
	font-size: var(--font-l);
	padding-bottom: 10px;
	margin-bottom: 40px;
	border-bottom: 1px dotted var(--color-point);
}
#newsArticle h2 span {
	display: block;
	font-size: var(--font-s);
	text-align: right;
}
.news-article *+* {
	margin-top: 1rem;
}
.news-article img {
	display: block;
	width: auto;
	max-width: 100%;
}
.news-article p {
	text-align: justify;
}

/* pagination */
.pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: var(--font-s);
}
.pagination a {
	display: inline-block;
	background-color: #fff;
	padding: 0 .5em;
	margin: 0 5px;
	border: 1px solid #b4b4b4;
	transition: 200ms ease-out;
}
.pagination a:hover {
	background-color: #b4b4b4;
	color: #fff;
}

/* page-navi */
.page-navi {
	padding-top: 20px;
	margin-top: 40px;
	border-top: 1px dotted var(--color-point);
	overflow: hidden;
}
.page-navi a {
	display: block;
	position: relative;
}
.page-navi a:hover {
	color: var(--color-point);
}
.page-next {
	float: right;
}
.page-prev {
	float: left;
}
.page-next a {
	padding-right: 29px;
}
.page-prev a {
	padding-left: 29px;
}
.page-next a::after,
.page-prev a::before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.page-next a::after {
	background-image: url("../img/ico_next.svg");
	right: 0;
}
.page-prev a::before{
	background-image: url("../img/ico_prev.svg");
	left: 0;
}

/*-------------------------
topContentsNavi
---------------------------*/
#topContentsNaviA {
	padding-top: 100px;
}
#topContentsNaviA li {
	background-position: center center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
#topContentsNaviA li:nth-child(1) {
	background-image: url("../img/top/bg_a01.jpg");
}
#topContentsNaviA li:nth-child(2) {
	background-image: url("../img/top/bg_a02.jpg");
}
#topContentsNaviA li:nth-child(3) {
	background-image: url("../img/top/bg_a03.jpg");
}
#topContentsNaviA li:before,
#topContentsNaviA li:after {
	content: "";
	display: block;
	background-color: rgba(65,173,110,.7);
	width: 200%;
	height: 200%;
	position: absolute;
	z-index: 0;
	-webkit-transition: .5s;
	transition: .5s;
}
#topContentsNaviA li:before {
	top: 0;
	left: 0;
	-webkit-transform: translate(-130%,-10%) rotate(45deg);
	transform: translate(-130%,-10%) rotate(45deg);
}
#topContentsNaviA li:hover:before {
	-webkit-transform: translate(-44%,-50%) rotate(45deg);
	transform: translate(-44%,-50%) rotate(45deg);
}
#topContentsNaviA li:after {
	bottom: 0;
	right: 0;
	-webkit-transform: translate(130%,10%) rotate(45deg);
	transform: translate(130%,10%) rotate(45deg);
}
#topContentsNaviA li:hover:after {
	-webkit-transform: translate(44%,50%) rotate(45deg);
	transform: translate(44%,50%) rotate(45deg);
}
#topContentsNaviA a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	max-width: 400px;
	height: calc(100vw / 3);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
#topContentsNaviA a img {
	-webkit-transition: .5s;
	transition: .5s;
}
#topContentsNaviA li:hover a img {
	filter: brightness(400%);
}
@media screen and (max-width: 640px) {
	#topContentsNaviA a {
		height: 100vw;
	}
}
#topContentsNaviB {
	background: url("../img/top/bg_b01.jpg") no-repeat center center;
	background-size: cover;
	width: 100%;
	position: relative;
	overflow: hidden;
}
#topContentsNaviB:before,
#topContentsNaviB:after {
	content: "";
	display: block;
	background-color: rgba(65,173,110,.7);
	width: 200vw;
	height: 200vw;
	position: absolute;
	z-index: 0;
	-webkit-transition: 1s;
	transition: 1s;
}
#topContentsNaviB:before {
	top: 0;
	left: 0;
	-webkit-transform: translate(-130%,-44%) rotate(45deg);
	transform: translate(-130%,-44%) rotate(45deg);
}
#topContentsNaviB:hover:before {
	-webkit-transform: translate(-70.7%,-50%) rotate(45deg);
	transform: translate(-70.7%,-50%) rotate(45deg);
}
#topContentsNaviB:after {
	bottom: 0;
	right: 0;
	-webkit-transform: translate(130%,44%) rotate(45deg);
	transform: translate(130%,44%) rotate(45deg);
}
#topContentsNaviB:hover:after {
	-webkit-transform: translate(70.7%,50%) rotate(45deg);
	transform: translate(70.7%,50%) rotate(45deg);
}
#topContentsNaviB a {
	display: block;
	max-width: 400px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 640px) {
	#topContentsNaviB:before,
	#topContentsNaviB:after {
		-webkit-transition: .5s;
		transition: .5s;
	}
	#topContentsNaviB:hover:before {
		-webkit-transform: translate(-70.7%,-50%) rotate(45deg);
		transform: translate(-54%,-50%) rotate(45deg);
	}
	#topContentsNaviB:hover:after {
		-webkit-transform: translate(70.7%,50%) rotate(45deg);
		transform: translate(54%,50%) rotate(45deg);
	}
}

#topContentsNaviC {
	background: url("../img/top/bg_b02.webp") no-repeat center center;
	background-size: cover;
	width: 100%;
	margin-top: 100px;
	position: relative;
	overflow: hidden;
}
#topContentsNaviC:before,
#topContentsNaviC:after {
	content: "";
	display: block;
	background-color: rgba(65,173,110,.7);
	width: 200vw;
	height: 200vw;
	position: absolute;
	z-index: 0;
	-webkit-transition: 1s;
	transition: 1s;
}
#topContentsNaviC:before {
	top: 0;
	left: 0;
	-webkit-transform: translate(-130%,-44%) rotate(45deg);
	transform: translate(-130%,-44%) rotate(45deg);
}
#topContentsNaviC:hover:before {
	-webkit-transform: translate(-70.7%,-50%) rotate(45deg);
	transform: translate(-70.7%,-50%) rotate(45deg);
}
#topContentsNaviC:after {
	bottom: 0;
	right: 0;
	-webkit-transform: translate(130%,44%) rotate(45deg);
	transform: translate(130%,44%) rotate(45deg);
}
#topContentsNaviC:hover:after {
	-webkit-transform: translate(70.7%,50%) rotate(45deg);
	transform: translate(70.7%,50%) rotate(45deg);
}
#topContentsNaviC a {
	display: block;
	max-width: 400px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
#topContentsNaviC img {
	-webkit-transition: .5s;
	transition: .5s;
}
#topContentsNaviC:hover img {
	filter: brightness(400%);
}
@media screen and (max-width: 640px) {
	#topContentsNaviC:before,
	#topContentsNaviC:after {
		-webkit-transition: .5s;
		transition: .5s;
	}
	#topContentsNaviC:hover:before {
		-webkit-transform: translate(-70.7%,-50%) rotate(45deg);
		transform: translate(-54%,-50%) rotate(45deg);
	}
	#topContentsNaviC:hover:after {
		-webkit-transform: translate(70.7%,50%) rotate(45deg);
		transform: translate(54%,50%) rotate(45deg);
	}
}

/*-------------------------
recruit icon
---------------------------*/
#bnrIcon {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 10;
}
#bnrIcon * {
	display: block;
	width: 100%;
}
.bnr_img{
	width: 294px;
	height: 90px;
	-webkit-transition: .5s;
	transition: .5s;
	-webkit-transform: translateX(200px);
	transform: translateX(200px);
}
.bnr_img:hover {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

@media screen and (max-width: 640px) {
	#bnrIcon {
		opacity: .8;
	}
	.bnr_img:hover {
		-webkit-transform: translateX(200px);
		transform: translateX(200px);
	}
}

/*-------------------------
service
---------------------------*/
/* choice */
#choice > div {
	background: url("../img/service/bg_choice.png") no-repeat right top;
	background-size: 230px 324px;
}
#choice section:nth-child(1),
#choice section:nth-child(2) {
	max-width: 560px;
}
#choice section:nth-child(2) {
	margin: 0 auto;
}
@media screen and (max-width: 960px) {
	#choice > div {
		background-size: 115px 162px;
	}
}
@media screen and (max-width: 640px) {
	#choice > div {
		background: none;
	}
}

/* service */
#service section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	background-color: #fff;
}
#service section:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#service section img {
	display: block;
	width: 100%;
	opacity: 0;
}
#service section > * {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 50%;
}
#service section > div {
	padding: 40px;
}
#service section > figure {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#service section:nth-child(2) > figure {
	background-image: url("../img/service/img_service01.jpg");
}
#service section:nth-child(3) > figure {
	background-image: url("../img/service/img_service02.jpg");
}
#service section:nth-child(4) > figure {
	background-image: url("../img/service/img_service03.jpg");
}
#service.top-merit section:nth-child(2) > figure {
	background-image: url("../img/top/merit01.webp");
}
#service.top-merit section:nth-child(3) > figure {
	background-image: url("../img/top/merit02.webp");
}
#service.top-merit section:nth-child(4) > figure {
	background-image: url("../img/top/merit03.webp");
}
#service section dl,
#service section p {
	margin-top: 1em;
}
#service section dd,
#service section p {
	text-align: justify;
}
@media screen and (max-width: 640px) {
	#service section > * {
		width: 100%;
	}
	.service-sect-first div{
		padding: 0 40px 40px 40px !important;
	}
}

/* mental */
#mental {
	background-color: #F9BF3D;
	padding: 80px 0;
}
#mental .title01 {
	color: #fff;
}

/* consultation */
#consultation dl > * {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
#consultation dl img {
	display: block;
	width: 100%;
}
#consultation dt figure {
	width: 84px;
}
#consultation dt p {
	width: calc(100% - 84px);
	color: var(--color-point);
	font-size: var(--font-l);
	font-weight: bold;
	line-height: 1.5;
	padding-left: 20px;
}
#consultation dd+dt {
	margin-top: 80px;
}
#consultation dd figure {
	width: 134px;
	padding-left: 30px;
}
#consultation dd p {
	background-color: var(--color-point);
	width: calc(100% - 134px);
	color: #fff;
	text-align: justify;
	padding: 20px;
	margin-top: 30px;
	border-radius: 20px;
	position: relative;
	-webkit-transform-origin: bottom right;
	transform-origin: bottom right;
}
#consultation dd p::after {
	display: block;
	content: "";
	background: url("../img/service/ico_consultation.svg") no-repeat;
	width: 26px;
	height: 24px;
	position: absolute;
	right: -25px;
	top: calc(50% - 12px);
}
@media screen and (max-width: 640px) {
	#consultation dl > * {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#consultation dt figure {
		width: 54px;
	}
	#consultation dt p {
		width: calc(100% - 54px);
		text-align: justify;
	}
	#consultation dd figure {
		width: 86px;
		padding-left: 20px;
	}
	#consultation dd p {
		width: calc(100% - 96px);
	}
	#consultation dd p::after {
		right: -15px;
		top: calc(50% - 24px);
	}
}

/* area */
#area dl {
	background: url("../img/service/img_area.svg") no-repeat right bottom;
	background-size: 288px;
	min-height: 288px;
}
#area dt {
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
}
#area dd+dt {
	margin-top: 50px;
}
@media screen and (max-width: 640px) {
	#area dl {
		padding-bottom: 308px;
	}
}

/* area */
#hours dl {
	text-align: center;
}
#hours dt {
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
}

/* flow */
.sercive #flow {
	background: url("../img/service/img_flow.jpg") no-repeat center top;
	background-size: cover;
	padding: 100px 0;
}
.sercive #flow > div > div {
	max-width: 457px;
}
.sercive #flow .title01 {
	width: 100%;
	text-align: left;
	padding: 0;
	margin-left: 0;
	-webkit-transform-origin: left;
	transform-origin: left;
}
.sercive #flow dt {
	color: var(--color-point);
	font-size: var(--font-l);
	font-weight: bold;
}
.sercive #flow dd+dt {
	margin-top: 40px;
}
.sercive #flow dd {
	text-align: justify;
	margin-top: 10px;
}
@media screen and (max-width: 640px) {
	.sercive #flow > div {
		background-position: left top;
	}
}

/* faq */
.faq01 > dt {
	color: var(--color-point);
	font-size: var(--font-l);
	font-weight: bold;
	line-height: 1.4;
}
.faq01 > dd {
	text-align: justify;
	padding-left: 40px;
	margin-top: 20px;
	position: relative;
}
.faq01 > dd::before {
	display: block;
	content: "";
	background: url("../img/service/ico_A.svg") no-repeat;
	background-size: 30px;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0;
}
.faq02 > li {
	padding-left: 1.3em;
	position: relative;
}
.faq02 > li::before {
	display: block;
	content: "\25CF";
	color: #E683A7;
	position: absolute;
	top: 0;
	left: 0;
}
.faq03 > dt {
	font-weight: bold;
}

/*-------------------------
about
---------------------------*/
/* message */
#message {
	background: #fff url("../img/about/img_message.jpg") no-repeat right bottom;
	background-size: 740px 555px;
	padding: 100px 0;
}
@media screen and (max-width: 1024px) {
	#message {
		background-size: 480px 360px;
		padding: 100px 0 200px;
	}
}
@media screen and (max-width: 640px) {
	#message {
		background-size: 320px 240px;
		padding: 100px 0 240px;
	}
}

/* guidelines */
#guidelines ol {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#guidelines li {
	width: calc(100% / 3);
	text-align: justify;
	padding: 0 30px;
	border-right: 1px solid var(--color-point);
}
#guidelines li:last-child {
	border-right-width: 0;
}
#guidelines li span {
	display: block;
	color: var(--color-point);
	font-family: var(--font-point);
	font-size: calc(var(--font-l) * 1.5);
	text-align: center;
}
@media screen and (max-width: 640px) {
	#guidelines li {
		width: 100%;
		padding: 30px 0 50px;
		border-right: none;
		border-bottom: 1px solid var(--color-point);
	}
	#guidelines li:last-child {
		border-bottom-width: 0;
	}
}

/* knowledge */
#knowledge figure {
	height: 740px;
	position: relative;
	overflow: hidden;
}
#knowledge img {
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
	#knowledge figure {
		height: 120vw;
	}
}

/* pharmacy */
#pharmacy {
	background-color: #FFF;
	padding-bottom: 100px;
}
#pharmacy dt {
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
	margin-bottom: 7px;
}
#pharmacy dt span {
	display: inline-block;
	margin-left: 5px;
}
#pharmacy dd i {
	display: inline-block;
	color: var(--color-point);
	margin-right: 5px;
}
#pharmacy ul {
	margin: 0 0 -80px -80px;
}
#pharmacy li {
	padding: 0 0 80px 80px;
}
@media screen and (max-width: 640px) {
	#pharmacy dt span {
		display: block;
		margin-left: 0;
	}
	#pharmacy ul {
		margin: 0 0 -80px -40px;
	}
	#pharmacy li {
		padding: 0 0 80px 40px;
	}
}

/*-------------------------
recruit
---------------------------*/
/* mother */
#mother {
	background: url("../img/recruit/img_mother.jpg") no-repeat center top;
	background-size: cover;
}
@media screen and (max-width: 640px) {
	#mother {
		background: url("../img/recruit/img_mother_sp.jpg") no-repeat center top;
		background-size: cover;
	}
}

/* occupation */
#occupation ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#occupation li {
	width: 50%;
	text-align: center;
	padding: 30px;
	border-right: 1px solid var(--color-point);
}
#occupation li:last-child {
	border-right-width: 0;
}
#occupation li span {
	display: block;
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width: 640px) {
	#occupation li {
		width: 100%;
		padding: 30px 0 50px;
		border-right: none;
		border-bottom: 1px solid var(--color-point);
	}
	#occupation li:last-child {
		border-bottom-width: 0;
	}
}

/* salary */
.salary {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 40px 0;
	border-top: 1px solid var(--color-point);
}
.salary dt {
	color: var(--color-point);
}
.salary > dt {
	width: 200px;
	font-size: var(--font-m);
	font-weight: bold;
}
.salary > dt > span {
	display: block;
	color: #646464;
	font-size: var(--font-n);
	font-weight: normal;
}
.salary > dd {
	width: calc(100% - 200px);
}
.salary dd dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.salary dd dt {
	width: 6em;
}
.salary dd dd {
	width: calc(100% - 6em);
}
@media screen and (max-width: 640px) {
	.salary > dt,
	.salary > dd,
	.salary dd dt,
	.salary dd dd {
		width: 100%;
	}	
}

/* training */
#training {
	background-color: #fff;
	background-image: url("../img/recruit/img_training.jpg");
	background-repeat: no-repeat;
	background-position: left -240px center;
	background-size: contain;
	padding-bottom: 100px;
}
@media screen and (min-width: 1800px) {
	#training {
		background-position: left center;
	}
}
@media screen and (max-width: 1024px) {
	#training {
		background-image: url("../img/recruit/img_training_sp.jpg");
		background-position: left center;
		background-size: cover;
	}
}
#training ul {
	max-width: 420px;
	margin: 0 0 0 auto;
}
#training li {
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
}
#training li+li {
	margin-top: 20px;
}
#training li span {
	display: block;
	color: #646464;
	font-size: var(--font-n);
	font-weight: normal;
}

/* location */
#location dt {
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
}
#location dd {
	padding-left: 1.2em;
	margin-top: 10px;
	position: relative;
}
#location dd:nth-child(2) {
	padding-left: 0;
}
#location i {
	display: block;
	color: var(--color-point);
	position: absolute;
	top: 5px;
	left: 0;
}

/* flow */
.flow {
	border-left: 1px solid var(--color-point);
}
.flow dt {
	font-size: var(--font-m);
	font-weight: bold;
	text-align: center;
	padding-left: 20px;
	border-bottom: 1px solid var(--color-point);
	position: relative;
}
.flow dt span {
	color: var(--color-point);
	font-family: var(--font-point);
	font-weight: normal;
	position: absolute;
	top: 0;
	left: 5px;
}
.flow dd {
	padding: 20px;
}
.flow dd::before {
	content: "\25CF";
	color: var(--color-point);
}

/* introduction */
#introduction {
	background-color: var(--color-point);
	color: #fff;
}
#introduction h2 {
	color: #fff;
}

#introduction h3 {
	color: #F9BF3D;
	font-size: var(--font-m);
	font-weight: bold;
}
#introduction .list-disk li::before {
	color: #F9BF3D;
}

/* recruit */
.recruit .application {
	background-color: #fff;
}
.recruit .application a:hover img {
	transform: scale(1.05);
}

/* covid-19 */
.btn-covid-19,
.btn-covid-19 img {
	display: block;
	width: 100%;
}
.btn-covid-19 {
	background-color: rgba(255,255,255,1);
	width: calc(100% - 180px);
	max-width: 296px;
	position: absolute;
	top: 68px;
	right: 10px;
	border: 1px solid var(--color-point);
	border-radius: 10px;
	transition: 200ms;
}
.top .btn-covid-19 {
	top: 58px;
}
.btn-covid-19:hover {
	background-color: rgba(255,255,255,.5);
}
@media screen and (max-width: 1076px) {
	.top .btn-covid-19 {
		top: 10px;
	}
}

.covid-19-a p {
	background-color: #fff;
	border: 3px solid var(--color-point);
	border-radius: 10px;
	overflow: hidden;
}
.covid-19-b figcaption {
	color: var(--color-point);
	font-size: var(--font-m);
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
}
@media screen and (max-width: 640px) {
	.covid-19-b li+li {
		margin-top: 30px;
	}
}

/*-------------------------
コンタクトフォーム
---------------------------*/
form {
	background-color: #fff;
	padding-bottom: 40px;
	margin-top: 10px;
	font-size: 16px;
}
fieldset {
	padding: 30px 20px;
	border-bottom: 1px dotted #f4faf6;
	overflow: hidden;
}
fieldset > div:nth-child(1) {
	width: 180px;
	padding-right: 20px;
	float: left;
}
fieldset > div:nth-child(2) {
	width: calc(100% - 180px);
	float: right;
}
legend {
	color: var(--color-point);
	line-height: 1.3;
}
.inquiry-items .wpcf7-list-item{display: block;}
input[type="text"],input[type="email"],button,textarea {
	display: block;
	width: 100%;
	height: 1.75em;
}
input[type="tel"]{max-width: 170px;}
label {
	display: inline-block;
	padding-right: 2em;
	cursor: pointer;
}
*+input[type="text"],
*+button {
	margin-top: 16px;
}
textarea {
	height: 200px;
}
input[type="submit"]{
	cursor: pointer;
}
input[type="file"] {
	border: none;
}
.submit {
	font-size: var(--font-n);
	text-align: center;
	padding: 0 20px;
	margin-top: 40px;
}
input[type="submit"] {
	display: block;
	background-color: var(--color-point);
	width: 100%;
	max-width: 7em;
	color: #fff;
	font-size: var(--font-l);
	font-weight: bold;
	margin: 10px auto 0;
	border: 1px solid var(--color-point);
	border-radius: 20px;
	transition: 200ms ease-out;
}
input[type="submit"]:hover {
	background-color: #fff;
	color: var(--color-point);
}
.wpcf7-response-output{text-align: center;margin: 20px 0;font-weight:bold;color:#208c4d;}
@media screen and (max-width: 640px) {
	fieldset > div:nth-child(1),
	fieldset > div:nth-child(2) {
		width: 100%;
		float: none;
	}
	fieldset > div:nth-child(2) {
		margin-top: 20px;
	}
}
.required {
	padding-left: var(--font-s);
	position: relative;
}
.required::before {
	content: "※";
	color: #ff3c46;
	font-size: var(--font-s);
	font-weight: normal;
	position: absolute;
	top: 0;
	left: 0;
}

/*-------------------------
footer
---------------------------*/
footer {
	background-color: #fafafa;
	padding-top: 100px;
}

footer .ico_doc{
	width: 16px;
    margin-right: 5px;
    vertical-align: top;
}

/* information */
#information {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 740px;
	margin: 0 auto;
}
#information > * {
		padding: 0 20px;
}
#information a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 34%;
}
#information img {
	display: block;
	width: 100%;
	max-width: 216px;
}
#information dl {
	width: 66%;
}
#information dt {
	font-weight: bold;
}
@media screen and (max-width: 640px) {
	#information a,
	#information dl {
		width: 100%;
	}
	#information dl {
		margin-top: 20px;
	}
}

/* sitemap */
#sitemap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 960px;
	margin: 60px auto 100px;
}
#sitemap > li {
	width: calc(100% / 3);
	padding: 0 40px;
}
#sitemap > li+li {
	border-left: 1px solid #646464;
}
#sitemap dt {
	font-weight: bold;
	margin-bottom: 7px;
}
#sitemap dd {
	font-size: 85%;
}
#sitemap a {
	display: inline-block;
	position: relative;
	overflow: hidden;
}
#sitemap a:after {
	content: "";
	background-color: #41ad6e;
	width: 0;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-transition: .5s;
	transition: .5s;
}
#sitemap a:hover:after {
	width: 100%;
}
@media screen and (max-width: 640px) {
	#sitemap > li {
		width: 100%;
		padding: 0 20px 20px;
	}
	#sitemap > li+li {
		padding: 20px;
		border-top: 1px solid #646464;
		border-left: none;
	}
}

/* copy */
footer > p {
	background-color: #646464;
	color: #fff;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	padding: 10px 20px;
}