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

	Main visual │ メインビジュアル

--------------------------------------------------*/
#mv {padding-top: 30%;}
#mv::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	width: 79%;
	height: 100%;
	background: url(../img/page/job_openings/mv.webp) no-repeat top left / cover;
}
#mv .wrap {position: absolute;top: 50%;left: 8%;transform: translateY(-50%);}
#mv .wrap h1 {
	position: relative;
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding-bottom: clamp(10px, calc(10px + 5 * ((100vw - 375px) / 1545)), 15px);
	color: #909090;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	line-height: 1.2;
	letter-spacing: .06em;
}
#mv .wrap h1::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);
	height: clamp(2px, calc(2px + 2 * ((100vw - 375px) / 1545)), 4px);
	border-radius: 4px;
	background: #7AB6DB;
}
#mv .wrap p {
	color: #3A7CA5;
	font-weight: 500;
	font-size: clamp(28px, calc(28px + 20 * ((100vw - 375px) / 1545)), 48px);
	letter-spacing: .1em;
	line-height: 1.2;
}
@media only screen and ( max-width : 767px ) {
	#mv {padding-top: 60%;}
}
/*--------------------------------------------------

	List of Job Openings │ 募集職種一覧

--------------------------------------------------*/
#job_openings::before,
#job_openings::after {content: '';position: absolute;z-index: -1;height: 100%;}
#job_openings::before {top: 15%;left: -25%;width: 48%;background: url(../img/page/job_openings/bgL.webp) no-repeat top left / 100%;}
#job_openings::after {width: 40%;right: -20%;bottom: -10%;background: url(../img/page/job_openings/bgR.webp) no-repeat right bottom / 100%;}
#job_openings .inner {max-width: 1023px;}
#job_openings .title_common p {color: #BCBCBC;}
/*-------------------------------------------------

	List of Job Openings Search │ 検索機能

--------------------------------------------------*/
.search_block {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
.search_block form {display: flex;gap: 15px;}
.search_block ul {flex: 1;}
.search_block ul li {position: relative;width: 49%;}
.search_block ul li::before,
.search_block ul li::before {
	content: '';
	position: absolute;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	height: 100%;
	background: no-repeat center / 100%;
}
.search_block ul li:nth-child(1)::before {
	left: clamp(20px, calc(20px - 5 * ((100vw - 375px) / 1545)), 25px);
	width: clamp(15px, calc(15px + 3 * ((100vw - 375px) / 1545)), 18px);
	background-image: url(../img/page/job_openings/Icon_map.svg);
}
.search_block ul li:nth-child(2)::before {
	left: 18px;
	width: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	background-image: url(../img/page/job_openings/Icon_note.svg);
}
.search_block ul li .wrap::after {
    content: '';
    position: absolute;
    top: 22px;
    right: clamp(15px, calc(15px + 5 * ((100vw - 375px) / 1545)), 20px);
    width: 0;
    height: 0;
    border-top: 15px solid #2A6F97;
    border-left: 8.5px solid transparent;
    border-right: 8.5px solid transparent;
    pointer-events: none;
}
.search_block ul li .wrap select {
	position: relative;
	width: 100%;
	height: 57px;
	padding: 10px 20px 10px 60px;
	padding-left: clamp(50px, calc(50px + 10 * ((100vw - 375px) / 1545)), 60px);
	border: 1px solid #2A6F97;
	border-radius: 4px;
	background: #fff;
	font-size: clamp(12px, calc(12px + 4 * ((100vw - 375px) / 1545)), 14px);
	letter-spacing: .1em;
	cursor: pointer;
}
.search_block button {
	width: 120px;
	border: none;
	border-radius: 4px;
	background: linear-gradient(45deg, #71A1BF, #4384AD);
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: .1em;
	text-align: center;
	transition: .3s;
}
@media only screen and ( max-width : 767px ) {
	.search_block form {display: block;}
	.search_block button {display: block;width: 100%;max-width: 300px;margin: 20px auto 0;padding: 20px 0;border-radius: 50px;}
}
@media only screen and ( max-width : 500px ) {
	.search_block ul {gap: 10px;}
	.search_block ul li {width: 100%;}
	.search_block ul li .wrap::after {top: 24px;border-top-width: 11px;border-left-width: 7.5px;border-right-width: 7.5px;}
}
/*--------------------------------------------------

	Recruitment Common │ 募集職種共通部分

--------------------------------------------------*/
.rec_common p.num {
	margin-bottom: 20px;
	color: #2A6F97;
	font-size:  clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .1em;
}
.rec_common p.num span {margin-right: 10px;font-size: 2em;}
.rec_common .rec_container {
	position: relative;
	margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);
	padding: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	padding-top: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	border: 1px solid #3A7CA5;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}
.rec_common .rec_container:last-child {margin-bottom: 0;}
.rec_common .rec_container .ttl_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	margin-bottom: clamp(20px, calc(20px + 15 * ((100vw - 375px) / 1545)), 35px);
	padding-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
}
.rec_common .rec_container .ttl_wrap::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	border-bottom: 1px solid #3A7CA5;
}
.rec_common .rec_container .ttl_wrap h3 {
	flex: 1;
	margin-right: 10px;
	color: #2A6F97;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .1em;
}
.rec_common .rec_container .ttl_wrap p {
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding-top: clamp(4px, calc(4px + 4 * ((100vw - 375px) / 1545)), 8px);
	padding-bottom: clamp(3px, calc(3px + 3 * ((100vw - 375px) / 1545)), 6px);
	border: 1px solid #3A7CA5;
	border-radius: 4px;
	color: #3A7CA5;
	letter-spacing: .1em;
	text-align: center;
}
.rec_common .rec_container .ttl_wrap p a {color: #3A7CA5;}
.rec_common .rec_container .txt_wrap {margin-bottom: clamp(15px, calc(15px + 15 * ((100vw - 375px) / 1545)), 30px);}
.rec_common .rec_container .txt_wrap .content {width: 48%;}
.rec_common .rec_container .txt_wrap table {width: 48%;}
.rec_common .rec_container .txt_wrap table tr {
	display: block;
	padding-top: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background : linear-gradient(to right, #3A7CA5 1px, transparent 1px) repeat-x left bottom / 3px 1px;
}
.rec_common .rec_container .txt_wrap table tr:first-child {
	background : 
		linear-gradient(to right, #3A7CA5 1px, transparent 1px) repeat-x left top / 3px 1px,
		linear-gradient(to right, #3A7CA5 1px, transparent 1px) repeat-x left bottom / 3px 1px;
}
.rec_common .rec_container .txt_wrap table tr th {
	width: clamp(100px, calc(100px + 60 * ((100vw - 375px) / 1545)), 160px);
	padding-left: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
	font-weight: bold;
	letter-spacing: .1em;
	vertical-align: middle;
}
.rec_common .rec_container .txt_wrap table tr td {
	font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);
	letter-spacing: .1em;
}
ul.button_wrap li {width: 48%;}
ul.button_wrap li a {
	display: block;
	padding: 20px 10px;
	border-radius: 2em;
	color: #3A7CA5;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .1em;
	text-align: center;
}
ul.button_wrap li.detail a {border: 1px solid #3A7CA5;}
ul.button_wrap li.apply a {background: linear-gradient(45deg, #71A1BF, #4384AD);color: #fff;}
/* pager */
.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
}
.wp-pagenavi a,
.wp-pagenavi span {padding: 0!important;border: none !important;font-weight: 400 !important;line-height: 1.2;text-align: center;}
.wp-pagenavi span.current {position: relative;color: #2A6F97;}
.wp-pagenavi span.current::before {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #2A6F97;
}
.wp-pagenavi a:hover {color: #2A6F97;}
@media only screen and ( max-width : 767px ) {
	.rec_common .rec_container .txt_wrap figure {width: 100%;margin-bottom: 10px;}
	.rec_common .rec_container .txt_wrap table {width: 100%;}
	.rec_common .rec_container .button_wrap {grid-template-columns: repeat(1, 1fr);width: 100%;}
}
@media only screen and ( max-width : 767px ) {
    .rec_common .rec_container {padding: 15px;}
	.rec_common .rec_container .ttl_wrap {flex-direction: column-reverse;margin-bottom: 20px;}
	.rec_common .rec_container .ttl_wrap p {margin-bottom: 10px;}
    .rec_common .rec_container .title_wrap {flex-direction: column;align-items: center;text-align: center;}
    .rec_common .rec_container .title_wrap h2 {margin-right: 0;margin-bottom: 10px;text-align: center;}
    .rec_common .rec_container .txt_wrap {margin-bottom: 20px;}
    .rec_common .rec_container .txt_wrap .content {width: 100%;margin-bottom: 10px;}
    .rec_common .rec_container .txt_wrap .content figure {margin-bottom: 10px;}
    .rec_common .rec_container .txt_wrap table tr {display: flex;flex-direction: column;padding: 10px;}
    .rec_common .rec_container .txt_wrap table tr th {width: 100%;margin-bottom: 5px;padding-left: 0;}
    ul.button_wrap {gap: 10px;}
    ul.button_wrap li {width: 100%;}
    ul.button_wrap li a span::before {left: -30px;width: 20px;}
}
/*--------------------------------------------------

	Recruitment single │ 記事詳細ページ

--------------------------------------------------*/
#single .inner {max-width: 1240px;}
#single .rec_common {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#single .rec_common .rec_container ul.button_wrap li {margin: 0 auto;}
#single .block .single_block table {
	margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	border: 1px solid #9D9D9D;
}
#single .block .single_block table tr {
	display: block;
	padding-top: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	padding-right: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	background : linear-gradient(to right, #707070 1px, transparent 1px) repeat-x left bottom / 3px 1px;
}
#single .block .single_block table tr:last-child {background: none;}
#single .block .single_block table tr th {
	width: clamp(200px, calc(200px + 200 * ((100vw - 375px) / 1545)), 400px);
	padding-left: clamp(50px, calc(50px + 100 * ((100vw - 375px) / 1545)), 150px);
	font-weight: bold;
	vertical-align: middle;
}
#single .block .single_block ul.button_wrap li {margin: 0 auto;}
@media only screen and (max-width: 767px) {
    #single .block .single_block table tr {display: flex;flex-direction: column;padding: 20px 15px;}
	#single .block .single_block table tr:last-child {border-bottom: none;}
    #single .block .single_block table tr th {width: 100%;margin-bottom: 10px;padding-left: 0;text-align: center;}
    #single .block .single_block table tr td {width: 100%;text-align: left;}
    #single .block .single_block .entry_wrap a {display: block;width: 100%;max-width: 280px;margin: 0 auto;}
    #single .block .single_block .entry_wrap a img {width: 100%;height: auto;}
}







/*--------------------------------------------------

	Requirement │ 募集職種

--------------------------------------------------*/
#requirement .blockR {
	flex: 1;
	padding-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);
}
#requirement .blockR .inner {max-width: 1020px;}
#requirement ul.breadcrumb_nav {display: flex;flex-wrap: wrap;align-items: center;gap: 6px;padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px) 0 0;font-size: 14px;}
#requirement #block1 {padding-top: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#requirement ul.breadcrumb_nav li:not(:last-child) {position: relative;padding-right: 18px;}
#requirement ul.breadcrumb_nav li:not(:last-child)::after {content: '＞';position: absolute;right: 0;color: #999;}
#requirement ul.breadcrumb_nav li a {color: #606060;}
#requirement ul.breadcrumb_nav li a:hover {opacity: .5;}
#requirement ul.breadcrumb_nav li span {color: #3A7CA5;}
#requirement .title_common p {margin-bottom: 0;text-align: left;}
#requirement .title_common p::before {left: 0;transform: none;}
#requirement ul.breadcrumb {display: flex;flex-wrap: wrap;align-items: flex-end;gap: 10px;margin-bottom: clamp(50px, calc(50px + 70 * ((100vw - 375px) / 1545)), 120px);}
#requirement ul.breadcrumb li span {color: #3A7CA5;font-size: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px); line-height: 1.5;}
#requirement h3.table_title {margin-bottom: 20px;padding-bottom: 12px;border-bottom: 2px solid #3A7CA5;color: #3A7CA5;font-size: clamp(18px, calc(18px + 4 * ((100vw - 375px) / 1545)), 22px);font-weight: 700;letter-spacing: .05em;}
#requirement table {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);}
#requirement table tr {display: block;padding: 20px 0;border-bottom: 1px solid #BBB;}
#requirement table tr:first-child {padding-top: 0;}
#requirement table tr:last-child {padding-bottom: 0;border-bottom: none;}
#requirement table tr th {
	width: clamp(120px, calc(120px + 60 * ((100vw - 375px) / 1545)), 180px);
	font-weight: 700;
	letter-spacing: .1em;
	vertical-align: top;
}
#requirement table tr td {color: #333;}
#requirement table tr td ul li {position: relative;padding-left: 20px;}
#requirement table tr td ul.square li::before {
	content: '';
	position: absolute;
	top: clamp(4.4px, calc(4.4px + 3.4 * ((100vw - 375px) / 1545)), 7.8px);
	left: 0;
	width: 15px;
	height: 15px;
	background: #333;
}
#requirement table tr td ul.asterisk li::before {content: '※';position: absolute;top: 0;left: 0;}
#requirement table tr td dl dt {float: left;}
#requirement table tr td dl dd {padding-left: 100px;}
#requirement .entry_content {
	margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	line-height: 1.8;
}
#requirement .entry_content p {margin-bottom: 1em;}
#requirement .entry_content p:last-child {margin-bottom: 0;}
#requirement .entry_content h3 {
	margin: 1.5em 0 .6em;
	padding: .3em 0;
	color: #3A7CA5;
	font-size: clamp(18px, calc(18px + 4 * ((100vw - 375px) / 1545)), 22px);
	font-weight: 700;
	line-height: 1.5;
}
#requirement .entry_content h4 {
	margin: 1.8em 0 .7em;
	padding: .4em .8em;
	background: #ECF6FA;
	border-radius: 4px;
	font-size: clamp(16px, calc(16px + 2 * ((100vw - 375px) / 1545)), 18px);
	font-weight: 700;
	line-height: 1.5;
}
#requirement .entry_content h5 {
	margin: 1.5em 0 .5em;
	color: #3A7CA5;
	font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);
	font-weight: 700;
	line-height: 1.5;
}
#requirement .entry_content h3:first-child,
#requirement .entry_content h4:first-child,
#requirement .entry_content h5:first-child {margin-top: 0;}
#requirement a.entry {
	display: block;
	padding: 30px 0;
	border: 2px solid #5D9ABF;
	border-radius: 50px;
	background: #5D9ABF;
	color: #fff;
	font-weight: 700;
	font-size: clamp(18px, calc(18px + 8 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .06em;
	text-align: center;
}
#requirement a.entry:hover {background: #fff;color: #5D9ABF;}
#other_job {background: #FAF8F5;}
#other_job h2 {
	margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	color: #5D9ABF;
	font-weight: 700;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .1em;
	text-align: center;
}
#other_job ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;}
#other_job ul li {position: relative;}
#other_job ul li figure {margin-bottom: 20px;}
#other_job ul li h3 {
	position: relative;
	padding: 20px 0;
	border: 2px solid #87B5D1;
	border-radius: 40px;
	background: #fff;
	color: #3A7CA5;
	font-size: 16px;
	letter-spacing: .02em;
	text-align: center;
	transition: .3s;
}
#other_job ul li:hover h3 {background: #87B5D1;color: #fff;}
@media only screen and ( max-width : 767px ) {
	#requirement table tr th {display: block;width: 100%;margin-bottom: 5px;}
	#other_job ul {grid-template-columns: repeat(2, 1fr);}
}
@media only screen and ( max-width : 500px ) {
	#other_job ul {grid-template-columns: 1fr;}
}
/*--------------------------------------------------

	Overview │ クリニック概要

--------------------------------------------------*/
#overview {
	box-shadow: 0 0 99px rgba(174, 203, 213, .2);
	border-radius: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 40px) clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 40px) 0 0;
	background: #fff;
}