@charset "UTF-8";
/* =========================================================
   名西どうぶつ病院 採用情報ページ（meisei-recruit）
   ========================================================= */

.mr {
	--mr-brown: #574229;
	--mr-green: #6c943c;
	--mr-sage: #8faa9e;
	--mr-teal: #589789;
	--mr-btn: #76aa9e;
	--mr-tint: #f1f6f7;
	--mr-line: #b9c9c2;
	--mr-text: #535353;
	--mr-dark: #222;
	display: block;
	width: 100%;
	overflow: hidden;
	color: var(--mr-text);
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0;
	-webkit-text-size-adjust: 100%;
}
.mr *, .mr *::before, .mr *::after { box-sizing: border-box; }
.mr h2, .mr h3, .mr h4, .mr p, .mr ul, .mr ol, .mr li, .mr dl, .mr dt, .mr dd, .mr figure {
	margin: 0;
	padding: 0;
}
.mr ul, .mr ol { list-style: none; }
.mr img { display: block; max-width: 100%; height: auto; border: 0; }
.mr a { color: var(--mr-teal); text-decoration: underline; }
.mr a:hover { text-decoration: none; }

.mr .mr-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ---------- セクション ---------- */
.mr .mr-sec { padding: 105px 0 100px; background: #fff; }
.mr .mr-sec--tint { background: var(--mr-tint); }
.mr .mr-message { padding-top: 60px; }

/* ---------- 見出し ---------- */
.mr .mr-head { text-align: center; margin-bottom: 60px; }
.mr .mr-head__en {
	color: var(--mr-green);
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: .2em;
	margin-bottom: 10px;
}
.mr .mr-head__ja {
	color: var(--mr-brown);
	font-family: "Mplus 1p", "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .15em;
	padding-left: .15em;
}
.mr .mr-head__ja::after {
	content: "";
	display: block;
	width: 70px;
	height: 4px;
	margin: 20px auto 0;
	background: var(--mr-green);
}

.mr .mr-lead {
	color: var(--mr-brown);
	font-family: "Mplus 1p", "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: .06em;
	margin-bottom: 40px;
}
.mr .mr-lead--center { text-align: center; }

.mr p + p { margin-top: 33px; }
.mr .mr-intro { text-align: center; margin-bottom: 55px; }

/* ---------- MESSAGE 院長挨拶 ---------- */
.mr .mr-message .mr-head { margin-bottom: 105px; }
.mr .mr-message__body {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.mr .mr-message__img { flex: 0 0 480px; max-width: 480px; }
.mr .mr-message__img img { width: 100%; border-radius: 10px; }
.mr .mr-message__text { flex: 0 1 640px; margin-left: 80px; padding-top: 0; }
.mr .mr-message__text .mr-lead { margin-top: -8px; margin-bottom: 38px; }
.mr .mr-message__sign {
	margin-top: 40px;
	text-align: right;
	color: var(--mr-dark);
}

/* ---------- RECRUIT MESSAGE 採用メッセージ ---------- */
.mr .mr-rmessage .mr-head { margin-bottom: 80px; }
.mr .mr-rmessage__body {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.mr .mr-rmessage__text { flex: 0 1 640px; margin-right: 80px; }
.mr .mr-rmessage__text .mr-lead { margin-bottom: 40px; }
.mr .mr-rmessage__img { flex: 0 0 480px; max-width: 480px; }
.mr .mr-rmessage__img img { width: 100%; }

/* ---------- OUR APPROACH ---------- */
.mr .mr-approach { padding-bottom: 100px; }
.mr .mr-approach .mr-head { margin-bottom: 55px; }
.mr .mr-approach .mr-lead { margin-bottom: 45px; }

.mr .mr-points { margin-top: 0; }
.mr .mr-point {
	display: flex;
	align-items: stretch;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 0 14px rgba(0, 0, 0, .07);
}
.mr .mr-point + .mr-point { margin-top: 40px; }
.mr .mr-point__num {
	flex: 0 0 204px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--mr-sage);
	color: #fff;
	line-height: 1.2;
	padding: 20px 10px;
}
.mr .mr-point__label {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	letter-spacing: .2em;
	padding-left: .2em;
}
.mr .mr-point__no {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 48px;
	letter-spacing: .04em;
	margin-top: 12px;
}
.mr .mr-point__body {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	padding: 38px 40px 42px 52px;
}
.mr .mr-point__text { flex: 1 1 auto; }
.mr .mr-point__title {
	color: var(--mr-teal);
	font-family: "Mplus 1p", "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em;
	margin-bottom: 22px;
}
.mr .mr-point__img { flex: 0 0 211px; width: 211px; margin-left: 70px; }

/* ---------- PERSON 求める人材 ---------- */
.mr .mr-person .mr-head { margin-bottom: 40px; }
.mr .mr-person__main { width: 355px; max-width: 100%; margin: 0 auto 40px; }
.mr .mr-person .mr-intro { margin-bottom: 60px; }

.mr .mr-cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -12px -12.5px;
}
.mr .mr-card {
	width: calc((100% - 75px) / 3);
	margin: 12px 12.5px;
	background: #fff;
	border-radius: 10px;
	padding: 38px 40px 30px;
	text-align: center;
	display: flex;
	flex-direction: column;
}
.mr .mr-card__no {
	color: var(--mr-green);
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: .25em;
	padding-left: .25em;
}
.mr .mr-card__title {
	color: var(--mr-brown);
	font-family: "Mplus 1p", "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
	margin: 22px 0 32px;
}
.mr .mr-card__text {
	margin-top: 0;
	color: var(--mr-dark);
	text-align: left;
	font-size: 17px;
	line-height: 2;
}
.mr .mr-card__img { margin: 28px auto 0; width: 280px; max-width: 100%; }
.mr .mr-card__img img { margin: 0 auto; }

/* ---------- REQUIREMENTS 募集要項 ---------- */
.mr .mr-req { padding-bottom: 80px; }
.mr .mr-req .mr-head { margin-bottom: 55px; }
.mr .mr-table + .mr-table { margin-top: 80px; }
.mr .mr-table__cap {
	background: var(--mr-sage);
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
	padding: 32px 32px;
	border-radius: 8px 8px 0 0;
}
.mr .mr-table__list {
	border-left: 1px solid var(--mr-line);
	border-right: 1px solid var(--mr-line);
	color: var(--mr-dark);
	font-size: 17px;
	line-height: 2;
}
.mr .mr-table__row {
	display: flex;
	border-bottom: 1px solid var(--mr-line);
}
.mr .mr-table__row dt {
	flex: 0 0 300px;
	min-height: 89px;
	display: flex;
	align-items: center;
	background: var(--mr-tint);
	border-right: 1px solid var(--mr-line);
	padding: 24px 32px;
	font-weight: 400;
}
.mr .mr-table__row dd {
	flex: 1 1 auto;
	align-self: center;
	padding: 24px 35px;
	min-height: 89px;
}

/* ---------- ENTRY ---------- */
.mr .mr-entry { padding-top: 80px; padding-bottom: 120px; }
.mr .mr-entry .mr-head { margin-bottom: 48px; }
.mr .mr-entry .mr-intro { margin-bottom: 55px; }

.mr .mr-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}

.mr .mr-form__list { border-top: 1px solid var(--mr-line); }
.mr .mr-form__row {
	display: flex;
	border-bottom: 1px solid var(--mr-line);
}
.mr .mr-form__th {
	flex: 0 0 300px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	background: var(--mr-tint);
	color: var(--mr-dark);
	font-size: 17px;
	line-height: 1.6;
	padding: 20px 32px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}
.mr .mr-form__row--top .mr-form__th { align-items: flex-start; padding-top: 48px; }
.mr .mr-req-badge {
	display: inline-block;
	margin-left: 10px;
	padding: 0 7px;
	border-radius: 3px;
	background: #c98a73;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: .05em;
}
.mr .mr-form__td { flex: 1 1 auto; padding: 23px 22px 23px 25px; }

.mr .mr-form input[type="text"], .mr .mr-form input[type="email"], .mr .mr-form input[type="tel"], .mr .mr-form select, .mr .mr-form textarea {
	display: block;
	width: 100%;
	height: 70px;
	margin: 0;
	padding: 0 25px;
	border: 1px solid #b5c6be;
	border-radius: 4px;
	background: #fff;
	color: var(--mr-dark);
	font-family: inherit;
	font-size: 17px;
	line-height: 1.5;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: border-color .2s, box-shadow .2s;
}
.mr .mr-form textarea {
	height: 190px;
	padding: 20px 25px;
	line-height: 1.8;
	resize: vertical;
}
.mr .mr-form input:focus, .mr .mr-form select:focus, .mr .mr-form textarea:focus {
	outline: none;
	border-color: var(--mr-btn);
	box-shadow: 0 0 0 3px rgba(118, 170, 158, .25);
}
.mr .mr-form ::-webkit-input-placeholder { color: #a3a3a3; }
.mr .mr-form ::-moz-placeholder { color: #a3a3a3; opacity: 1; }
.mr .mr-form :-ms-input-placeholder { color: #a3a3a3; }
.mr .mr-form ::placeholder { color: #a3a3a3; }

.mr .mr-select { position: relative; }
.mr .mr-select::after {
	content: "";
	position: absolute;
	right: 32px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -7px;
	border-right: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	transform: rotate(45deg);
	pointer-events: none;
}
.mr .mr-form select { padding-right: 60px; cursor: pointer; }
.mr .mr-form select::-ms-expand { display: none; }

.mr .mr-form__submit { text-align: center; margin-top: 80px; }
.mr .mr-btn {
	display: inline-block;
	width: 320px;
	max-width: 100%;
	height: 84px;
	border: 0;
	border-radius: 42px;
	background: var(--mr-btn);
	color: #fff;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .1em;
	cursor: pointer;
	transition: opacity .2s;
	-webkit-appearance: none;
	appearance: none;
}
.mr .mr-btn:hover { opacity: .8; }
.mr .mr-btn:disabled { opacity: .6; cursor: default; }

.mr .mr-notice {
	max-width: 900px;
	margin: 0 auto 50px;
	padding: 28px 32px;
	border-radius: 8px;
	text-align: center;
}
.mr .mr-notice--done {
	background: var(--mr-tint);
	border: 1px solid var(--mr-line);
	padding: 50px 32px;
	margin-bottom: 0;
}
.mr .mr-notice__title {
	color: var(--mr-brown);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 20px;
}
.mr .mr-notice__title + p { margin-top: 0; }
.mr .mr-notice--err {
	background: #fdf3f0;
	border: 1px solid #e3b2a2;
	color: #a0482c;
}

/* =========================================================
   Responsive
   ========================================================= */
@media screen and (max-width: 1200px) {
	.mr .mr-point__img { flex-basis: 170px; width: 170px; margin-left: 40px; }
	.mr .mr-message__text, .mr .mr-rmessage__text { flex: 1 1 auto; }
	.mr .mr-message__img { flex: 0 0 42%; }
	.mr .mr-rmessage__img { flex: 0 0 42%; }
	.mr .mr-message__text { margin-left: 50px; }
	.mr .mr-rmessage__text { margin-right: 50px; }
	.mr .mr-lead { font-size: 26px; }
}

@media screen and (max-width: 1030px) {
	.mr .mr-pc { display: none; }
	.mr .mr-card { width: calc((100% - 50px) / 2); padding: 34px 30px 26px; }
	.mr .mr-card__text { font-size: 16px; }
	.mr .mr-point__num { flex-basis: 150px; }
	.mr .mr-point__body { padding: 36px 30px 40px 36px; }
	.mr .mr-point__title { font-size: 24px; }
	.mr .mr-table__row dt, .mr .mr-form__th { flex-basis: 220px; padding-left: 24px; padding-right: 20px; }
}

@media screen and (max-width: 768px) {
	.mr { font-size: 15px; line-height: 2; }
	.mr .mr-sec { padding: 70px 0; }
	.mr .mr-message { padding-top: 45px; }
	.mr .mr-head, .mr .mr-message .mr-head, .mr .mr-rmessage .mr-head { margin-bottom: 40px; }
	.mr .mr-head__en { font-size: 14px; }
	.mr .mr-head__ja { font-size: 28px; letter-spacing: .1em; padding-left: .1em; }
	.mr .mr-head__ja::after { width: 56px; height: 3px; margin-top: 16px; }
	.mr .mr-lead { font-size: 21px; margin-bottom: 26px; }
	.mr p + p { margin-top: 24px; }
	.mr .mr-intro { text-align: left; margin-bottom: 40px; }
	.mr .mr-intro br { display: none; }
	.mr .mr-lead--center { text-align: center; }

	.mr .mr-message__body, .mr .mr-rmessage__body { flex-direction: column; }
	.mr .mr-message__img, .mr .mr-rmessage__img { flex: none; width: 100%; max-width: 420px; margin: 0 auto; }
	.mr .mr-message__text { margin: 36px 0 0; }
	.mr .mr-message__text .mr-lead { margin-top: 0; }
	.mr .mr-message__sign { margin-top: 30px; }
	.mr .mr-rmessage__text { margin: 0; }
	.mr .mr-rmessage__img { margin-top: 36px; }

	.mr .mr-point { flex-direction: column; }
	.mr .mr-point + .mr-point { margin-top: 28px; }
	.mr .mr-point__num { flex: none; flex-direction: row; align-items: baseline; padding: 12px 20px; }
	.mr .mr-point__label { font-size: 13px; }
	.mr .mr-point__no { font-size: 28px; margin: 0 0 0 10px; }
	.mr .mr-point__body { flex-direction: column-reverse; padding: 28px 22px 30px; }
	.mr .mr-point__img { flex: none; width: 160px; margin: 0 auto 20px; }
	.mr .mr-point__title { font-size: 20px; text-align: center; margin-bottom: 16px; letter-spacing: .04em; }

	.mr .mr-person__main { width: 280px; margin-bottom: 30px; }
	.mr .mr-person .mr-intro { margin-bottom: 40px; }
	.mr .mr-cards { margin: -8px; }
	.mr .mr-card { width: calc((100% - 32px) / 2); margin: 8px; padding: 30px 22px 24px; }
	.mr .mr-card__title { font-size: 20px; margin: 14px 0 20px; }
	.mr .mr-card__text { font-size: 15px; }
	.mr .mr-card__img { width: 240px; margin-top: 20px; }

	.mr .mr-req { padding-bottom: 60px; }
	.mr .mr-table + .mr-table { margin-top: 50px; }
	.mr .mr-table__cap { font-size: 18px; padding: 18px 20px; }
	.mr .mr-table__list { font-size: 15px; line-height: 1.9; }
	.mr .mr-table__row { flex-direction: column; }
	.mr .mr-table__row dt { flex: none; min-height: 0; border-right: 0; border-bottom: 1px solid var(--mr-line); padding: 8px 18px; font-weight: 700; }
	.mr .mr-table__row dd { align-self: stretch; min-height: 0; padding: 12px 18px 14px; }

	.mr .mr-entry { padding-top: 60px; padding-bottom: 80px; }
	.mr .mr-form__row { flex-direction: column; }
	.mr .mr-form__th { flex: none; padding: 12px 18px; font-size: 15px; }
	.mr .mr-form__row--top .mr-form__th { padding-top: 12px; }
	.mr .mr-form__td { padding: 14px 0 18px; }
	.mr .mr-form input[type="text"], .mr .mr-form input[type="email"], .mr .mr-form input[type="tel"], .mr .mr-form select { height: 56px; padding: 0 16px; font-size: 16px; }
	.mr .mr-form select { padding-right: 44px; }
	.mr .mr-select::after { right: 20px; }
	.mr .mr-form textarea { height: 170px; padding: 14px 16px; font-size: 16px; }
	.mr .mr-form__submit { margin-top: 44px; }
	.mr .mr-btn { width: 100%; max-width: 320px; height: 68px; font-size: 18px; }
	.mr .mr-notice--done { padding: 34px 20px; text-align: left; }
	.mr .mr-notice__title { font-size: 20px; text-align: center; }
}

@media screen and (max-width: 600px) {
	.mr .mr-cards { margin: -8px 0; }
	.mr .mr-card { width: 100%; max-width: 480px; margin: 8px 0; padding: 30px 24px 24px; }
}

@media screen and (max-width: 480px) {
	.mr .mr-wrap { padding: 0 16px; }
	.mr .mr-head__ja { font-size: 24px; }
	.mr .mr-lead { font-size: 18px; letter-spacing: .04em; }
	.mr .mr-point__title { font-size: 17px; letter-spacing: 0; }
	.mr .mr-table__cap { font-size: 17px; padding: 16px 18px; }
}

/* ---------- メイン画像（SP）：テーマ標準は右寄せでタイトルが子猫に重なるため、子猫を右へずらす ---------- */
@media screen and (max-width: 600px) {
	.entry-main-image.mr-mv { overflow: hidden; }
	.entry-main-image.mr-mv img { right: calc(22% - 212px); }
}
