@charset "UTF-8";
/* common parts
============================================================================================================ */

.red {
	color: #cb3f3f;
}

.green {
	color: #018d44;
}

.orange {
	color: #ea6854;
}

.brown {
	color: #552e31;
}

.pink {
	color: #f97c92
}

.text-mincho {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

.font-weight500 {
	font-weight: 500;
}

.text-normal {
	font-size: 100% !important;
}

.text-smedium {
	font-size: 115% !important;
}

.text-medium {
	font-size: 135% !important;
}

.text-large {
	font-size: 160% !important;
}

.text-xlarge {
	font-size: 200% !important;
}

.bold {
	font-weight: bold;
}

.uline {
	text-decoration: underline;
}

.marker {
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, #fbfea4 0%);
}

.noline {
	text-decoration: none;
}

.noline a {
	text-decoration: none;
}

.clear {
	clear: both;
}

.block {
	display: block;
}

.radius, .radius img {
	border-radius: 0.75rem;
}

.disc li {
	list-style-type: disc;
}

.mb00 {
	margin-bottom: 0 !important;
}

.mb005 {
	margin-bottom: 0.5rem !important;
}

.mb01 {
	margin-bottom: 1rem !important;
}

.mb02 {
	margin-bottom: 2rem !important;
}

.mb03 {
	margin-bottom: 3rem !important;
}

.mb04 {
	margin-bottom: 4rem !important;
}

.mb05 {
	margin-bottom: 5rem !important;
}

.mt00 {
	margin-top: 0 !important;
}

.mt005 {
	margin-top: 0.5rem !important;
}

.mt01 {
	margin-top: 1rem !important;
}

.mt02 {
	margin-top: 2rem !important;
}

.mt03 {
	margin-top: 3rem !important;
}

.br_sp {
	display: none;
}

@media screen and (max-width: 48em) {
	.text-smedium {
		font-size: 110% !important;
	}
	.text-medium {
		font-size: 125% !important;
	}
	.text-large {
		font-size: 140% !important;
	}
	.text-xlarge {
		font-size: 175% !important;
	}
	.br_sp {
		display: block;
	}
	.br_pc {
		display: none;
	}
	.text-left-sp {
		text-align: left !important;
	}
}

/* table
============================================================================================================ */

.table {
	border-collapse: collapse;
	border-spacing: 0px;
	width: 100%;
	margin-bottom: 1rem;
}

.table th, .table td {
	padding: 1rem 1.5rem;
	border: solid 1px #ccc;
	background: #fff;
	font-size: 0.9375rem;
	line-height: 1.85em;
}

.table th {
	background: #f6f4e8;
}

.table.w30 th {
	width: 30%;
}

@media screen and (max-width: 48em) {
	.table th, .table td {
		padding: 0.75rem;
		font-size: 0.875rem;
	}
	.table.break th, .table.break td {
		display: block;
		width: 100% !important;
	}
}

/* float
============================================================================================================ */

.float-left-img {
	float: left;
	margin: 0 1.85rem 1.5rem 0;
	width: 35%;
	text-align: center;
}

.float-right-img {
	float: right;
	margin: 0 0 1.5rem 1.85rem;
	width: 35%;
	text-align: center;
}

.float-left-img.small, .float-right-img.small {
	width: 25%;
}
.float-left-img.large, .float-right-img.large {
	width: 45%;
}

.clear {
	clear: both !important;
}

@media screen and (max-width: 39.99875em) {
	.float-left-img, .float-right-img {
		float: none;
		margin: 0;
		margin-bottom: 1.5rem;
		width: 100% !important;
	}
}

/* layout
============================================================================================================ */
.site_header  .header_text  {
	font-size:0.75rem;
	margin:0.65rem 0;
}
.site_header .logo {
	line-height: 1em;
}

.site_header_contact .tel {
	/*width: 44.5%;*/
}

.site_header_contact .yoyaku{
	margin-left:10px;
}
@media print, screen and (max-width: 640px){
	.site_header_contact .yoyaku{display:none;}
}
/*
.site_header_contact .yoyaku a{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
}*/

/*.site_header_contact .yoyaku {
	width: 52.5%;
}*/

.site_header_contact .inner {
	max-width: 620px;
	float: right;
}

.site_menu {
	margin: 0.65rem 0 0;
	background:#018d44;
}


.site_menu li a {
	text-align: center;
	display: block;
	height: 100%;
	width: 100%;
	padding: 1rem 0;
	font-weight: 600;
	color: #fff;
	font-size: 0.9375rem;
}

.site_footer {
	padding: 4rem 0 0;
	background-color: #018d44;
	text-align: center;
	color: #fff;
}

.site_pagetop {
	bottom: 1rem;
	position: fixed;
	right: 1rem;
}
.sp_tel,.sp_book {
	display:none;
}
.site_footer .contact_info {
	max-width: 600px;
	width: 100%;
	margin: 1.5rem auto;
	overflow: hidden;
}

.site_footer .contact_info a {
	/*max-width: 48% !important;
	float: left;*/
	margin-top: 0.5rem;
}

.site_footer .contact_info .button {
	background-color: #bed000;
	color: #fff;
	font-weight: 600;
	max-width: 48% !important;
	float: right;
	border-radius:0;
	margin-top: 0rem;
}

.site_footer .links li {
	display: inline;
	font-size: 0.875rem;
	font-weight: 600;
	color: #fff;
	cursor: default;
	text-transform: uppercase;
}

.site_footer .links li:not(:last-child)::after {
	position: relative;
	margin: 0 0.5rem;
	opacity: 1;
	content: "|";
	color: #fff;
}

.site_copyright {
	font-size: 0.75rem;
	margin: 3rem 0 0;
	color: #018d44;
	background: #fff;
	padding: 1.5rem 0.5rem
}

#sp_navi {
	display: none;
}

#sp_navi .nav {
	display: none;
}

@media screen and (max-width: 63.99875em) {
	#sp_navi {
		display: block;
	}
	#sp_navi .open .nav {
		display: block;
	}
	.site_header {
		padding: 70px 0 0;
	}
	.site_heading {
		font-size: 1.65rem;
	}
	.sp_navi_logo img {
		margin: 0.65rem;
		display: none;
	}
}

@media screen and (max-width: 48em) {
	.site_header_contact .inner {
		max-width: 100%;
		float: right;
	}
	
	.site_header {
		margin-bottom: 1rem;
	}
	.site_header h1 {
		font-size: 0.7rem;
	}
	.site_header .logo img {
		width: 80%;
	}
	.site_footer .contact_info a, .site_footer .contact_info .button {
		max-width: 100% !important;
		float: none !important;
		display: block !important;
		margin-top: 1rem;
	}
	.site_footer .links {
		overflow: hidden;
	}
	.site_footer .links li {
		display: block;
		float: left;
		width: 50%;
		border-bottom: 1px #fff dotted;
	}
	.site_footer .links li a {
		padding: 1rem 0;
		display: block;
	}
	.site_footer .links li:not(:last-child)::after {
		position: relative;
		margin: 0;
		opacity: 0;
		content: "";
	}
}

/* header_bnr_sp*/
.site_header .grid-x{
	position: relative;
}
.header_bnr_sp {
    position: absolute;
    top: 40px;
    left: 250px;
}

@media screen and (max-width: 1080px) {
	.header_bnr_sp {
    top: 4vw;
    left: 25vw;
		width: 20vw;
}
}
@media screen and (max-width: 39.99875em) {
	.header_bnr_sp{
		position: relative;
		top: unset;
		left: unset;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

@media screen and (max-width: 39.99875em) {
	.sp_navi_logo img {
		display: block;
	}
	.site_header_contact .inner {
		max-width: 100%;
		float: none;
		text-align:center;
	}
	.site_header_contact .tel{
		display: none !important;
		text-align:center;
		
	}
	.site_header_contact .tel img{
		width: 80%;
	}
	.grid-container {
		padding-right: 1.125rem;
		padding-left: 1.125rem;
	}
	.site_header .logo {
		display: none;
	}
	.site_menu, .site_menu_footer {
		display: none;
	}
	.site_footer_info {
		margin-bottom: 1rem;
	}
	.site_pagetop {
	width: calc(13% - 1rem);
}
.site_copyright {
	padding-bottom:5rem;
	font-size:0.65rem;
}
	.sp_tel {
		display:block;
	bottom: 1rem;
	width: calc(60% - 1rem);
	position: fixed;
	left: 1rem;
}
	.sp_book{width:30%;max-width:80px;height:50px;display:block;position: fixed;left: 62%;bottom:1%;}
	.site_heading {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
	.section {
		margin-bottom: 2rem;
	}
}

.section {
	margin-bottom: 5rem;
	overflow: hidden;
}

.section_wrap {
	padding: 5rem 0 4rem;
	margin-bottom: 4.5rem;
	background-color: #f5f4f0;
}

.section_box {
	border: solid 1px #018d44;
	padding: 3.5rem;
}

.site_heading {
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	line-height: 1;
	color: #444;
	font-weight: 500;
	font-size: 1.45rem;
	border-bottom: 2px solid #ebe7dc;
	position: relative;
	text-align: left;
}

.site_heading:after {
	content: "";
	width: 20%;
	height: 2px;
	display: block;
	background-color: #018d44;
	position: absolute;
	bottom: -2px;
	left: 0;
}

.site_heading2 {
	padding: 0.65rem 1rem;
	border-left: 2px solid #018d44;
	font-size: 1.25rem;
}

.site_heading_boxed {
	margin-bottom: 1.25rem;
	padding: 1rem;
	color: #fff;
	font-weight: 600;
	font-size: 1.5rem;
	background: #018d44;
	text-align: center;
}

.site_pagettl {
	background-color: #f5f5f5;
	background-repeat: no-repeat;
	padding: 5rem 1rem;
	margin-bottom: 0.65rem;
}

.site_pagettl h1 {
	font-size: 2.25rem;
	color: #333;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 1em;
	font-weight: 500;
}

@media screen and (max-width: 63.99875em) {
	.site_heading {
		font-size: 1.65rem;
	}
	.site_pagettl {
		padding: 3.5rem 0 3.5rem;
		margin-bottom: 0.65rem;
	}
	.site_pagettl h1 {
		font-size: 2rem;
	}
	.section_box {
	padding: 2.5rem;
}
}

@media screen and (max-width: 39.99875em) {
	.site_heading {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
	.site_pagettl {
		padding: 2.5rem 0 2.5rem;
		
	}
	.site_pagettl h1 {
		font-size: 1.5rem;
		line-height: 1.35em;
	}
	.section {
		margin-bottom: 2rem;
	}
	.section_box {
	padding: 1.5rem;
}
}

/* toppage
============================================================================================================ */

.top_greeting {
	padding: 8rem 0;
	background-size: cover;
	background-image: url(../img/bg_message.jpg);
	background-position: center right;
}

.top_greeting p {
	text-shadow: #fff 2px 0px 5px, #fff -2px 0px 5px, #fff 0px -2px 5px, #fff -2px 0px 5px, #fff 2px 2px 5px, #fff -2px 2px 5px, #fff 2px -2px 5px, #fff -2px -2px 5px, #fff 1px 2px 5px, #fff -1px 2px 5px, #fff 1px -2px 5px, #fff -1px -2px 5px, #fff 2px 1px 5px, #fff -2px 1px 5px, #fff 2px -1px 5px, #fff -2px -1px 5px, #fff 1px 1px 5px, #fff -1px 1px 5px, #fff 1px -1px 5px, #fff -1px -1px 2px;
}

.top_greeting .dr {
	display: none;
}

.top_news ul li {
	margin-right: 1rem;
}

.top_news li {
	padding: 0.75rem 0;
	border-bottom: dotted 1px #ccc;
}

.top_news li .date {
	margin-right: 1rem;
}

.top_maparea table {
	border: none;
	width: 100%;
	text-align: center;
}

.top_maparea table th {
	background: #f6f4e8;
	font-size: 0.875rem;
	border: none;
}

.top_maparea .table td {
	border: none;
	border-bottom: solid 1px #ccc;
	font-size: 0.875rem;
}

.top_maparea .box {
	border: solid 2px #bed000;
	font-size: 0.9375rem;
	text-align: center;
	padding: 0.5rem;
	font-weight: 500;
	margin-bottom: 1rem;
}

.top_maparea .contact a {
	max-width: 48%;
	float: left;
}

.top_maparea .contact a:last-child {
	float: right;
}

.top_menu li {
	background-image: url(../img/icon_play.png);
	background-repeat: no-repeat;
	background-position: left 8px;
	padding: 0.15rem 0.875rem;
	line-height: 1.5em;
	color: #555;
	font-size: 0.875rem;
}

.top_menu li a {
	text-decoration: underline;
	color: #11934e;
}

.top_menu .menu_3colmns, .top_menu .menu_hifu ul {
	float: left;
	width: 32%;
}

.top_menu .menu_3colmns.geka, .top_menu .menu_hifu .second {
	margin: 0 2%;
}

.top_menu .menu_3colmns {
	float: left;
}

.top_menu h3 {
	font-size: 1.125rem;
	color: #11934e;
}

.notice_box {
	background: #fdfbee;
	padding: 0.65rem 1rem;
}

@media screen and (max-width: 48em) {
	.top_greeting {
		padding: 4rem 0;
		background-image: none;
		background: #fcfcfc;
	}
	.top_greeting .dr {
		display: block;
	}
	.top_news li .date {
		display: block;
	}
	.top_maparea iframe {
		height: 350px;
		margin-bottom: 1rem;
	}
	.top_maparea table th, .top_maparea .table td {
		font-size: 0.8rem;
		padding: 0.5rem;
	}
	.top_maparea .box {
		text-align: left;
	}
	.top_maparea .contact a {
		max-width: 100%;
		float: none !important;
		margin-top: 1rem;
		display: block;
	}
	
}
@media screen and (max-width: 47.938em) {
	
	.top_menu a, .top_menu li {
		display: block;
		
	}
	
	.top_menu .menu_3colmns, .top_menu .menu_hifu ul {
		float: none;
		width: 100%;
	}
	.top_menu .menu_3colmns.geka, .top_menu .menu_hifu .second {
		margin: 0;
	}
}
.blog-side {
	background: #fbf8f3;
	float: none;
	margin-bottom: 30px;
	padding: 1.125rem 1.125rem 10px;
}

.blog-side .ttl {
	background: #674d3f;
	padding: 0.65rem 1rem;
	font-size: 1rem;
	font-weight: 500;
	margin: -1.125rem -1.125rem 1rem;
	color: #fff;
}

.blog-side li {
	padding: 0.25rem 0rem;
	font-size: 0.75rem;
	border-bottom: dotted 1px #f4debe;
}

.blog-side li:last-child {
	border-bottom: none;
}

.introduction_picture li p {
	padding: 1rem;
}

@media screen and (max-width: 48em) {
	.introduction_picture li p {
		text-align: left;
	}
	.introduction_picture li p br {
		display: none;
	}
}

.staff_profile li {
	border-bottom: dotted 1px #ddd;
	padding-bottom: 2rem;
}

.staff_profile h3 {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1em;
	color: #018d44;
}

.staff_profile h3 span {
	margin-right: 1rem;
	font-size: 1.25rem;
}

.staff_profile .img {
	width: 48.5%;
	float: left;
}

.staff_profile .text {
	width: 48.5%;
	float: right;
}

.staff_profile p {
	line-height: 1.85em;
	font-size: 0.9375rem;
}

.staff_profile dt {
	border: solid 1px #018d44;
	padding: 0.5rem;
	margin-bottom: 0.65rem;
}
@media screen and (max-width: 47.938em) {
	.staff_profile .img,.staff_profile .text {
	width: 100%;
	float: none;
}
.staff_profile .img {
	margin:0 0 1.5rem;
}
 

}
.recruit_buttons .button {
	border: solid 1px #018d44;
	background: #fff;
	color: #018d44;
	max-width: 100%;
	border-radius: 0;
	font-size: 1.125rem;
}

.recruit_group {
	background: #f6f4e8;
	padding: 2rem 2.5rem 0.25rem;
	margin-bottom: 3rem;
}

.recruit_group .group_ttl {
	font-weight: bold;
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

.recruit_contact {
	padding: 0.8125rem;
	border:solid 3px #12b6ca;
	text-align:center;
	font-size:1.125rem;
	font-weight:500;
	letter-spacing:0.5px;
	margin: -1rem 0 3rem;
	background: repeating-linear-gradient( 40deg, #fff, #fff 4px, rgba(247,254,239, 1) 4px, rgba(247,254,239, 1) 6px );
}
@media screen and (max-width: 48em) {
	.recruit_group {
	padding: 1.5rem 2rem 0.25rem;
	
}


}
@media screen and (max-width: 47.938em) {
	.recruit_group {
	padding: 1rem 1rem 0.25rem;
	
}
.recruit_group {
	padding: 1rem 1rem 0.25rem;
	
}

.recruit_group .group_ttl {
	font-size: 1rem;
	margin-bottom: 0.5rem;
}
}
.access_mapbg {
	background: #fcfcfc;
}

.access_how li h3 {
	font-size: 1.125rem;
	line-height: 50px;
	color: #018d44;
}

.access_how li .circle {
	float: left;
	margin: 0 1.25rem 1.25rem 0;
	width: 50px;
	line-height: 50px;
	font-size: 24px;
	text-align: center;
	background: #018d44;
	border-radius: 50%;
	color: #fff;
}

.newsbtn{display:flex;justify-content:center;align-content:center;margin:20px auto;}
.newsbtn a{width:220px;border:1px solid #d87602;color:#fff;background:#d87602;padding:10px 20px;text-align:center;text-decoration:none;transition:.3s;}
.newsbtn a:hover{background:none;color:#d87602;}












/*============================================================================

	FLU

============================================================================*/
/* notice */
#flu .notice{
	background:#fefef8;
	padding:0.65rem 1rem 0;
	border:solid 2px #fd90a1;
	margin-bottom: 30px;
}

#flu .navSec{
	background-color: #fff7e2;
	padding:15px;
	margin-bottom: 30px;
	width: 100%;
}
#flu .navSec p.fluBnr{
	text-align: center;
	width: 100%;
}
#flu .navSec ul.fluNav{
	margin:0 auto;
	width:100%;
	margin: 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#flu .navSec ul.fluNav li{
	margin-right: 8px ;
}
#flu .navSec ul.fluNav li:last-child{
	margin-right:0;
}

#flu .fluBtn{
	float: left;
	margin-right: 30px;
}
#flu .fluBtn a {
	display:inline-block;
	width:160px;
	padding:20px 20px;
	margin-right:20px;
	margin-bottom:20px;
	float:left;
	background:#ed5656;
	color:#fff;
	text-decoration:none;
	border-radius:5px;
	font-size:1.1em;
	font-weight:bold;
	text-align: center;
}
#flu .fluBtn.wAuto a {
	width:auto;
	display:inline-block;
	width:auto;
	margin:20px 0;
}
#flu .fluBtn a:hover {
	opacity:0.8;
}

/* addressList */
#flu .addressList ul{
	width:100%;
}
#flu .addressList ul li{
	width: 33%;
	float:left;
	padding:10px 5px 10px 20px;
}
#flu .addressList ul li.alnC{
	text-align: center;
}

#flu .top_timetable.col2 .colL,
#flu .top_timetable.col2 .colR{
	width: 50%;
	float: left;
	padding:0 10px;
}

.fluBtn a {
	display:inline-block;
	width:160px;
	padding:20px 20px;
	margin-right:20px;
	margin-bottom:20px;
	float:left;
	background:#ed5656;
	color:#fff;
	text-decoration:none;
	border-radius:5px;
	font-size:1.1em;
	font-weight:bold;
}
.fluBtn.wAuto a {
	display:inline-block;
	width:auto;
	margin:20px 0;
}
.fluBtn a:hover {
	opacity:0.8;
}
.fluDL {
	margin-left:200px;
}
.fluFooter {
	border-top:solid 1px #ccc;
	padding-top:30px;
}
.fluLogo {
	margin-bottom:30px;
}
.fluLogo td {
	vertical-align:middle;
	padding-right:60px;
}

.fluFooter .topAboutusTimeTable {
	font-size:1.4em;
	float:left;
	margin-right:40px;
}
.waku01 {
	border:dotted 1px #ccc;
	padding:15px;
}

@media screen and (max-width: 39.99875em) {
	
	#flu .navSec ul.fluNav{
		margin:0 auto;
		width:100%;
		flex-wrap: wrap;
	}
	#flu .navSec ul.fluNav li{
		width: 49.5%;
		margin:0 0.5% 5px 0;
	}
	#flu .navSec ul.fluNav li:nth-child(even){
		margin-right: 0;
	}
	#flu .navSec ul.fluNav li img{
		width: 100%;
	}

	#flu .fluBtn{
		float: none;
		margin-right: 0;
	}
	#flu .fluBtn a {
		display:block;
		width:160px;
		margin :10px auto 10px;
		float:none;
	}

	.fluDL {
		margin-left:0;
	}

	#flu .addressList ul li{
		width: 100%;
		float:none;
		text-align: center;
		padding:10px 5px 10px 10px;
	}
	#flu .addressList ul li.alnC{
		text-align: center;
	}

	#flu .top_timetable.col2 .colL,
	#flu .top_timetable.col2 .colR{
		width: 100%;
		float: none;
	}
}