@charset "UTF-8";
/* careerページ用スタイル */
a,
button {
	transition: all 0.5s ease;
}

a:hover,
button:hover {
	text-decoration: none;
}

.theme-ib {
	display: inline-block;
}

.top_wrap {
	padding-bottom: 4.5rem;
	background: url(/career/img/bg_texture.png) repeat;
}

body {
	font-size: 16px;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.top_wrap {
		padding-bottom: 0;
	}
}
/**************************************************************
	header
***************************************************************/
/* ---- gNav ---- */
#header a {
	display: block;
}

#header header {
	min-height: 70px;
}

.header_wrap {
	width: 100%;
	background-color: #fff;
}
.header_inner {
	margin: 0 auto;
	padding-top: 15px;
	display: grid;
	align-items: center;
	justify-content: space-between;
	padding-left: 30px;
}

.header_link {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header_logo img {
	width: 100%;
	max-width: 249px;
}

.c-gnav {
	margin-right: 210px;
	display: flex;
	width: 100%;
	justify-content: flex-end;
	align-items: center;
}
.gnav__panel-text {
	width: calc(100% - 75px);
	gap: 10px;
	display: flex !important;
	align-items: center;
}
.gnav__list {
	display: flex;
	gap: 20px;
}
.gnav__list a:hover {
	opacity: 0.6;
}

.nav__item {
	color: #000;
	font-weight: bold;
}

.header_btn {
	width: 100%;
	max-width: 300px;
	height: 80px;
	position: relative;
}

.header__search-btn {
	width: 100%;
	height: 100%;
	display: grid !important;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	gap: 10px;
	border: 2px solid var(--red);
	background-color: var(--red);
}

@media only screen and (min-width: 1321px) {
	.gnav__panel-text.sp {
		display: none !important;
	}
	.heading01-sp {
		display: none;
	}
	.header_inner {
		grid-template-columns: 249px auto;
	}
	.header_link .screen-reader-wrap {
		position: static;
	}
	#header header {
		position: relative;
	}
	.gnav__banner {
		width: 100%;
		max-width: 180px;
		position: absolute;
		top: 0;
		right: 0;
	}
	.header__search-btn {
		max-width: 180px;
		min-height: 70px;
		display: grid;
		place-content: center;
		text-align: center;
	}
	.header__search-btn:hover {
		background-color: #ffcece;
		color: var(--red) !important;
		opacity: 1 !important;
	}
	.header__search-btn:hover::after {
		background-image: url(/brand-jobfind/asset/images/search_icon_red.png);
	}
}
@media screen and (max-width: 1320px) {
	.gnav__panel-text {
		width: calc(100% - 75px);
		column-gap: 2vw;
		display: flex !important;
		align-items: center;
	}
	.gnav__panel-text .h_logo {
		max-width: 129px;
		height: 47px;
		padding-left: 0;
	}
	.gnav__panel-text .h_text {
		font-size: 14px;
	}
	.header_wrap {
		display: grid;
		place-content: center start;
	}
	.header_inner {
		padding: 0 76px 0 15px;
		grid-template-columns: 140px auto;
		align-items: center;
		-moz-column-gap: 2vw;
		column-gap: 2vw;
		justify-content: unset;
	}
	.heading01-pc {
		display: none;
	}
	.heading01-sp {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.5;
		z-index: 1001;
		background: #fff;
		position: relative;
		/* box-shadow: 0px 0px 3px 6px #fff; */
	}
	.c-gnav {
		margin: 0;
		justify-content: flex-end;
	}
	.gnav__panel {
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease-in-out;
		position: fixed;
		top: 0;
		right: 0;
		width: 100vw;
		height: calc((var(--vh, 1vh) * 100) - 74px);
		padding: 25px 15px 60px;
		background-color: #fff;
		font-size: 18px;
		overflow-y: auto;
		scrollbar-gutter: stable both-edges;
	}
	.gnav__panel .gnav__list {
		opacity: 0;
		transition: opacity 0.2s ease-out;
	}
	.gnav__panel .sp {
		display: inline-block;
	}
	.gnav__list {
		width: 100%;
		max-width: 1004px;
		margin: 42px auto 0;
		padding: 0;
		display: grid;
		grid-template-columns: 1fr;
		gap: 0 10px;
		border-radius: 20px;
		position: relative;
	}
	.gnav__list .nav__item {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		display: block;
		text-align: center;
		color: var(--red);
		font-size: 20px;
		font-weight: bold;
		border-bottom: 1px solid #ddd;
		padding: 30px 15px;
		position: relative;
	}
	.gnav__list .nav__item::before {
		content: "\e841";
		font-family: recop-iconfonts;
		font-size: 30px;
		font-weight: normal;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
	}
	.gnav__banner {
		margin-top: 1.7rem;
	}
	/* 求人検索ボタン */
	.gnav__banner .nav__item {
		max-width: 1004px;
		min-height: 74px;
		margin: 0 auto;
		background-color: var(--red);
		color: #fff;
		font-weight: bold;
		font-size: 24px;
		line-height: 1.3333333333;
		text-align: center;
		padding: 15px 25px;
		flex-direction: column;
		-moz-column-gap: 5px;
		column-gap: 5px;
		border-radius: 4px;
	}
	.gnav__banner .nav__item::before {
		content: "";
		position: absolute;
		width: 34px;
		height: 34px;
		top: 50%;
		transform: translateY(-50%);
		left: calc(50% + 90px);
		background: url(/career/img/ic_h-search.png) no-repeat center center/100%
			auto;
	}
	.gnav__banner .nav__item:hover {
		background-color: #ffcece;
		color: var(--red) !important;
	}
	.header_link {
		max-width: 160px;
		right: 0;
	}
	.header_logo {
		z-index: 1001;
		background: #fff;
		box-shadow: 0px 0px 3px 6px #fff;
	}
	.header_logo img {
		width: 140px;
	}
	.kv-heading01 {
		position: absolute;
		top: 18px;
		font-size: 14px;
	}
}
/*　----- ボタンカスタム ----*/
.gnav__btn {
	display: none;
	width: 74px;
	height: 74px;
	position: relative;
	color: #fff;
	background-color: #111;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
	font-family: "Noto Serif JP", serif;
}

.btn_line span {
	position: absolute;
	display: block;
	width: 30px;
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
	left: 50%;
	transform: translateX(-50%);
	transition: 0.3s;
}

.btn_line span:nth-child(1) {
	top: 27px;
}

.btn_line span:nth-child(2) {
	top: 36px;
}

.btn_line span:nth-child(3) {
	bottom: 27px;
}

/* ---ボタンオープンしたら--- */
.js-gnav.is-open .btn_line span:nth-child(1) {
	width: 36px;
	transform: translateX(-50%) rotate(30deg);
	top: 35px;
}

.js-gnav.is-open .btn_line span:nth-child(2) {
	opacity: 0;
}

.js-gnav.is-open .btn_line span:nth-child(3) {
	width: 36px;
	transform: translateX(-50%) rotate(-30deg);
	top: 35px;
}

@media screen and (max-width: 1320px) {
	.gnav__btn {
		position: fixed;
		top: 0;
		right: 0;
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;
		align-items: center;
		order: 1;
		z-index: 2000;
	}
	#header header {
		min-height: 74px;
	}
	.js-gnav.is-open .gnav__panel {
		opacity: 1;
		visibility: visible;
		z-index: 1000;
	}
	.js-gnav.is-open .gnav__panel .gnav__list {
		opacity: 1;
	}
}
@media only screen and (max-width: 400px) {
    .heading01-sp {
		font-size: 12px;
	}
}

@media screen and (min-width: 768px) {
	.gnav__btn:hover {
		opacity: 0.5;
	}
	.js-gnav.is-open .gnav__btn:hover .btn_line span {
		background-color: #fff;
	}
}
/* ハンバーガーメニュー展開時、背景固定用CSS */
html.is-fixed {
	overflow: hidden;
	width: 100%;
	height: 100%;
	scrollbar-gutter: stable;
}

/**************************************************************
	KV
***************************************************************/
[data-js-slide="slickPlay"] {
	display: none !important;
}

.is-pause [data-js-slide="slickPause"] {
	display: none !important;
}

.is-pause [data-js-slide="slickPlay"] {
	display: block !important;
}

.slide__buttonBox {
	z-index: 1;
}

.kv_img {
	max-width: 236px;
	position: absolute;
	top: 90px;
	left: -62px;
	z-index: 2;
}

.kv_img02 {
	max-width: 119px;
	position: absolute;
	bottom: 97px;
	right: 106px;
	z-index: 2;
}

.kv_img03 {
	max-width: 211px;
	position: absolute;
	bottom: 144px;
	right: -70px;
	z-index: 2;
}

/* キャッチコピー */
.kv_lead {
	min-height: 184px;
	padding: 50px 30px 0 40px;
	position: absolute;
	display: grid;
	bottom: -3px;
	right: 0;
	background: #fff url(/career/img/bg_texture.png) repeat;
	color: var(--red);
	font-weight: bold;
	font-size: 32px;
	line-height: 1.4;
}
.kv_lead h1 {
	color: #000;
	font-size: 16px;
}

/* slick ボタン */
.kv__inner {
	position: relative;
	overflow: hidden;
	/* スライド再生・停止ボタン */
	/* ドットナビゲーション（Slickのデフォルト） */
}
.kv__inner .slide__buttonBox {
	position: absolute;
	left: 20px;
	bottom: 54px;
	display: flex;
	flex-direction: column;
	flex-direction: column-reverse;
	gap: 1rem;
	align-items: center;
}
.kv__inner .slide__controller {
	height: 25px;
}
.kv__inner .slide__controller button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}
.kv__inner .slide__controller img {
	width: 24px;
	height: 24px;
}
.kv__inner .slick-dots {
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 10px;
	position: absolute;
	right: calc(50% - 11px);
	bottom: 8px;
	transform: translateY(-50%);
	gap: 10px;
}
.kv__inner .slick-dots li {
	height: -moz-fit-content;
	height: fit-content;
}
.kv__inner .slick-dots li button {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	padding: 0;
	background: #fff;
	border: 1px solid #dddddd;
	box-shadow: 1px 1px 0 0px #dddddd;
}
.kv__inner .slick-dots li button:before {
	font-size: 0;
}
.kv__inner .slick-dots .slick-active button {
	background: var(--red);
}
.kv__inner .slick-dots li.slick-active button:before {
	opacity: 1;
}

.top_lead {
	width: 96%;
	max-width: 1100px;
	min-height: 140px;
	margin: 3.5rem auto 0;
	padding: 1rem;
	display: grid;
	place-content: center;
	background: var(--light-yellow);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.7;
}

@media only screen and (max-width: 767px) {
	.kv_lead {
		min-height: 111px;
		width: calc(100% - 20px);
		margin-top: -3rem;
		padding: 20px 10px 0 20px;
		left: 0;
		right: unset;
		font-size: 22px;
	}
	.kv__inner .slide__items {
		margin-bottom: 0;
	}
	.kv__inner .slide__buttonBox {
		left: unset;
		right: 20px;
		bottom: unset;
		top: 12.5rem;
	}
	.kv_img {
		max-width: 167px;
	}
	.kv_img02 {
		max-width: 85px;
		bottom: 87px;
		right: 40px;
	}
	.kv_img03 {
		max-width: 141px;
		top: 30px;
		right: -54px;
		bottom: unset;
	}
	.top_lead {
		min-height: unset;
		margin-top: 3rem;
		padding: 1.5rem;
		text-align: center;
	}
}
/**************************************************************
	search
***************************************************************/
.search_inner {
	max-width: 1100px;
	margin: 80px auto 70px;
	padding: 4rem 0 1rem;
	background: #fff;
	box-shadow: 0 3px 30px #f0eae9;
}

.search_button {
	width: 96%;
	max-width: 870px;
	margin: 3rem auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.c-jobsearch__subtitle {
	margin-top: 2rem;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	color: #000;
}

@media only screen and (max-width: 768px) {
	.search_inner {
		margin-top: 0;
		padding: 50px 20px 0;
		background: transparent;
		box-shadow: none;
	}
	.c-jobsearch__subtitle {
		font-size: 24px;
	}
	.search_button {
		margin: 2rem auto 2.5rem;
		grid-template-columns: 1fr;
		gap: 0;
	}
}
/**************************************************************
	jobdescription
***************************************************************/
.jobdescription_inner {
	width: 96%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 60px 50px;
	background: var(--light-yellow);
	line-height: 1.6;
}

.jobdescription_inner h2 {
	background: var(--red);
	color: #fff;
	font-size: 24px;
	display: inline-block;
	border-radius: 50px;
	margin-bottom: 2rem;
	font-weight: bold;
	line-height: 1.3;
}

.jobdescription_inner p {
	margin-bottom: 2rem;
}

.jobdescription__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
.jobdescription__list li {
	background: #fff;
}

.jobdescription__list li h3 {
	color: var(--red);
	font-size: 24px;
	margin: 1.3rem 0 0.6rem;
	font-weight: bold;
}

.jobdescription__list li p {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	text-align: left;
}

@media only screen and (min-width: 768px) {
	.jobdescription__list {
		grid-template-columns: repeat(3, 1fr);
		gap: 2rem;
	}
	.jobdescription_inner h2 {
		padding: 0.5rem 1.7rem;
		font-size: 26px;
	}
	.jobdescription__list li h3 {
		font-size: 24px;
	}
}
@media only screen and (max-width: 767px) {
	.jobdescription_inner {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.jobdescription_inner h2 {
		padding: 0.5rem 2rem;
		margin-bottom: 1.3rem;
	}
	.jobdescription_inner p {
		text-align: left;
	}
}
/**************************************************************
	feature
***************************************************************/
.feature_wrap {
	min-height: 922px;
	position: relative;
	padding-top: 440px;
	background: url(/career/img/bg_merit_pc.jpg) no-repeat left top/100% auto,
		url(/career/img/bg_texture.png) repeat;
}

.feature_inner {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	padding-top: 4rem;
	position: absolute;
	top: 219px;
	left: 50%;
	transform: translate(-50%, 0);
	background: #fff url(/career/img/bg_texture.png) repeat;
}

.feature__label {
	width: 220px;
	min-height: 53px;
	margin: 0 auto 2rem;
	display: grid;
	place-content: center;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	background-color: #fff;
	border: 1px solid var(--red);
	border-radius: 50px;
}

.feature__list {
	margin: 4rem auto 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 1000px;
}

.feature__list li {
	border: 1px solid var(--red);
	border-top: none;
	padding: 0 20px 30px;
	text-align: center;
	background: #fff;
}

.feature__num {
	margin: -1.6rem auto 0;
	font-weight: bold;
	color: var(--red);
	margin-bottom: 10px;
	position: relative;
}
.feature__num img {
	max-width: 42px;
	margin: 0 auto;
}

.feature__num::before,
.feature__num::after {
	content: "";
	position: absolute;
	top: 49%;
	width: 45%;
	height: 1px;
	background-color: var(--red);
}

.feature__num::before {
	right: -20px;
}

.feature__num::after {
	left: -20px;
}

.feature__heading {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 28px;
	line-height: 1.3;
}

.feature__text {
	text-align: left;
	line-height: 1.7;
}
.feature__title {
	padding: 0 5px 30px;
}
@media (max-width: 767px) {
	.feature_wrap {
		padding-top: 100px;
		padding-bottom: 4rem;
		background: url(/career/img/bg_merit_sp.jpg) no-repeat left top/100% auto,
			url(/career/img/bg_texture.png) repeat;
	}
	.feature_inner {
		position: unset;
		transform: unset;
		padding-top: 2.5rem;
	}
	.feature__list {
		margin-top: 3rem;
		grid-template-columns: 1fr;
		gap: 45px;
	}
}
/**************************************************************
	career
***************************************************************/
.career_inner {
	padding: 100px 0;
	background: var(--pink);
}

.career-evaluation {
	text-align: center;
	max-width: 1100px;
	margin: 40px auto 0;
	padding: 2rem 1rem;
	background: #fff;
}

.career-evaluation__title {
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 20px;
}

.career-evaluation__subtitle {
	font-size: 20px;
	color: var(--red);
	font-weight: bold;
	margin-bottom: 20px;
}

.career-evaluation__text {
	line-height: 1.8;
}

.career-step {
	max-width: 1000px;
	padding: 30px;
	margin: 0 auto;
	border: 1px solid #ddd;
}

.career-step__img {
	position: relative;
}

.career-step__img figure {
	margin: 0;
}

.career-step__img img {
	width: 100%;
	height: auto;
	display: block;
}

.career-step__text {
	position: absolute;
	bottom: 0px;
	left: 0;
}
.career-step__text span {
	width: -moz-fit-content;
	width: fit-content;
	min-height: 64px;
	padding: 0 30px;
	display: grid;
	place-content: center start;
	background: #fff;
	font-size: 28px;
	color: var(--red);
}

.career-step__label {
	margin-bottom: 10px;
	font-weight: bold;
}

.career-step__title {
	font-weight: bold;
}

.career-step__logo {
	max-width: 185px;
	position: absolute;
	top: 20px;
	left: 20px;
}

/* フロー図 */
.career-flow__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}

.career-flow__step {
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 5px 0;
	margin-bottom: 20px;
}

.career-flow__title {
	font-weight: bold;
	text-align: center;
	margin-bottom: 13px;
}

.career-flow__income {
	font-size: 18px;
	color: var(--red);
	text-align: center;
	margin-bottom: 17px;
	font-weight: bold;
}

.career-flow__text {
	line-height: 1.8;
	text-align: left;
}

@media only screen and (min-width: 832px) {
	.career-evaluation {
		padding: 50px;
	}
	.career-step + .career-step {
		margin-top: 2.5rem;
	}
	.career-evaluation__text {
		margin-bottom: 2rem;
	}
	.career-flow {
		margin-top: 7rem;
	}
	.career-flow__step {
		padding: 0;
		position: relative;
	}
	.career-flow__list {
		gap: 0;
	}
	.career-flow__item {
		padding: 0 14px;
	}
	.career-flow__title {
		font-size: 25px;
	}
	.step01 .career-flow__income {
		opacity: 0.4;
	}
	.step02 .career-flow__income {
		opacity: 0.6;
	}
	.step02 .career-flow__step::after {
		content: "";
		position: absolute;
		top: -73px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 208px;
		height: 64px;
		background: url(/career/img/career_2.png) no-repeat center center/100% auto;
	}
	.step03 .career-flow__income {
		opacity: 0.7;
	}
	.step03 .career-flow__step::after {
		content: "";
		position: absolute;
		top: -73px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 208px;
		height: 64px;
		background: url(/career/img/career_3.png) no-repeat center center/100% auto;
	}
	.flow-santen .step02 .career-flow__step::after {
		background: url(/career/img/career_1.png) no-repeat center center/100% auto;
	}
	.flow-santen .career-step__logo {
		max-width: 101px;
	}
}
@media only screen and (min-width: 832px) and (max-width: 1032px) {
	.career-flow__step::after {
		width: 158px !important;
	}
	.career-flow__income {
		font-size: 17px;
	}
	.career-step__label {
		margin-bottom: 6px;
	}
	.career-step__text span {
		min-height: 42px;
		font-size: 20px;
	}
}
@media (max-width: 831px) {
	.career-flow__step .pc {
		display: none;
	}
	.career_inner {
		padding: 60px 20px;
	}
	.career-evaluation {
		padding: 2.5rem 1rem;
	}
	.career-evaluation__title {
		margin-bottom: 11px;
		font-size: 24px;
		line-height: 1.1;
	}
	.career-evaluation__subtitle {
		font-size: 18px;
	}
	.career-evaluation__text {
		text-align: left;
	}
	.career-step__logo {
		position: static;
		margin: 0 auto 20px;
	}
	.career-step {
		margin-top: 2rem;
		padding: 0;
		border: none;
	}
	.career-step__text {
		bottom: 0;
		left: 0;
	}
	.career-step__text span {
		min-height: 40px;
		margin-top: 6px;
		margin-bottom: 0;
		padding: 0.3rem 1rem;
		font-size: 20px;
	}
	.career-step__title {
		font-size: 20px;
	}
	/* フロー図 */
	.career-flow__item {
		width: 100%;
	}
	.career-flow__title {
		text-align: left;
		font-size: 18px;
		padding-right: 112px;
	}
	.career-flow__title span {
		display: inline-block;
	}
	.career-flow {
		margin-top: 1.5rem;
	}
	.career-flow__income {
		margin-bottom: 12px;
		text-align: left;
		opacity: 0.6;
		font-size: 16px;
	}
	.career-flow__list {
		gap: 38px;
	}
	.career-flow__list li {
		position: relative;
		display: grid;
		grid-template-columns: 45px 1fr;
		gap: 16px;
	}
	.career-flow__step {
		height: calc(100% - 22px);
		writing-mode: vertical-rl;
		background: var(--red);
		padding: 10px;
		position: relative;
	}
	.career-flow__step::before {
		content: "";
		position: absolute;
		bottom: -18px;
		left: 0;
		width: 45px;
		height: 18px;
		background: url(/career/img/step_arrow_sp.png) no-repeat center center/100%
			auto;
	}
	.step01 .career-flow__step {
		opacity: 0.4;
	}
	.step01 .career-flow__step::after {
		content: "";
		position: absolute;
		top: 34%;
		left: 16%;
		width: 28px;
		height: 76px;
		background: url(/career/img/step01_sp.png) no-repeat center center/100% auto;
	}
	.step02 {
		position: relative;
	}
	.step02 .career-flow__step {
		opacity: 0.6;
	}
	.step02 .career-flow__step::after {
		content: "";
		position: absolute;
		top: 34%;
		left: 16%;
		width: 28px;
		height: 76px;
		background: url(/career/img/step02_sp.png) no-repeat center center/100% auto;
	}
	.step02::after,
	.step03::after {
		content: "";
		position: absolute;
		top: -12px;
		right: 0;
		width: 113px;
		height: 53px;
		background: url(/career/img/career_2_sp.png) no-repeat center center/100%
			auto;
	}
	.flow-sato .step03::after {
		background: url(/career/img/career_3_sp.png) no-repeat center center/100%;
	}
	.flow-santen .step02::after {
		background: url(/career/img/career_1_sp.png) no-repeat center center/100%;
	}
	.flow-santen {
		padding-top: 30px;
		border-top: 1px solid #666666;
	}
	.flow-santen .career-step__logo {
		max-width: 101px;
	}
	.step03 .career-flow__step {
		opacity: 0.7;
	}
	.step03 .career-flow__step::after {
		content: "";
		position: absolute;
		top: 34%;
		left: 16%;
		width: 28px;
		height: 76px;
		background: url(/career/img/step03_sp.png) no-repeat center center/100% auto;
	}
	.step04 .career-flow__step::after {
		content: "";
		position: absolute;
		top: 34%;
		left: 16%;
		width: 28px;
		height: 76px;
		background: url(/career/img/step04_sp.png) no-repeat center center/100% auto;
	}
	.career-flow__list {
		grid-template-columns: 1fr;
	}
}
/**************************************************************
	work
***************************************************************/
.work_inner {
	padding: 100px 0;
	background: url(/career/img/bg_texture.png) repeat;
}

.work_lead {
	width: 96%;
	margin: 2.5rem auto 0;
	text-align: center;
	line-height: 1.5;
}

.work_box {
	width: 96%;
	max-width: 1100px;
	padding: 80px 50px 50px;
	margin: 4rem auto 0;
	background: #f0e7c4;
	position: relative;
}

.work_box-title {
	width: -moz-fit-content;
	width: fit-content;
	min-height: 58px;
	padding: 0 20px;
	background: var(--red);
	border-radius: 50px;
	color: #fff;
	font-weight: bold;
	font-size: 24px;
	display: grid;
	place-content: center;
	position: absolute;
	top: -29px;
	left: 50%;
	transform: translate(-50%, 0);
	line-height: 1.1;
}

.work__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1000px;
	margin: 0 auto;
}

.work__list div {
	background: #fff;
	padding: 20px;
	text-align: center;
}

.work__list figure {
	margin: 0 0 10px;
}

.work__list img {
	width: 60px;
	height: auto;
}

.work__list h3 {
	font-weight: bold;
	margin-bottom: 10px;
}

.work__list p {
	line-height: 1.8;
	text-align: left;
}

p.work__slide-title {
	line-height: 1.3;
}

.work__slide-title {
	font-weight: bold;
}

@media only screen and (min-width: 891px) {
	.work__list div {
		padding: 1.9rem;
		pointer-events: none;
		outline: none;
	}
	.work__list img {
		width: 100%;
		max-width: 134px;
		margin: 0 auto;
	}
	p.work__slide-title {
		margin: 18px 0;
		text-align: center;
		font-size: 20px;
	}
}
@media only screen and (max-width: 890px) {
	.work_inner {
		padding-bottom: 0;
	}
	.work_box {
		width: 100%;
	}
	/* slider */
	.work__list {
		grid-template-columns: 1fr;
	}
	.work__slider figure {
		margin: 0 0 15px;
	}
	.work__slider img {
		width: 134px;
		margin: 0 auto;
	}
	.work__list {
		display: block;
	}
	.work__list div {
		padding: 0;
	}
	.work__slider .work__slideitem {
		padding: 27px;
	}
	p.work__slide-title {
		margin-bottom: 1rem;
		font-size: 20px;
		text-align: center;
	}
	.work_box-title {
		width: 100%;
		max-width: 292px;
		min-height: 79px;
		top: -39px;
		text-align: center;
	}
	.work__slider {
		width: 96%;
	}
	.work__slider .slick-dots {
		display: flex !important;
		justify-content: center;
		gap: 10px;
		margin: 20px 0 0;
	}
	.work__slider .slick-dots li {
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
	}
	.work__slider .slick-dots li button {
		width: 8px;
		height: 8px;
		padding: 0;
		border: none;
		border-radius: 50%;
		background: #666666;
		text-indent: -9999px;
		overflow: hidden;
	}
	.work__slider .slick-dots li.slick-active button {
		background: var(--red);
	}
	.work__slider .slick-prev,
	.work__slider .slick-next {
		width: 56px;
		height: 56px;
		border-radius: 50%;
		box-shadow: 4px 3px 8px rgba(0, 0, 0, 0.2);
		border: none;
		position: absolute;
		font-size: 0;
		display: block !important;
		top: 34%;
		transform: translateY(-50%);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		z-index: 1;
	}
	.work__slider .slick-prev {
		background-image: url("/career/img/arrow_left.png");
		left: -22px;
	}
	.work__slider .slick-next {
		background-image: url("/career/img/arrow_right.png");
		right: -22px;
	}
	.work__slider .slick-prev::before,
	.work__slider .slick-next::before {
		content: none;
	}
}
/* voice */
.work_voice {
	margin-top: 48px;
	padding: 58px;
	background: var(--light-yellow);
}

.sideimage-box {
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 0;
	position: relative;
	padding: 0 60px;
}

.sideimage-heading {
	width: -moz-fit-content;
	width: fit-content;
	font-size: 26px;
	font-weight: bold;
	margin: 0 auto 20px;
	text-align: center;
	line-height: 1.4;
}

.sideimage-box::before,
.sideimage-box::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 60px;
	background: url("/career/img/h_line.png") no-repeat center center/100% auto;
}

.sideimage-box::after {
	transform: scaleX(-1);
	left: unset;
	right: 0;
}

.work-voice {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}

.work-voice__item {
	display: grid;
	grid-template-columns: 17% 1fr;
	align-items: start;
	gap: 30px;
}

.work-voice__item:nth-child(even) {
	grid-template-columns: 1fr 17%;
}

.work_voice-content {
	margin-top: 2rem;
	display: grid;
	gap: 30px;
}

.work-voice__item figure {
	margin: 0;
}

.work-voice__text {
	background: #fff;
	border-radius: 30px;
	padding: 27px;
	box-shadow: 0 0px 13px rgba(224, 210, 156, 0.5);
	position: relative;
}

.work-voice__text::before {
	content: "";
	position: absolute;
	top: 39%;
	left: -18px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-right: 18px solid #fff;
}

.work-voice__item:nth-child(even) .work-voice__text::before {
	left: auto;
	right: -18px;
	border-right: none;
	border-left: 18px solid #fff;
}

.work-voice__text h3 {
	font-size: 22px;
	font-weight: bold;
	color: #d60019;
	margin-bottom: 15px;
}

.work-voice__text p {
	line-height: 1.8;
}

@media only screen and (max-width: 880px) {
	.work_box {
		margin-top: 5rem;
		padding: 75px 20px 60px;
	}
	.work_voice {
		padding: 40px 20px;
	}
	.sideimage-box {
		padding: 0 27px;
	}
	.sideimage-box::before {
		left: -7px;
	}
	.sideimage-box::after {
		right: -7px;
	}
	.work-voice__item {
		grid-template-columns: 80px 1fr;
		gap: 15px;
	}
	.work-voice__item:nth-child(even) {
		grid-template-columns: 1fr 80px;
	}
	.sideimage-heading {
		font-size: 22px;
	}
	.work-voice__text h3 {
		line-height: 1.3;
		font-size: 20px;
	}
	.work-voice__text {
		border-radius: 12px;
		padding: 27px 20px;
	}
	.work-voice__text::before {
		top: 29px;
		left: -13px;
		border-top: 9px solid transparent;
		border-bottom: 9px solid transparent;
	}
	.work-voice__item:nth-child(even) .work-voice__text::before {
		left: unset;
		right: -13px;
		border-right: none;
	}
}
/**************************************************************
	data
***************************************************************/
.data_inner {
	padding: 100px 0;
	background: var(--pink);
}
.work-data__title {
	width: 92%;
	margin: 0 auto;
}
.data__list {
	width: 92%;
	margin: 40px auto 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 1100px;
}

.data__item {
	background: #fff;
	padding: 37px 10px;
	text-align: center;
}

.data__label {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 10px;
}

.data__value {
	font-size: 40px;
	font-weight: bold;
	color: #d60019;
}

.data__value span {
	margin: 0 6px;
	font-size: 80px;
	font-weight: bold;
	display: inline-block;
	position: relative;
	top: 3px;
}

@media (max-width: 767px) {
	.data__list {
		max-width: 500px;
		grid-template-columns: 1fr;
	}
	.data__value {
		font-size: 30px;
	}
	.data__value span {
		font-size: 70px;
	}
	.data__label {
		font-size: 24px;
	}
	.data__item {
		box-shadow: 0 3px 12px 8px rgba(240, 234, 233, 0.5);
	}
}
/**************************************************************
	interview(career個別調整)
***************************************************************/
.intvBody {
	border-radius: 0;
}

.intvBody + .intvBody {
	margin-top: 80px;
}

.profile {
	border: 1px solid #d60019;
	border-top: none;
	padding: 20px;
	max-width: 1000px;
	margin: 0 auto 2rem;
	position: relative;
}

.profile__title {
	margin: -1.6rem auto 0;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #d60019;
	position: relative;
	padding: 0 20px;
}

.profile__title::before,
.profile__title::after {
	content: "";
	display: inline-block;
	width: 38%;
	height: 1px;
	background: #d60019;
	position: absolute;
	top: 28%;
}

.profile__title::before {
	left: -20px;
}

.profile__title::after {
	right: -20px;
}

.profile__text {
	font-size: 14px;
	line-height: 2;
	margin-top: 20px;
}

.c-interview_link {
	max-width: 280px;
	min-height: 64px;
	margin-top: 1.5rem;
	padding: 0 2rem;
	background-color: var(--red);
	color: #fff !important;
	text-indent: 1.5em;
	transition: 0.3s;
	display: grid;
	align-items: center;
	width: 100%;
	cursor: pointer;
	border-radius: 4px;
	font-weight: bold;
	position: absolute;
	bottom: -90px;
	right: calc(50% + 10px);
	font-size: 18px;
}

.c-interview_link:hover {
	opacity: 0.6;
}

.c-interview_link::after {
	font-family: recop-iconfonts;
	position: absolute;
	height: 1em;
	line-height: 1;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "\e841";
	right: 20px;
	font-size: 30px;
	font-weight: normal;
}

@media only screen and (min-width: 768px) {
	.c-interview_accBtn {
		left: calc(50% + 160px);
	}
	.c-interview_profile {
		max-width: 730px;
	}
}
@media only screen and (max-width: 767px) {
	.c-interview_accDetail.is-open {
		padding-top: 30px;
	}
	.profile {
		margin: 3rem auto 0;
		padding-bottom: 2.5rem;
		border-top: 1px solid #d60019;
	}
	.profile__title {
		width: -moz-fit-content;
		width: fit-content;
		margin-top: -1.9rem;
		padding: 0 10px;
		background: #fff;
	}
	.profile__title::before,
	.profile__title::after {
		content: none;
	}
	.profile__text {
		margin-top: 15px;
	}
	.c-interview_link {
		margin: 30px auto 0;
		position: relative;
		bottom: unset;
		right: unset;
	}
	.c-interview_content + .c-interview_content {
		margin-bottom: 0;
	}
	.c-interview_profile {
		left: 0;
	}
	.c-interview_name {
		padding: 5px 0 5px 17px;
	}
	.c-interview_catch span {
		padding: 2px 4px;
	}
}
/**************************************************************
	faq
***************************************************************/
#faq .cnt {
	padding-bottom: 0;
}

/**************************************************************
	LP共通部　カスタム調整
***************************************************************/
.group_item img {
	display: inline;
}
@media only screen and (max-width: 767px) {
	.entry-btn {
		max-width: 256px;
		font-size: 18px;
	}
	.entry-btn::after {
		right: -49px;
	}
	.entry-btn::before {
		left: -49px;
	}
}
@media only screen and (min-width: 971px) and (max-width: 1090px) {
	a.bn_recruit {
		font-size: 17px;
	}
}
/**************************************************************
	page top
***************************************************************/
.pagetop_box {
	position: relative;
}
.pagetop {
	width: 80px;
	height: 80px;
	display: none;
	position: absolute;
	right: 10px;
	bottom: 170px;
	z-index: 10;
}
.pagetop img {
	width: 100%;
	cursor: pointer;
}
.pagetop.fixed {
	position: fixed;
	bottom: 180px;
}
.pagetop button {
	border: 0;
}
@media (hover: hover) {
	.pagetop button:hover {
		opacity: 0.6;
	}
}

@media only screen and (max-width: 767px) {
	.pagetop.fixed {
		bottom: 140px;
	}
	.pagetop {
		width: 60px;
		height: 60px;
	}
}

/**************************************************************
	フッター調整
***************************************************************/
#footer {
	position: static;
}
#main .space {
	height: 109px;
}
footer a:hover {
	opacity: 0.6;
} /*# sourceMappingURL=style.css.map */
