/* Recruit */

.recruit_job h4 {
	margin-bottom: 1rem;
	font-size: 1.2em;
	font-weight: 500;
}
.recruit_job h4.title .recruit_num {
	display: inline-block;
	width: 36px;
	height: 36px;
	margin-right: 0.5rem;
	font-size: 1.2em;
	font-weight: 500;
	color: #fff;
	text-align: center;
	line-height: 36px;
	background: #00a2e7;
	border-radius: 50%;
}
.recruit_job h5 {
	margin-block: 1.5em;
	font-weight: 500;
}
.recruit_job_desc {
	margin-bottom: 2em;
}
.recruit_job:not(:last-of-type) {
	margin-bottom: 3em;
}
#recruit_jobs table {
	margin: 0 auto;
	width: 74%;
	width: 100%;
	border-top: solid 3px #00a2e7 !important;
}
#recruit_jobs .hidden table {
	display: none;
}
#recruit_jobs table,
#recruit_jobs th,
#recruit_jobs td {
	border: solid 1px #DDD;
	border-collapse: collapse;
	line-height: 1.8em;
}
#recruit_jobs th,
#recruit_jobs td {
	padding: 1em 1.5em;
	font-weight: normal !important;
	font-size: 0.9em;
}
#recruit_jobs tbody th {
	width: 24%;
	background: #FAFAFA;
}
#recruit_jobs tbody td {
	width: 76%;
}
#recruit_jobs table ul.note {
	margin-top: 0.5em;
}
#recruit_jobs table .note li {
	clear: both;
	margin-top: 0;
	font-size: 0.95em !important;
	line-height: 1.6em;
}
#recruit_jobs table ul {
	padding-left: 1.5em;
}
#recruit_jobs table li {
	list-style: disc;
}
#_recruit_jobs table tbody {
	display: none;
}
#recruit_jobs table thead {
	display: none;
	cursor: pointer;
}
.recruit_job_readmore .recruit_job_content {
	position: relative;
}
.recruit_job_readmore .recruit_job_table {
	position: relative;
	display: block;
	height: 300px;
	overflow: hidden;
}
.recruit_job_readmore .recruit_job_table::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	content: "";
	height: 50px;
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.readmore_label {
	display: none;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	padding-left: 30px;
	font-size: 1em !important;
	color: #00a2e7;
	background: url(../images/common/icon_open.png) no-repeat left center / 24px;
	cursor: pointer;
}
.recruit_job_readmore .readmore_label {
	display: inline-block;
}
.readmore_label::before {
	content: '詳しい募集要項を見る';
}

.readmore_check {
	display: none;
}
.readmore_check:checked ~ .readmore_label {
	background: url(../images/common/icon_close.png) no-repeat left center / 24px;
}
.readmore_check:checked ~ .readmore_label::before {
	display: none;
	/* content: '募集要項を閉じる'; */
}
/*チェック時に高さを自動に戻す*/
.readmore_check:checked ~ .recruit_job_table {
	/* padding-bottom: 3em; */
	height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore_check:checked ~ .recruit_job_table::before {
	display: none;
}

#recruit_form_wrapper {
	position: relative;
}
.recruit_workplace {
	display: block;
	margin-bottom: 0.15em;
	font-weight: 500;
	line-height: 1.6em;
}
.recruit_workplace:not(:first-of-type) {
	margin-top: 0.75em;
}
.recruit_workplace_address {
	display: block;
	line-height: 1.6em;
	font-size: 0.95em;
}
#recruit_form_side {
    float: left;
    /* position: sticky;
    top: 120px; */
    width: 30%;
}
#recruit_form_jobs {
	margin-bottom: 3em;
}
#recruit_form_jobs h3 {
    margin-bottom: 1.5em;
    font-size: 1.15em;
    font-weight: 500;
    line-height: 1.2em;
    color: #00a2e7;
}
._recruit_form_jobs_pane {
	float: left;
	width: 48%;
}
._recruit_form_jobs_pane:nth-of-type(even) {
	float: right;
}
._recruit_form_jobs_pane:nth-of-type(2n + 1) {
	clear: both;
}
._recruit_form_jobs_pane:nth-last-of-type(n + 3) {
	margin-bottom: 1em;
}
.recruit_form_jobs_pane:not(:last-of-type) {
	margin-bottom: 1em;
}
.recruit_form_jobs_pane a {
	display: block;
	position: relative;
	padding: 1em 60px 1em 1.2em;
	color: #fff !important;
	background: #00a2e7;
	border: 2px solid #00a2e7;
	border-radius: 8px;
	text-decoration: none;
	transition: all 250ms ease-in-out;
}
.recruit_form_jobs_pane a::before {
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%) rotate(180deg);
	content: '';
	width: 28px;
	height: 28px;
	background: #fff url(../images/common/icon_anchor_arrow.png) no-repeat center 7px / 15px;
	border: 1px solid #00a2e7;
	border-radius: 50%;
}
.recruit_form_jobs_pane a:hover {
	color: #00a2e7 !important;
	background: #fff;
}
.recruit_form_jobs_pane h4,
.recruit_form_jobs_pane h5 {
	line-height: 1.2em;
}
.recruit_form_jobs_pane h4 {
	font-size: 0.9em;
}
.recruit_form_jobs_pane h5 {
	margin-top: 0.8em;
	margin-top: 1.2em;
	font-size: 0.7em;
}
.recruit_form_jobs_pane h5 span {
	padding: 5px 0 0 0;
	border-top: solid 1px #fff;
}
.recruit_form_jobs_pane a:hover h5 span {
	border-top: solid 1px #00a2e7;
}

.recruit_form_jobs_pane h5 span:not(:last-of-type)::after{
	margin-left: 0.5em;
	content: '|';
}
.mw_wp_form #field_job .error {
	margin-top: 70px;
}


#recruit_form_main {
	float: right;
    width: 60%;
}
#recruit_form_summary {
    margin-bottom: 2em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #e4e4e4;
}
#recruit_form_summary p {
    font-size: 1.05em;
    line-height: 2em;
}
#recruit_interview_list .recruit_interview_pane {
	float: left;
	width: 48%;
	width: 23.5%;
}
#_recruit_interview_list .recruit_interview_pane:nth-of-type(even) {
	float: right;
}
#_recruit_interview_list .recruit_interview_pane:nth-of-type(2n + 1) {
	clear: both;
}
#_recruit_interview_list .recruit_interview_pane:nth-last-of-type(n + 3) {
	margin-bottom: 2em;
}
#recruit_interview_list .recruit_interview_pane:not(:nth-of-type(4n)) {
	margin-right: 2%;
}
#recruit_interview_list .recruit_interview_pane:nth-of-type(4n + 1) {
	clear: both;
}
#recruit_interview_list .recruit_interview_pane:nth-last-of-type(n + 5) {
	margin-bottom: 2em;
}
.recruit_interview_pane a {
	display: block;
	color: #00a2e7 !important;
	color: #fff !important;
	text-decoration: none;
}
.recruit_interview_pane_image {
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}
.recruit_interview_pane h4 {
	position: relative;
	padding: 1em 1.5em;
	padding-right: calc(40px + 2em);
	font-size: 1.5em;
	font-size: 1.15em;
	font-weight: 500;
	line-height: 1.4em;
	background: #00a2e7;
	border: 1px solid #00a2e7;
	border-top: none;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}
.recruit_interview_pane h4.smaller {
	font-size: 1.15em;
}
.recruit_interview_pane h4::before {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	content: '';
	width: 40px;
	height: 40px;
	background: #00a2e7 url(../images/common/icon_arrow_white.png) no-repeat center / 18px 9px;
	background: #fff url(../images/common/icon_arrow.png) no-repeat center / 18px 9px;
	border-radius: 50%;
	transition: all 250ms ease-in-out;
}
.recruit_interview_pane a:hover h4::before {
	transform: translateY(-50%) scale(1.2);
}
.recruit_interview_pane h4 span {
	display: block;
	font-size: 1.05rem;
	font-size: 0.95rem;
}

.interview_slides .swiper-controller {
	display: flex;
	gap: 1.6rem;
	align-items: center;
	justify-content: flex-end;
	margin-top: 3.2rem;
}
.interview_slides .swiper-pagination {
	display: flex;
	gap: 1rem 0.1rem;
	justify-content: flex-start;
	margin: 0 auto 0 0;
	text-align: center;
}
.interview_slides_button {
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	width: 20px;
	height: 30px;
}
.interview_slides_button.swiper-button-prev {
	float: left;
	margin-right: 2em !important;
	background: url(../images/common/icon_slide_prev.png) no-repeat center / 100%;
}
.interview_slides_button.swiper-button-next {
	float: right;
	background: url(../images/common/icon_slide_next.png) no-repeat center / 100%;
}
.interview_slides_button svg {
	display: none;
}
.interview_slides .swiper-pagination-bullet {
	width: 1.6rem;
	height: 3px;
	cursor: pointer;
	transition: all 250ms ease-in-out;
	vertical-align: top;
	background: #aaa;
	border-radius: 0;
}
.interview_slides .swiper-pagination-bullet-active {
	width: 4rem;
	background: #00a2e7;
}
.interview_slides .swiper-button-prev, .interview_slides .swiper-button-next {
	position: relative;
	flex-shrink: 0;
	margin: 0;
}
.interview_slides .swiper-button-disabled {
	pointer-events: none;
	opacity: 0.5;
}
.interview_slides .swiper-button-disabled::before {
	box-shadow: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
}

/** Interview **/

#interview_summary {
	margin-bottom: 4.5em !important;
}
#interview_summary .summary_content {
	padding-bottom: 0;
	border-bottom: none;
}
.summary_content_title li {
	float: left;
	font-size: 0.85em;
	line-height: 1.25em;
	color: #00a2e7;
}
.summary_content_title li:not(:last-of-type)::after {
	margin-left: 0.35em;
	padding-right: 0.35em;
	content: '|';
	color: #00a2e7;
}
#interview_summary .summary_content {
	margin-bottom: 4em;
}
#interview_image_main {
	border-radius: 33px;
	overflow: hidden;
}
#interview_talk_contents {
	float: left;
	width: 58%;
}
#interview_talk_contents h5 {
	margin-bottom: 2.5em;
	font-size: 1.2em;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
.interview_talk_q {
	position: relative;
	padding-left: 35px;
	margin-bottom: 1em;
	font-size: 1.05em;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	color: #00a2e7;
}
.interview_talk_q::before {
	position: absolute;
	top: -1px;
	left: 0;
	content: '';
	width: 25px;
	height: 25px;
	background: url(../images/common/icon_q.png) no-repeat center / 100%;
}
.interview_talk_lead {
	margin: 4em 0 2.5em 0;
	font-size: 1.25em;
	font-weight: 500;
	line-height: 1.8em;
}
.interview_talk_lead:first-of-type {
	margin-top: 0;
}
.interview_talk_a {
	margin-bottom: 2.5em;
	padding: 1em 1.3em 1.2em 1.2em;
	background: #f4f4f4;
	border-radius: 5px;
	/* margin-left: 0.2em;
	padding-left: 1.5em;
	border-left: 1px solid #ccc; */
}
.interview_talk_a:last-of-type {
	margin-bottom: 0;
}
#interview_talk_index {
	float: right;
	position: sticky;
	top: 150px;
	width: 35%;
	padding-left: 2em;
	border-left: 1px solid #00a2e7;
}
#interview_talk_index h3.title {
	position: relative;
	padding-left: 40px;
	font-size: 1.2em;
}
#interview_talk_index h3.title::before {
	position: absolute;
	top: 50%;
	top: 48%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 28px;
	height: 28px;
	background: url(../images/common/icon_q.png) no-repeat center / 100%;
}
#interview_talk_index li {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: 2;
	overflow: hidden;
	padding-left: 1rem;
	text-indent: -1rem;
	font-size: 0.85em;
	letter-spacing: 0.05em;
	line-height: 1.6em;
}
#interview_talk_index li:not(:last-of-type) {
	margin-bottom: 0.2em;
	margin-bottom: 0.75em;
}
#interview_talk_index li::before {
	margin-right: 0.5em;
	content: '-';
	color: #ccc;
}
#interview_talk_index li a {
	text-decoration: none;
}
.interview_talk_image {
	margin-bottom: 3em;
	border-radius: 10px;
	overflow: hidden;
}
#interview_talk .note {
	margin-top: 2.5em;
	font-size: 0.8em !important;
}

/* Sent */

.sent_heading {
    /* margin-bottom: 3.5em;
    padding-bottom: 3.5em;
    border-bottom: 1px solid #f4f4f4; */
    margin-bottom: 3em;
    text-align: center;
}
.sent_heading h3.title {
    font-size: 1.8em;
    line-height: 1.4em;
    color: #00a2e7;
}
.sent_heading h4 {
    font-size: 1.1em;
    line-height: 2.2em;
}
.sent_contact {
    padding: 2.5em 3em;
    margin-bottom: 3em;
    margin: 0 auto;
    width: 70%;
    background: #f4f4f4;
    border-radius: 10px;
    overflow: hidden;
}
.sent_contact li {
    float: left;
    width: 48%;
    text-align: center;
}
.sent_contact li .label {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5em;
    font-weight: 500;
}
.sent_contact li a {
    font-size: 1.3em;
    color: #00a2e7 !important;
    text-decoration: underline;
}
.sent_contact li:nth-of-type(even) {
    float: right;
}
#sent .more {
    text-align: center;
}

@media screen and (max-width: 1020px) and (min-width: 751px) {
	.recruit_interview_pane h4 span {
		font-size: 0.9rem;
	}
}