@charset "utf-8";
/* CSS Document */

input[type="submit"]{
	-webkit-appearance: none;
}
html,
body {
	width: 100vw;
}
.overlay {
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	z-index: 999998;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: none;
}
div.contents,
footer .pref-job-links,
#search_form {
	width: auto;
	min-width: auto;
}
div.contents,
footer .pref-job-links {
	margin: 0 5px;
}
header {
	position: sticky;
	top: 0;
	padding: 5px 0;
	z-index: 9998;
	border-bottom: 5px solid #f0f4f6;
}
header .contents {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	clear: both;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center;
}
header .contents h1 {
	margin-right: auto;
}
header .tel,
header ul.head_menu,
.top_main .contents p br,
.main div.list ul.list li table td:before,
.main div.detail table td:before,
.main .entries table td:before,
.main .hospital table td:before,
.main .company table td:before,
.main .contact table td:before {
	display: none;
}
header .sp,
nav .close {
	float: right;
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
}
header .sp i,
nav .close i {
	font-size: 2.4rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
header .sp i {
	color: #5a8bd3;
}
nav .close i {
	color: #fff;
}
nav {
	right: -80%;
	position: fixed;
	width: 80%;
	top: 0;
	bottom: 0;
	background-color: #5a8bd3;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	z-index: 999999;
	padding: 0;
}
nav.open {
	right: 0;
}
nav .close {
	margin: 10px 10px 0 0;
}
nav ul {
	clear: both;
	padding-top: 1px;
	border-top: 1px solid #fff;
}
nav ul li,
nav ul li:nth-child(3) {
	width: auto;
	float: none;
	border: none;
}
nav ul li a {
	color: #fff;
	padding: 10px 15px;
	border-bottom: 1px solid #fff;
	display: block;
	text-decoration: none;
}
nav ul li a i.fas {
	display: inline-block;
	font-size: 2.4rem;
	vertical-align: baseline;
	margin-bottom: 0;
	margin-right: 10px;
}
nav ul li:nth-child(3) a i.fas:first-child {
	display: none;
}
.main {
	z-index: 2;
}
h3.bar {
	font-size: 2.0rem;
}
h3.bar:before,
h3.bar:after {
	display: none;
}
.main .contents {
	padding-left: 5px;
	padding-right: 5px;
}
footer .pref-job-links .pref-job-body {
	padding-bottom: 0;
}
footer .pref-job-links .pref-block {
	flex-direction: column;
	font-size: 14px;
}
footer .pref-job-links .pref-block .area,
footer .pref-job-links .pref-block .pref {
	padding-left: 10px;
}
footer .pref-job-links .pref-block .area::after {
	border-width: 5px 5px 0 5px;
	border-color: #6699CC transparent transparent transparent;
	left: 0;
}
footer .pref-job-links .pref-block a {
	margin: 0 4px;
	line-height: 1.3;
}
footer .copy {
	margin-left: -5px;
	margin-right: -5px;
}

.top_main .contents {
	height: auto;
	background-size: 40% auto;
	background-position: top left;
	margin: 0;
	padding: 0 5px 20px 5px;
}

.top_main .contents > * {
	width: auto;
}

.top_main .contents .text {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px 0;
}
.top_main .contents h2 {
	width: 65%;
	margin: calc(((40vw * 0.83) - (2.6rem * 1.3 * 3)) / 2) 0;
	font-size: 2.6rem;
	line-height: 130%;
}
.top_main .contents h2 .red {
	font-size: 3.2rem;
}
.top_main .contents h2 br {
	display: block;
}
.top_main .contents p,
.top_main .contents .link {
	width: 100%;
}
.top_main .contents .link .text {
	font-size: 2.0rem;
	padding-left: 25px;
	padding-right: 25px;
}
.top_main .contents a {
	font-size: 2.0rem;
	padding-left: 10px;
	padding-right: 10px;
	gap: 0 20px;
	width: 100%;
}
.top_main .contents a p {
	width: 13em;
}
.top_main .contents a p br {
	display: block;
}
.top_main .link a .icon .fa-file {
	font-size: 3.0rem;
}
.top_main .link a .icon .fa-hand-holding {
	font-size: 4.5rem;
	margin-top: -25px;
}
th .required {
	float: none;
	margin-left: 10px;
}

td.day ul,
td.day ul li,
.main .entries table td.day ul,
.main .entries table td.day ul li {
	margin-right: 0;
}
td.day ul li {
	width: 25%;
}
td.day ul li:first-child {
	width: 50%;
}
.tel input[type="text"] {
	width: 100%;
}

.main .search ul.tab li {
	width: -webkit-calc((100% - 5px) / 2);
	width: calc((100% - 5px) / 2);
	position: relative;
	font-size: 1.8rem;
}
.main .search ul.tab li:not(:last-child) {
	margin-right: 5px;
}
.main .search ul.tab li.active {
	background-color: #fff;
	color: #5a8bd3;
	border: 2px solid #5a8bd3;
	padding: 3px 0;
}
.main .search ul.tab li.active:before,
.main .search ul.tab li.active:after {
	position: absolute;
	content: "";
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	border-style: solid;
	border-color: transparent;
}
.main .search ul.tab li.active:before {
	border-width: 10px 10px 0 10px;
	border-top-color: #5a8bd3;
}
.main .search ul.tab li.active:after {
	border-width: 7px 7px 0 7px;
	border-top-color: #fff;
}

.main .search .search_main,
.main .top_content {
	display: inline-block;
	width: 100%;
}

.main .search h3 {
	margin: 10px 0;
	background-color: #e3ecf3;
	font-size: 2.2rem;
	padding: 10px 0;
	text-align: center;
}
.main .search .search_main {
	width: 100%;
	padding-top: 0;
	margin-bottom: 15px;
}
.main .search .search_main .search-wrapper {
	flex-direction: column;
	gap: 0;
	margin: 0 0 20px;
}
.recruitment-info .working-conditions1 {
	display: grid;
	grid-template-columns: 1fr;
}
.main .search .search_main table {
	width: 98%;
	margin-bottom: 8px;
}
.main .search .search_main table th:before {
	width: 6.4em;
}
.main .search .search_main table td:before {
	width: calc(100vw - 20px - 6.4em - ((100vw - 20px) * 0.02));
}
.main .search .search_main :has(input#type_1:checked) .search_location .full,
.main .search .search_main :has(input#type_2:checked) .search_location .part {
	gap: 0 40px;
}
.main .search .search_main :has(input#type_1:checked) .search_location h4 {
	margin-left: 1%;
	margin-right: 1%;
}
.main .search .search_main .search-wrapper .search_location fieldset {
	flex-wrap: wrap;
	padding-bottom: 10px;
}
.main .search .search_main .search-wrapper .search_location fieldset > label {
	flex: 0;
}
.main .search .search_main .search-wrapper .search_location .prefectures {
	gap: 0;
	width: 100%;
	margin-right: 0;
}
.main .search .search_main .search-wrapper .search_location .prefectures li {
	width: 25%;
	margin-right: 0;
	min-width: 5.5em;
}
.main .search .search_main .search-wrapper .search_location .area-toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #eee;
	padding: 10px 15px;
	font-weight: bold;
	cursor: pointer;
	margin-bottom: 5px;
}
.main .search .search_main .search-wrapper .search_location .area-toggle .toggle-icon {
	font-size: 12px;
	transition: transform 0.2s ease;
}

.main .search .search_main .search-wrapper .search_location .area-toggle.open .toggle-icon {
	transform: rotate(180deg);
}
.main .search .search_main .search-wrapper .search_location .area-checkboxes {
	display: none;
}

.main .pager ul {
	margin-bottom: -5px;
}
.main .pager ul li {
	margin-bottom: 5px;
}

.main div.list ul.list {
	margin-top: -20px;
	margin-bottom: -20px;
	padding: 15px 0;
}

.main div.list ul.list li table {
	position: relative;
	border-top: 1px dotted #ccc;
}
.main div.list ul.list li table th,
.main div.list ul.list li table td {
	display:block;
	border-left: none;
	border-right: none;
	border-top: none;
}
.main div.list ul.list li table th {
	background: none;
	border-color: rgba(0, 0, 0, 0);
	position: absolute;
	left: 0;
	width: -webkit-calc(5em + 20px);
	width: calc(5em + 20px);
}
.main div.list ul.list li table td {
	padding-left: calc(5em + 30px);
	border-bottom-style: dotted;
	padding-right: 0;
}
.main div.list ul.list li .button ul {
	margin-top: 0;
}
.main div.list ul.list li .button ul li {
	margin-top: 15px;
	display: list-item;
	padding: 0;
}
.main div.list ul.list li .button ul li input {
	width: 100%;
}

.main .detail h2,
.main .entries h2,
.main .hospital h2,
.main .manual h2,
.main .company h2,
.main .access h2,
.main .sitemap h2,
.main .contact h2,
.main .error h2,
.main .privacy h2,
.main .megumi h2,
.main .agent h2,
.main .doctors h2,
.main .senior h2 {
	font-size: 1.8rem;
	padding-left: 10px;
	padding-right: 10px;
	margin: 10px 0;
	overflow-wrap: anywhere;
}
.main .detail dl {
	margin: 15px 0 30px;
}

.main .detail table,
.main .entries table,
.main .hospital table,
.main .company table,
.main .contact table {
	border-top: 1px solid #ccc;
	overflow-wrap: anywhere;
}
.main .detail table th,
.main .detail table td,
.main .entries table th,
.main .entries table td,
.main .hospital table th,
.main .hospital table td,
.main .company table th,
.main .company table td,
.main .contact table th,
.main .contact table td {
	display: block;
	padding: 5px 0;
	border: none;
}
.main .detail table th,
.main .entries table th,
.main .hospital table th,
.main .company table th,
.main .contact table th {
	padding: 5px;
	text-align: left;
}
.main .detail table td,
.main .entries table td,
.main .hospital table td,
.main .company table td,
.main .contact table td {
	border-bottom: 1px solid #ccc;
}

.main .detail .button button br {
	display: block;
}
.main .detail .more ul {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 10px 0;
	transition: max-height 0.6s ease-in-out;
}
.main .detail .more ul li {
	width: 100%;
}
.main .detail .more ul li table {
	border: none;
}
.main .detail .more ul li table th,
.main .detail .more ul li table td {
	display: table-cell;
}
.main .detail .more label {
	margin-top: 10px;
}

.main .hospital article,
.main .hospital article + article {
	width: 100%;
	margin-bottom: 20px;
	margin-right: 0;
}

.main .hospital table td.address ul {
	margin-right: 0;
}
.main .hospital table td.address ul li,
.main .hospital table td.address ul li:nth-child(2) {
	display: block;
	width: 100%;
	margin-right: 0;
}

.main .contact table td dl dt:after {
	margin: 0;
}
.main .contact table td.day dl dd {
	width: -webkit-calc(100% - 6em);
	width: calc(100% - 6em);
}
.main .contact table td.area dl dd {
	width: -webkit-calc(100% - 5em);
	width: calc(100% - 5em);
}
.main .contact table td dl dd input[type="text"] {
	width: 100%;
}
.main .contact table td.timing ul li .text {
	margin-left: 25px;
}
.main .contact table td.day ul,
.main .contact table td.day ul li {
	margin-right: 0;
}
.main .contact table td.day ul li {
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
}
.main .contact table td.day ul li input[type="text"],
.main .contact table td.day ul li .select {
	width: -webkit-calc(100% - 2em);
	width: calc(100% - 2em);
}

.main .contact table td.area_type ul li:last-child input[type="text"],
.main .contact table td.property_type ul li:last-child input[type="text"] {
	width: -webkit-calc(100% - 5.5em);
	width: calc(100% - 5.5em);
	margin-left: 0.5em;
}

.main .access .access_left,
.main .access .access_right {
	float: none;
	width: auto;
}

.main .company .main_contents,
.main .company article .side,
.main .megumi article .megumi_left,
.main .megumi article .side {
	width: 100% !important;
	float: none !important;
}

.main .manual ul.manual_menu {
	margin-bottom: -20px;
}
.main .manual ul.manual_menu li,
.main .manual ul.manual_menu li:nth-child(odd) {
	float: none;
	width: 100%;
	margin-right: 0;
	margin-bottom: 20px;
}
.main .manual ul.manual_menu li ul li,
.main .manual ul.manual_menu li ul li:nth-child(odd) {
	margin-bottom: 0;
}

.main .agent ul li .img_width {
	float: none;
	width: 100%;
}
.main .agent ul li .img_width .img {
	padding-top: 100%;
}

.main .doctors article ul.flow {
	margin: 20px 0 0 0;
}
.main .doctors article ul.flow li {
	display: list-item;
	width: 100%;
	margin: 0 0 20px 0;
}
.main .doctors article ul.flow li br {
	display: none;
}
.main .doctors article ul.flow li:after {
	border-width: 16px 100px 0 100px;
	border-color: #e3ecf3 transparent transparent transparent;
	top: -webkit-calc(100% + 2px);
	top: calc(100% + 1px);
	left: 50%;
	transform:translateX(-50%);
	-webkit-transform:translateX(-50%);
	-moz-transform:translateX(-50%);
	-ms-transform:translateX(-50%);
}

textarea.entry_question {
	height: 350px;
}

