@charset "UTF-8";

/* ======================================
   jobOfferHeader
====================================== */
#jobOfferHeader {
	width : 100%;
	padding : 75px 20px;
	border-top : #1684b2 solid 4px;
}

#jobOfferHeader > .inner {
	display : flex;
	justify-content : space-between;
	max-width : 1200px;
	margin : 0 auto;
}

#jobOfferHeader .jobOfferHeader_title {
	font-family : "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
	"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif;
	font-size : 1.875rem;
	font-weight : 700;
	line-height : 1.45;
	flex-basis : 83.33333%;
	color : #334666;
}

#jobOfferHeader .jobOfferHeader-right {
	font-size : 0.75rem;
	flex-grow : 1;
	margin-top : 10px;
	text-align : right;
	color : #444444;
}

/* ======================================
   jobOfferDetail
====================================== */
#pageBody > #contents {
	padding-top : 0;
	padding-bottom : 150px;
}
#pageBody > #contents.notfound {
	padding : 60px 0 120px;
}
#pageBody > #contents.notfound > .inner {
	font-size : 1.2em;
	padding : 100px 0;
	text-align : center;
	background-color : #ffffff;
}
.jobOfferDetail_category {
	width : 100%;
	margin-bottom : 40px;
	background-color : #d9f0fa;
}

.jobOfferDetail_category > .inner {
	display : flex;
	justify-content : space-between;
	align-items : center;
	max-width : 1200px;
	margin : 0 auto;
	padding : 20px;
}

.jobOfferDetail_category > .inner .inner-left {
	flex-grow : 1;
	margin-top : 12px;
}
.jobOfferDetail_category > .inner .inner-left::after {
	display : block;
	clear : both;
	content : "";
}
.jobOfferDetail_category > .inner .inner-left > .new {
	display : inline-block;
	font-family : Futura, "Century Gothic", "Questrial", sans-serif;
	font-size : 16px;
	font-weight : 600;
	line-height : 1.25;
	float : left;
	margin : 0 18px 12px 0;
	padding : 8px 12px;
	color : #ffffff;
	background-color : #dc2a2a;
	white-space : nowrap;
}

.jobOfferDetail_category > .inner .inner-left > .jobkind {
	display : inline;
	float : left;
	margin-bottom : 12px;
}
.jobOfferDetail_category > .inner .inner-left > .jobkind > li {
	display : inline-block;
	font-size : 20px;
	line-height : 1.25;
	margin-right : 18px;
	padding : 6px 0;
	color : #1684b2;
}

.jobOfferDetail_category > .inner .inner-left > .feature {
	display : inline;
	float : left;
}
.jobOfferDetail_category > .inner .inner-left > .feature > li {
	display : inline-block;
	font-size : 16px;
	line-height : 1.25;
	margin-right : 18px;
	padding : 6px 8px;
	color : #1684b2;
	border : #1684b2 solid 1px;
	background-color : #ffffff;
}

.jobOfferDetail_category > .inner .linkBtn {
	font-size : 1rem;
	width : 230px;
	padding : 20px 0;
}

.jobOfferDetail_category > .inner .linkBtn::after {
	display : none;
}

.jobOfferDetail_main {
	margin-bottom : 70px;
	padding : 32px;
	background-color : #ffffff;
}
.jobOfferDetail_main > h2 {
	font-size : 1.6em;
	font-weight : 700;
	margin-bottom : 35px;
	padding : 20px 30px;
	color : #ffffff;
	background-color : #1684b2;
}

.jobOfferDetail_main #recruitInfo {
	display : flex;
	flex-wrap : wrap;
	border-bottom : #1684b2 solid 1px;
}

.jobOfferDetail_main #recruitInfo > dt {
	font-size : 1.4em;
	font-weight : bold;
	flex-basis : 20%;
	padding : 32px;
	color : #1684b2;
	border-top : #1684b2 solid 1px;
	background-color : #ecf2f4;
}

.jobOfferDetail_main #recruitInfo > dd {
	font-size : 1.2em;
	line-height : 1.75;
	flex-basis : 61%;
	flex-grow : 1;
	padding : 32px;
	border-top : #1684b2 solid 1px;
}
.jobOfferDetail_main #recruitInfo > dd > * {
	line-height : 1.75;
}
.jobOfferDetail_main #recruitInfo > dd > *:not(:last-child) {
	margin-bottom : 1em;
}
.jobOfferDetail_main #recruitInfo > dd span.necessary {
	display : inline-block;
	font-size : 0.8em;
	font-weight : bold;
	margin : 0 0.75em 0.75em 0;
	padding : 0.5em 0.75em;
	background-color : #ffe045;
}
.jobOfferDetail_main #recruitInfo > dd span.welcome {
	display : inline-block;
	font-size : 0.8em;
	font-weight : bold;
	margin : 0 0.75em 0.75em 0;
	padding : 0.5em 0.75em;
	color : #ffffff;
	background-color : #1ebfa1;
}
.jobOfferDetail_main #recruitInfo > dd span.station {
	display : inline-block;
	font-size : 0.8em;
	font-weight : bold;
	margin : 0 0.75em 0.75em 0;
	padding : 0.5em 0.75em;
	color : #ffffff;
	background-color : #1684b2;
}
.jobOfferDetail_main #recruitInfo > dt.detail {
	display : flex;
	font-size : 1.6em;
	flex-basis : 100%;
	align-items : center;
	margin-bottom : 24px;
	padding : 0;
	padding-bottom : 24px;
	border : none;
	border-bottom : 1px solid #cccccc;
	background-color : transparent;
}
.jobOfferDetail_main #recruitInfo > dd.detail {
	line-height : 1.45;
	flex-basis : 100%;
	margin-bottom : 32px;
	padding : 0;
	border : none;
}
.jobOfferDetail_main #recruitInfo > dd.detail .summary {
	font-weight : bold;
	margin-bottom : 1em;
}
.jobOfferDetail_main #recruitInfo > dd.seeking > *,
.jobOfferDetail_main #recruitInfo > dd.location > * {
	line-height : 1.45;
	margin-bottom : 1em;
}
.jobOfferDetail_main #recruitInfo > dd.seeking > *:last-child,
.jobOfferDetail_main #recruitInfo > dd.location > *:last-child {
	margin-bottom : 0;
}

.jobOfferDetail_consultant {
	margin-bottom : 60px;
	padding : 32px 32px 32px 200px;
	background-color : #e7e7e7;
	background-image : url(/wp/wp-content/themes/tenshokusekkei/recruit_detail/img/img_consultant.png),
	url(/wp/wp-content/themes/tenshokusekkei/common/img/bg_line_oblique_4px_alpha100.png);
	background-repeat : no-repeat, repeat;
	background-position : 32px 16px, 0 0;
}
.jobOfferDetail_consultant > .inner {
	position : relative;
	padding : 1.8em;
	border-radius : 1em;
	background-color : #ffffff;
}
.jobOfferDetail_consultant > .inner::before {
	display : inline-block;
	position : absolute;
	top : 32px;
	left : -16px;
	content : "";
	border-top : 16px solid transparent;
	border-right : 16px solid #ffffff;
	border-bottom : 16px solid transparent;
}
.jobOfferDetail_consultant h3 {
	font-size : 1rem;
	font-weight : bold;
	margin-bottom : 0.8em;
	color : #1684b2;
}
.jobOfferDetail_consultant p {
	font-size : 1rem;
	line-height : 1.8;
}

/* jobOfferDetail_point */
.jobOfferDetail_point {
	display : flex;
	position : relative;
	margin : 0 30px 55px;
	border-radius : 14px;
	background-color : #ffffff;
}
.jobOfferDetail_point::before {
	display : flex;
	position : absolute;
	top : -30px;
	left : -30px;
	font-family : Futura, "Century Gothic", "Questrial", sans-serif;
	font-size : 1rem;
	font-weight : 600;
	justify-content : center;
	align-items : center;
	width : 90px;
	height : 90px;
	content : "POINT";
	letter-spacing : 0.05em;
	color : #1684b2;
	border : #1684b2 solid 5px;
	border-radius : 100px;
	background-color : #fbcf49;
}
.jobOfferDetail_point > h3 {
	display : flex;
	font-family : "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
	"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif;
	font-size : 1rem;
	font-weight : 700;
	flex-basis : 21.92982%;
	justify-content : center;
	align-items : center;
	color : #ffffff;
	border-radius : 14px 0 0 14px;
	background-color : #1684b2;
}
.jobOfferDetail_point > div {
	font-size : 1rem;
	line-height : 1.8;
	flex-basis : 60%;
	flex-grow : 1;
	padding : 50px;
	border-radius : 0 14px 14px 0;
	box-shadow : inset 0 0 0 5px #1684b2;
}

/* jobOfferDetail_company */
.jobOfferDetail_company {
	margin : 40px 0 70px;
	padding : 32px;
	background-color : #ffffff;
}
.jobOfferDetail_company > h3 {
	font-family : "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
	"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif;
	font-size : 1.375rem;
	font-weight : 700;
	margin-bottom : 35px;
	padding : 20px 30px;
	color : #ffffff;
	background-color : #1684b2;
}
.jobOfferDetail_company .campany {
	display : flex;
	font-size : 1rem;
	flex-wrap : wrap;
	border-bottom : #1684b2 solid 1px;
}
.jobOfferDetail_company .campany > dt {
	font-family : "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
	"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif;
	font-weight : 700;
	flex-basis : 20%;
	padding : 24px;
	color : #1684b2;
	border-top : #1684b2 solid 1px;
	background-color : #d2ecf7;
}

.jobOfferDetail_company .campany > dd {
	line-height : 1.75;
	flex-basis : 61%;
	flex-grow : 1;
	padding : 24px;
	border-top : #1684b2 solid 1px;
}

.jobOfferDetail_company .campany > dd strong {
	font-weight : 700;
}

.jobOfferDetail_company .campany > dd p + p {
	margin-top : 30px;
}

.jobOfferDetail_relation {
	margin-bottom : 40px;
}
.jobOfferDetail_relation iframe {
	overflow : hidden;
	width : 100%;
	height : 0;
}
.jobOfferDetail_relation > .message {
	display : flex;
	justify-content : center;
}
.jobOfferDetail_relation > .message > .inner {
	display : block;
	margin : 0 auto;
	margin-bottom : 1.4em;
	padding : 1.4em;
	text-align : center;
	color : #1684b2;
	border : 2px solid #1684b2;
	background-color : #ffffff;
}
.jobOfferDetail_relation > .message > .inner > h5 {
	font-weight : bold;
	margin-bottom : 1em;
}
.jobOfferDetail_relation .relation_heading {
	font-family : "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
	"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif;
	font-size : 1.375rem;
	font-weight : 700;
	margin-bottom : 30px;
	padding : 20px 30px;
	color : #ffffff;
	background-color : #1684b2;
}

.jobOfferDetail_relation .relationContainer {
	position : relative;
	margin-bottom : 70px;
}

.jobOfferDetail_relation .relationContainer .swiper-slide {
	height : auto;
	padding : 10px 0;
}

.jobOfferDetail_relation .relationContainer .swiper-button-next::after {
	content : "\e5cc";
}

.jobOfferDetail_relation .relationContainer .swiper-button-next,
.jobOfferDetail_relation .relationContainer .swiper-button-prev {
	z-index : 9;
	position : static;
}

.jobOfferDetail_relation .relationContainer .swiper-button-next::after,
.jobOfferDetail_relation .relationContainer .swiper-button-prev::after {
	position : relative;
	font-family : "Material Icons";
	height : 24px;
	color : #888888;
}

.jobOfferDetail_relation .relationContainer .swiper-button-prev::after {
	content : "\e5cb";
}

.jobOfferDetail_relation .relationContainer .slider-pagination-wrapper {
	display : flex;
	position : relative;
	justify-content : center;
	align-items : center;
	padding-top : 20px;
}

.jobOfferDetail_relation .relationContainer .swiper-pagination {
	z-index : 9;
	position : static;
}

.jobOfferDetail_relation .relationContainer .swiper-pagination-bullet {
	width : 12px;
	height : 12px;
	margin : 0 6px;
}

.jobOfferDetail_relation .relationContainer .swiper-pagination-bullet-active {
	background : #334666;
}

.jobOfferDetail_relation .relationContainer .relationSlider {
	position : relative;
}
.swiper-wrapper {
	height : auto !important;
}
.jobOfferDetail_relation .relationContainer .relationSlider_item {
	display : flex;
	position : relative;
	flex-direction : column;
	height : 100%;
	transition : 0.2s ease-in-out;
	text-decoration : none;
	border-radius : 6px;
	box-shadow : 0 2px 8px rgba(0, 0, 0, 0.2);
}

.jobOfferDetail_relation .relationContainer .relationSlider_item.new::before {
	position : absolute;
	top : 0;
	left : 20px;
	width : 35px;
	height : 15px;
	content : "";
	transform : translateY(-50%);
	background : url(/wp/wp-content/themes/tenshokusekkei/common/img/icon_new.svg)
	no-repeat center center;
}

.jobOfferDetail_relation .relationContainer .relationSlider_item-top {
	flex-grow : 1;
	padding : 20px;
	border-radius : 6px 6px 0 0;
	background-color : #ffffff;
}

.jobOfferDetail_relation .relationContainer .relationSlider_item-top .access {
	line-height : 1.45;
	margin-bottom : 10px;
}

.jobOfferDetail_relation .relationContainer .relationSlider_item-top .title {
	font-family : "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
	"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", sans-serif;
	font-size : 1rem;
	font-weight : 700;
	line-height : 1.5;
	margin-bottom : 10px;
	color : #334666;
}

.jobOfferDetail_relation .relationContainer .relationSlider_item-top .work {
	line-height : 1.45;
}

.jobOfferDetail_relation .relationContainer .relationSlider_item-bottom {
	padding : 15px 20px;
	color : #ffffff;
	border-radius : 0 0 6px 6px;
	background-color : #a79970;
}

.jobOfferDetail_relation
	.relationContainer
	.relationSlider_item-bottom
	.salary {
	position : relative;
	line-height : 1.45;
	padding-left : 20px;
}

.jobOfferDetail_relation
	.relationContainer
	.relationSlider_item-bottom
	.salary::before {
	position : absolute;
	top : 0.2em;
	left : 0;
	width : 13px;
	height : 13px;
	content : "";
	background : url(/wp/wp-content/themes/tenshokusekkei/common/img/icon_yen.svg)
	no-repeat center center;
}

.jobOfferDetail_relation .contact_heading {
	font-size : 1.5rem;
	font-weight : 700;
	line-height : 1.45;
	margin-bottom : 40px;
	text-align : center;
	color : #1684b2;
}

.jobOfferDetail_relation .contact_heading > span {
	display : inline-block;
	position : relative;
}

.jobOfferDetail_relation .contact_heading > span::before {
	z-index : 0;
	position : absolute;
	bottom : 0;
	width : 100%;
	height : 10px;
	content : "";
	background-color : #fbcf49;
}

.jobOfferDetail_relation .contact_heading > span > span {
	position : relative;
}

.jobOfferDetail_relation .contact_text {
	font-size : 1rem;
	max-width : 815px;
	margin : 0 auto 25px;
}

.jobOfferDetail_relation .linkBtn {
	font-size : 1.5rem;
	line-height : 1.2;
	width : 460px;
	margin : 0 auto;
	padding : 25px 40px;
}

.jobOfferDetail_relation .linkBtn::after {
	right : 25px;
	font-size : 1.875rem;
}

.jobOfferDetail_relation .linkBtn span {
	font-size : 1.125rem;
}

#jobOfferDetail_contact {
	display : flex;
	z-index : 99;
	position : fixed;
	bottom : 0;
	left : 0;
	justify-content : center;
	align-items : center;
	width : 100%;
	height : 70px;
	background-color : rgba(255, 255, 255, 0.9);
	box-shadow : 0 0 4px rgba(0, 0, 0, 0.1);
}
#jobOfferDetail_contact a {
	display : inline-block;
	position : relative;
	font-size : 1rem;
	font-weight : bold;
	line-height : 1.1;
	width : 80%;
	max-width : 460px;
	margin : 0 auto;
	padding : 0.5em 0;
	transition : 0.2s ease-out;
	text-align : center;
	text-decoration : none;
	text-shadow : 1px 1px 5px rgb(0 0 0 / 30%), -1px 1px 5px rgb(0 0 0 / 30%);
	color : #ffffff;
	border-radius : 6px;
	background-color : #ffa213;
	box-shadow : 0 2px 8px rgb(0 0 0 / 20%);
}
#jobOfferDetail_contact a:hover {
	background-color : #ef7900;
}
#jobOfferDetail_contact a::after {
	position : absolute;
	top : 50%;
	right : 10px;
	font-family : "Material Icons";
	font-size : 1.125rem;
	content : "\e5cc";
	transform : translateY(-50%);
	text-shadow : 0 2px 8px rgb(0 0 0 / 20%);
}
#jobOfferDetail_contact a span {
	font-size : 0.75em;
}

@media screen and (max-width: 767px) {
	#pageBody > #contents {
		padding-bottom : 60px;
	}
	#pageBody > #contents.notfound {
		padding : 30px 0 0;
	}
	#searchList {
		padding-bottom : 0;
	}
	#jobOfferHeader {
		padding : 30px 0;
	}
	#jobOfferHeader > .inner {
		flex-direction : column;
		width : 100%;
		padding : 0 20px;
	}
	#jobOfferHeader .jobOfferHeader_title {
		font-size : 1.25rem;
		flex-basis : auto;
	}
	.jobOfferDetail_category > .inner {
		display : block;
		padding : 20px;
	}
	.jobOfferDetail_category > .inner .linkBtn {
		width : auto;
	}
	.jobOfferDetail_category > .inner .inner-left {
		display : block;
		margin-bottom : 16px;
	}
	.jobOfferDetail_main {
		padding : 16px;
	}
	.jobOfferDetail_main #recruitInfo {
		display : block;
	}
	.jobOfferDetail_main > h3 {
		font-size : 1.2em;
		margin-bottom : 24px;
		padding : 16px;
	}
	.jobOfferDetail_main #recruitInfo > dt {
		font-size : 1em;
		padding : 16px;
	}
	.jobOfferDetail_main #recruitInfo > dd {
		font-size : 1em;
		padding : 16px 8px;
	}

	.jobOfferDetail_main #recruitInfo > dt.detail {
		font-size : 1.2em;
		margin-bottom : 1em;
		padding-bottom : 1em;
	}

	.jobOfferDetail_consultant {
		margin-bottom : 60px;
		padding : 0;
		background-color : transparent;
		background-image : none;
	}
	.jobOfferDetail_consultant > .inner::before {
		display : none;
	}
	.jobOfferDetail_consultant h3 {
		font-size : 1.4em;
		padding : 0.7em 0 0.7em 3em;
		background : url(/wp/wp-content/themes/tenshokusekkei/recruit_detail/img/img_consultant_sp.png)
		no-repeat;
		background-size : contain;
	}

	.jobOfferDetail_point {
		flex-direction : column;
		margin : 0 0 55px;
	}
	.jobOfferDetail_point::before {
		top : -45px;
		left : -15px;
		width : 80px;
		height : 80px;
	}
	.jobOfferDetail_point > h3 {
		flex-basis : auto;
		padding : 20px 0;
		border-radius : 14px 14px 0 0;
	}
	.jobOfferDetail_point > div {
		font-size : 1em;
		flex-basis : auto;
		padding : 30px;
		border-radius : 0 0 14px 14px;
	}

	.jobOfferDetail_company {
		padding : 16px;
		background-color : #ffffff;
	}
	.jobOfferDetail_company > h3 {
		font-size : 1.2em;
		margin-bottom : 24px;
		padding : 16px;
	}
	.jobOfferDetail_company .campany {
		display : block;
	}
	.jobOfferDetail_company .campany > dt {
		font-size : 1em;
		padding : 16px;
	}
	.jobOfferDetail_company .campany > dd {
		font-size : 1em;
		padding : 16px 8px;
	}

	.jobOfferDetail_relation .linkBtn {
		font-size : 1.25rem;
		width : 100%;
		padding : 25px;
	}
	.jobOfferDetail_relation .linkBtn::after {
		right : 10px;
	}
	.jobOfferDetail_relation .linkBtn span {
		font-size : 1rem;
	}
	#jobOfferDetail_contact {
		padding-right : 70px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	#searchList .jobOfferResult_item .job {
		display : block;
		margin-bottom : 30px;
	}
	#searchList .jobOfferResult_item .job > dt {
		padding : 10px 20px;
	}
	#searchList .jobOfferResult_item .job > dd {
		padding : 20px 0;
	}
	#jobOfferHeader {
		padding : 50px 0;
	}
	#jobOfferHeader > .inner {
		flex-direction : column;
		width : 100%;
		padding : 0 20px;
	}
	#jobOfferHeader .jobOfferHeader_title {
		font-size : 1.5rem;
		flex-basis : auto;
	}
	.jobOfferDetail_point {
		flex-direction : column;
	}
	.jobOfferDetail_point > h3 {
		flex-basis : auto;
		padding : 20px 0;
		border-radius : 14px 14px 0 0;
	}
	.jobOfferDetail_point > div {
		flex-basis : auto;
		border-radius : 0 0 14px 14px;
	}
}

/* ======================================
   関連求人セクション
====================================== */
.jobOfferDetail_relevant {
	margin-bottom : 40px;
	padding : 24px;
	background-color : #ffffff;
	border : 1px solid #e0e0e0;
	border-radius : 8px;
	box-shadow : 0 2px 8px rgba(0, 0, 0, 0.1);
}

.relevant_section > h3 {
	font-size : 1.6em;
	font-weight : bold;
	margin-bottom : 24px;
	padding : 12px 16px;
	color : #1684b2;
	border-left : 4px solid #1684b2;
	background-color : #f7fafb;
	border-radius : 4px;
}

.relevant_section > h3 .icon {
	margin-right : 8px;
	font-style : normal;
}

.relevant_group {
	margin-bottom : 32px;
}

.relevant_group:last-child {
	margin-bottom : 0;
}

.relevant_group > h4 {
	font-size : 1.2em;
	font-weight : bold;
	margin-bottom : 16px;
	padding : 8px 12px;
	color : #ffffff;
	background-color : #1684b2;
	border-radius : 4px;
}

.relevant_cards {
	display : grid;
	grid-template-columns : repeat(auto-fit, minmax(280px, 1fr));
	grid-gap : 20px;
}

.relevant_card {
	background-color : #ffffff;
	border : 1px solid #e0e0e0;
	border-radius : 8px;
	box-shadow : 0 2px 6px rgba(0, 0, 0, 0.08);
	transition : all 0.3s ease;
	overflow : hidden;
	display : flex;
	flex-direction : column;
	height : 100%;
	min-height : 350px;
}

.relevant_card:hover {
	box-shadow : 0 4px 12px rgba(0, 0, 0, 0.15);
	transform : translateY(-2px);
}

.card_header {
	padding : 16px;
	background-color : #f8f9fa;
	border-bottom : 1px solid #e0e0e0;
	min-height : 120px;
	display : flex;
	align-items : center;
}

.card_title {
	font-size : 1.1em;
	font-weight : bold;
	line-height : 1.4;
	width : 100%;
}

.card_title a {
	color : #1684b2;
	text-decoration : none;
	transition : color 0.2s ease;
}

.card_title a:hover {
	color : #0e77a3;
	text-decoration : underline;
}

.card_content {
	padding : 16px;
	flex-grow : 1;
	display : flex;
	flex-direction : column;
}

.card_company {
	font-size : 0.95em;
	color : #333;
	margin-bottom : 12px;
	font-weight : bold;
}

.card_tags {
	margin-bottom : 12px;
}

.card_tags .tag {
	display : inline-block;
	font-size : 0.8em;
	margin-right : 6px;
	margin-bottom : 4px;
	padding : 4px 8px;
	color : #ffffff;
	background-color : #ffa213;
	border-radius : 12px;
}

.card_info {
	font-size : 0.9em;
	color : #666;
	margin-top : auto;
}

.card_location,
.card_salary {
	margin-bottom : 4px;
	line-height : 1.4;
}

.card_location strong,
.card_salary strong {
	font-weight : bold;
	color : #333;
}

.info_icon {
	margin-right : 4px;
	font-style : normal;
}

.card_actions {
	display : flex;
	padding : 16px;
	border-top : 1px solid #e0e0e0;
	background-color : #f8f9fa;
}

.btn_detail {
	flex-grow : 1;
	margin-right : 8px;
	padding : 10px 16px;
	text-align : center;
	text-decoration : none;
	color : #ffffff;
	background-color : #1684b2;
	border-radius : 4px;
	font-weight : bold;
	transition : background-color 0.2s ease;
}

.btn_detail:hover {
	background-color : #0e77a3;
}

.btn_favorite {
	padding : 10px 16px;
	text-align : center;
	text-decoration : none;
	color : #1684b2;
	background-color : #ffffff;
	border : 1px solid #1684b2;
	border-radius : 4px;
	font-weight : bold;
	transition : all 0.2s ease;
}

.btn_favorite:hover {
	color : #ffffff;
	background-color : #1684b2;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
	.jobOfferDetail_relevant {
		margin-bottom : 30px;
		padding : 16px;
	}

	.relevant_section > h3 {
		font-size : 1.4em;
		margin-bottom : 20px;
		padding : 10px 12px;
	}

	.relevant_group > h4 {
		font-size : 1.1em;
		margin-bottom : 12px;
		padding : 6px 10px;
	}

	.relevant_cards {
		grid-template-columns : 1fr;
		grid-gap : 16px;
	}

	.card_header {
		padding : 12px;
	}

	.card_content {
		padding : 12px;
	}

	.card_actions {
		padding : 12px;
		flex-direction : column;
	}

	.btn_detail {
		margin-right : 0;
		margin-bottom : 8px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	.relevant_cards {
		grid-template-columns : repeat(2, 1fr);
	}
}
