@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/**********************************************

-----------------------------------------------
COMMON
************************************************/

/* WRAP
========================================== */

.wrap1200,.wrap1200N {
    width: 1200px;
    margin: 0 auto;
    position: relative;
}
.wrap1024,.wrap1024N {
    width: 1024px;
    margin: 0 auto;
    position: relative;
}
.wrap960,.wrap960N {
    width: 960px;
    margin: 0 auto;
    position: relative;
}
.wrap780,.wrap780N {
    width: 780px;
    margin: 0 auto;
    position: relative;
}
@media only screen and (max-width:1240px) {
    .wrap1200 {
		width: 100%;
		padding: 0 20px;
	}
    .wrap1200N {
		width: 100%;
	}
}
@media only screen and (max-width:1064px) {
    .wrap1024 {
		width: 100%;
		padding: 0 20px;
	}
    .wrap1024N {
		width: 100%;
	}
}
@media only screen and (max-width:1000px) {
	.wrap960 {
		width: 100%;
		padding: 0 20px;
	}
    .wrap960N {
		width: 100%;
	}
}
@media only screen and (max-width:820px) {
	.wrap780 {
		width: 100%;
		padding: 0 20px;
	}
    .wrap780N {
		width: 100%;
	}
}

/* フォント
========================================== */

.fontEn {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
.fontMin {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

.txtBlue {color: #004193!important;}

/* ボタン
========================================== */

/* エントリーボタン（大）*/
.btn_entryL {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 19px;
	font-weight: bold;
	color: #fff!important;
	width: 100%;
	height: 110px;
	background: linear-gradient(90deg, rgba(255,115,0,1) 0%, rgba(255,174,0,1) 100%);
	position: relative;
	margin-top: 70px;
}
.btn_entryL::before,
.btn_entryL::after {
	content: "";
	display: block;
	position: absolute;	
}
.btn_entryL::before {
	background: url("../img/career/arrow_bg_blue.svg") center / cover no-repeat;
	width: 49px;
	height: 25px;
	right: 0;
	bottom: 0;
}
.btn_entryL::after {
	bottom: 5px;
	right: 10px;
	background-color: #fff;
	height: calc(tan(60deg) * 15px / 2);
	width: 12px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.btn_entryL span {
	display: inline-block;
	font-weight: bold;
	margin-left: 15px;
}
.btn_entryL span::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 15px;
	background-color: #fff;
	margin-right: 15px;
}
@media only screen and (max-width:768px) {
	.btn_entryL {
		font-size: 17px;
		margin-top: 40px;
		height: 80px;
	}
}

/* 見出し
========================================== */

/* セクション見出し*/
.titSec {
	text-align: center;
	font-size: 23px;
	color: #004193;
	font-weight: bold;
	margin-top: 60px;
}
@media only screen and (max-width:768px) {
	.titSec {
		font-size: 20px;
		margin-top: 50px;
	}
}

/* テーブル
========================================== */

/* 基本形*/
.tblBsc {
	width: 100%;
	margin-top: 40px;
	border-top: 1px solid #7a9bc4;
	line-height: 1.4;
}
.tblBsc th,
.tblBsc td {
	border-bottom: 1px solid #7a9bc4;
	padding: 20px;
}
.tblBsc th {
	background-color: #f4f4f4;
	width: 240px;
	text-align: center;
	vertical-align: middle;
	color: #004193;
	font-weight: bold;
}
@media only screen and (max-width:768px) {
	.tblBsc th,
	.tblBsc td {
		display: block;
		width: 100%;
	}
	.tblBsc th {
		padding: 10px 15px;
	}
	.tblBsc td {
		padding: 15px;
	}
}

/* 連絡先BOX
========================================== */

.contactBox {
	margin-top: 90px;
	display: flex;
	line-height: 1.6;
}
.contactBox dt {
	background-color: #004193;
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
}
.contactBox dd {
	background-color: #f4f4f4;
	padding: 20px;
}
.contactBox + p {
	text-align: center;
	margin-top: 15px;
}
@media only screen and (max-width:768px) {
	.contactBox {
		margin-top: 50px;
		display: block;
	}
	.contactBox dt {
		width: 100%;
		padding: 10px 15px;
	}
}

/* ヘッダー
========================================== */

header {
	background-color: #fff;
	padding: 8px 0;
}
header .h_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}
header a.logo {
	display: inline-block;
	margin-left: 25px;
}
header a.logo img {
	width: 171px;
}
header a.btn_entry {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	width: 150px;
	height: 30px;
	background: linear-gradient(90deg, rgba(255,115,0,1) 0%, rgba(255,174,0,1) 100%);
}
header a.btn_entry::after {
	content: "";
	display: inline-block;
	background-color: #fff;
	height: calc(tan(60deg) * 13px / 2);
	width: 8px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: relative;
	left: 10px;
}
@media only screen and (max-width:768px) {
	header {
		height: 50px;
		padding: 0 30px 0 0;
	}
	header a.logo {
		margin-left: 0;
		height: 25px;
	}
	header a.logo img {
		width: auto;
		height: 25px;
	}
	header a.btn_entry {
		width: 100px;
		height: 50px;
	}
}

/* ---------------------------
グロナビ
----------------------------- */

/* PC */
@media only screen and (min-width:769px) {
	#gNav {
		background-color: #00a8ba;
	}
	#gNav > ul {
		display: flex!important;
		justify-content: space-between;
	}
	#gNav > ul li {
		width: 20%;
	}
	#gNav > ul li:first-of-type {
		width: 24%;
	}
	#gNav > ul li:last-of-type {
		width: 16%;
	}
	#gNav > ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 40px;
		font-size: 14px;
		font-weight: bold;
		color: #fff;
		position: relative;
	}
	#gNav > ul li a::before {
		content: "";
		display: block;
		width: 1px;
		height: 20px;
		background-color: #80d4de;
		position: absolute;
		left: 0;
		top: 10px;
	}
	#gNav > ul li:last-of-type a::after {
		content: "";
		display: block;
		width: 1px;
		height: 20px;
		background-color: #80d4de;
		position: absolute;
		right: 0;
		top: 10px;
	}
}

/* スマホ */
@media only screen and (max-width:768px) {
	#gNav {
		position: relative;
	}
	#gNav > ul {
		display: none;
		background-color: #00a8ba;
		padding-left: 0;
		padding-right: 0;
	}
	#gNav > ul li {
	}
	#gNav > ul li + li {
		border-top: 1px solid #fff;
	}
	#gNav > ul li a {
		display: flex;
		align-items: center;
		height: 52px;
		color: #fff;
		padding: 5px 20px;
	}
	
	/* ハンバーガーメニュー */
	#gNav p.btnMenu {
		position: absolute;
		top: -50px;
		right: 0;
		width: 50px;
		height: 50px;
	}
	#gNav p.btnMenu a {
		position: relative;
		width: 50px;
		height: 50px;
		display: block;
		background-color: #00a8ba;
		opacity: 1!important;
	}
	#gNav p.btnMenu .menu-icon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 3px;
		margin: 3px 0 0 -12px;
		background-color: #fff;
		transition: .2s;
	}
	#gNav p.btnMenu .menu-icon::before {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 3px;
		margin-top: -10px;
		margin-left: -13px;
		background-color: #fff;
		transition: .3s;
	}
	#gNav p.btnMenu .menu-icon::after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 3px;
		margin-top: 7px;
		margin-left: -13px;
		background-color: #fff;
		transition: .3s;
	}
	#gNav p.btnMenu .menu-icon em {
		font-size: 10px;
		color: #fff;
		text-align: center;
		display: block;
		width: 50px;
		padding-top: 2px;
		position: absolute;
		top: -28px;
		left: -13px;
	}
	#gNav p.btnMenu .menu-icon em::before {
		content: "MENU";
		display: inline;
	}

	/* ×ボタン */
	#gNav p.btnMenu .close {
		background: transparent;
	}
	#gNav p.btnMenu .close::before {
		margin-top: 0;
		transform: rotate(-45deg);
	}
	#gNav p.btnMenu .close::after {
		margin-top: 0;
		transform: rotate(-135deg);
	}
	#gNav p.btnMenu .close em::before {
		content: "CLOSE";
	}
}

/* フッター
========================================== */

footer {
	margin-top: 80px;
	background-color: #727171;
	color: #fff;
	font-size: 12px;
	padding: 10px 0;
}
footer .inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
footer .fNav {
}
footer .fNav a {
	display: inline-block;
	color: #fff;
	line-height: 1.6;
}
footer .fNav a + a::before {
	content: "/";
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}
footer .fNav a em:hover {
	text-decoration: underline;
}
@media only screen and (max-width:768px) {
	footer {
		margin-top: 50px;
	}
	footer .inner {
		justify-content: center;
	}
	footer p.copy {
		width: 100%;
		text-align: center;
		margin-top: 5px;
		font-size: 10px;
	}
}
@media only screen and (max-width:320px) {
	footer .fNav a {
		font-size: 11px;
	}
}

/* MV
========================================== */

/* ---------------------------
サブトップ用
----------------------------- */

.mv_subTop {
	color: #023e89;
	position: relative;
}
body.career .mv_subTop   {background-color: #edf4fc;}
body.comeback .mv_subTop {background-color: #f6f9e6;}
body.handicap .mv_subTop {background-color: #01204c;}

.mv_subTop .bg_mv {
	object-fit: cover;
	object-position: center;
	height: 650px;
}
.mv_subTop .mv_wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.mv_subTop h1 {
	line-height: 1.4;
}
.mv_subTop h1 em {
	font-size: 53px;
	display: inline-block;
	margin-right: 40px;
	text-align: left;
}
.mv_subTop h1 span {
	font-size: 25px;
	display: inline-block;
	font-weight: bold;
}
.mv_subTop .pageTxt {
	font-size: 17px;
}
.mv_subTop .pageTxt p {
	margin-top: 30px;
	line-height: 1.9;
	line-break: strict;
}
body.comeback .mv_subTop .pageTxt {
	font-size: 18px;
}
body.comeback .mv_subTop .pageTxt p {
	line-height: 2.3;
}
body.handicap .mv_subTop h1 {
	text-shadow: #000 1px 1px 10px, #000 -1px 1px 10px;
}
body.handicap .mv_subTop .pageTxt {
	font-size: 20px;
}
body.handicap .mv_subTop .pageTxt p {
	font-weight: bold;
	line-height: 1.8;
	text-shadow: #000 1px 1px 5px, #000 -1px 1px 5px,
			#000 1px -1px 5px, #000 -1px -1px 5px;
}
@media only screen and (max-width:768px) {
	.mv_subTop .bg_mv {
		height: 150px;
	}
	body.handicap .mv_subTop .bg_mv {
		height: 450px;
	}
	.mv_subTop h1 em {
		font-size: 30px;
		display: block;
		margin-right: 0;
	}
	.mv_subTop h1 span {
		font-size: 16px;
	}
	.mv_subTop .pageTxt {
		font-size: 15px!important;
	}
}

/* ---------------------------
サブ下層用
----------------------------- */

.mv_subLlow {
	color: #023e89;
	position: relative;
	background-color: #eaf1fa;
}
.mv_subLlow .bg_mv {
	object-fit: cover;
	object-position: center;
	height: 250px;
}
.mv_subLlow .mv_wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.mv_subLlow h1 {
	line-height: 1.4;
	display: inline-block;
	padding-right: 15px;
	padding-bottom: 5px;
	border-bottom: 1px solid #023e89;
}
.mv_subLlow h1.noLine {
	display: block;
	padding-right: 0;
	padding-bottom: 0;
	border: none;
}
.mv_subLlow h1 em {
	font-size: 48px;
	display: inline-block;
	margin-right: 40px;
	text-align: left;
}
.mv_subLlow h1 span {
	font-size: 22px;
	display: inline-block;
	font-weight: bold;
}
.mv_subLlow h1 + p {
	font-size: 22px;
	margin-top: 12px;
	font-weight: bold;
}

/* インタビューページ */
#intv[class^="intv_page"] .mv_subLlow h1 em {
	font-size: 22px;
	display: block;
	margin-right: 0;
	font-weight: bold;
}
#intv[class^="intv_page"] .mv_subLlow h1 + p {
	font-size: 30px;
	line-height: 1.4;
	margin-top: 15px;
}
@media only screen and (max-width:768px) {
	.mv_subLlow .bg_mv {
		height: 150px;
	}
	body.career #flow .mv_subLlow .bg_mv {
		object-position: 47% center;
	}
	.mv_subLlow h1 {
		display: block;
		padding-bottom: 0;
		padding-right: 0;
		border-bottom: none;
	}
	.mv_subLlow h1 em {
		display: block;
		font-size: 30px;
		margin-right: 20px;
	}
	.mv_subLlow h1 span {
		display: block;
		font-size: 16px;
	}
	.mv_subLlow h1 + p {
		display: inline-block;
		font-size: 18px;
		border-top: 1px solid #023e89;
		padding-top: 10px;
		padding-right: 15px;
	}
	#intv[class^="intv_page"] .mv_subLlow .bg_mv {
		object-position: 45% center;
	}
	#intv[class^="intv_page"] .mv_subLlow h1 em {
		font-size: 20px;
	}
}


/* MV内のページ紹介文
   スマホではMV外へ表示
========================================== */

.introTxt {
	margin-top: 30px;
	color: #003982;
	font-size: 14px;
	text-align: center;
}
.introTxt .introTxtInner {
	display: inline-block;
}
.introTxt p {
	line-break: strict;
	line-height: 1.7;
}
.introTxt p + p {
	margin-top: 25px;
}
/* インタビューページ */
#intv[class^="intv_page"] .introTxt {
	font-size: 20px;
	margin-bottom: -10px;
}
#intv[class^="intv_page"] .introTxt p {
	font-weight: bold;
}



/**********************************************

-----------------------------------------------
キャリア採用
************************************************/

body.career {
}

/* キャリア採用TOP
========================================== */

#careerTop {
}
#careerTop .careerMenu {
	margin-top: 40px;
}
#careerTop .careerMenu ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}
#careerTop .careerMenu ul li {
}
#careerTop .careerMenu ul li a {
	display: block;
	width: 245px;
	border: 1px solid #004193;
	padding-bottom: 45px;
	position: relative;
}
#careerTop .careerMenu ul li a::before,
#careerTop .careerMenu ul li a::after {
	content: "";
	display: block;
	position: absolute;	
}
#careerTop .careerMenu ul li a::before {
	background: url("../img/career/arrow_bg_blue.svg") center / cover no-repeat;
	width: 49px;
	height: 25px;
	right: 0;
	bottom: 0;
}
#careerTop .careerMenu ul li a::after {
	bottom: 5px;
	right: 10px;
	background-color: #fff;
	height: calc(tan(60deg) * 15px / 2);
	width: 12px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#careerTop .careerMenu ul li a img {
	display: block;
}
#careerTop .careerMenu ul li a em {
	display: block;
	color: #004193;
	font-size: 19px;
	font-weight: bold;
	padding: 15px 13px;
}
@media only screen and (max-width:600px) {
	#careerTop .careerMenu ul {
		gap: 10px;
	}
	#careerTop .careerMenu ul li {
		width: calc((100% - 10px) / 2);
	}
	#careerTop .careerMenu ul li a {
		width: 100%;
		height: 100%;
		padding-bottom: 20px;
	}
	#careerTop .careerMenu ul li a img {
		width: 100%;
	}
	#careerTop .careerMenu ul li a em {
		font-size: 16px;
		line-height: 1.4;
		text-align: left;
		line-break: strict;
	}
}

/* 社員インタビュー
========================================== */

#intv {
	font-size: 15px;
}
#intv .intv_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	margin-top: 60px;
}
#intv[class^="intv_page"] .intv_list {
	margin-top: 35px;
}
#intv .intv_list li {
	background-color: #004294;
	max-width: 248px;
}
#intv .intv_list li a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
#intv .intv_list li a::before,
#intv .intv_list li a::after {
	content: "";
	display: block;
	position: absolute;	
}
#intv .intv_list li a::before {
	background: url("../img/career/arrow_bg_white.svg") center / cover no-repeat;
	width: 49px;
	height: 25px;
	right: 1px;
	bottom: 1px;
}
#intv .intv_list li a::after {
	bottom: 7px;
	right: 11px;
	background-color: #004294;
	height: calc(tan(60deg) * 15px / 2);
	width: 12px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#intv .intv_list li a img {
}
#intv .intv_list li a p {
	display: flex;
	align-items: center;
	font-size: 18px;
	color: #fff;
	font-weight: bold;
	min-height: 52px;
	padding: 5px 15px;
}
/* インタビューページ用*/
#intv.intv_page01 .intv_list li.intv01 {display: none;}
#intv.intv_page02 .intv_list li.intv02 {display: none;}
#intv.intv_page03 .intv_list li.intv03 {display: none;}

@media only screen and (max-width:768px) {
	#intv .intv_list {
		margin-top: 50px;
	}
}
@media only screen and (max-width:600px) {
	#intv .intv_list {
		gap: 10px;
	}
	#intv .intv_list li {
		width: calc((100% - 10px) / 2);
		max-width: none;
	}
	#intv .intv_list li a img {
		width: 100%;
	}
	#intv .intv_list li a p {
		padding: 15px 13px 35px 13px;
		font-size: 16px;
		line-height: 1.4;
		text-align: left;
		line-break: strict;
	}
}

/* ---------------------------
インタビューページ
----------------------------- */

#intv[class^="intv_page"] {
}
#intv[class^="intv_page"] .intvMain {
}
#intv[class^="intv_page"] .intvMain > ul {
}
#intv[class^="intv_page"] .intvMain > ul > li {
	margin-top: 60px;
	position: relative;
}
#intv[class^="intv_page"] .intvMain > ul > li > p {
	line-height: 1.8;
	line-break: strict;
}
#intv[class^="intv_page"] .intvMain > ul > li > p.titIntv {
	font-size: 18px;
	font-weight: bold;
	color: #004193;
}
#intv[class^="intv_page"] .intvMain > ul > li > p.titIntv + p {
	margin-top: 10px;
}
#intv[class^="intv_page"] .intvMain > ul > li.ptR,
#intv[class^="intv_page"] .intvMain > ul > li.ptL {
	min-height: 335px;
}
#intv[class^="intv_page"] .intvMain > ul > li.ptR > p {
	padding-right: 410px;
}
#intv[class^="intv_page"] .intvMain > ul > li.ptL > p {
	padding-left: 410px;
}
#intv[class^="intv_page"] .intvMain > ul > li.ptR > img {
	position: absolute;
	top: 0;
	right: 0;
}
#intv[class^="intv_page"] .intvMain > ul > li.ptL > img {
	position: absolute;
	top: 0;
	left: 0;
}
#intv[class^="intv_page"] .schedule {
	background-color: #e9f0f9;
	border-radius: 12px;
	padding: 25px 35px 40px;
	margin-top: 70px;
}
#intv[class^="intv_page"] .schedule h2 {
	text-align: center;
}
#intv[class^="intv_page"] .schedule h2 span {
	display: inline-block;
	background-color: #fff;
	border-radius: 50vh;
	padding: 8px 35px;
	font-size: 23px;
	font-weight: bold;
	text-align: center;
	color: #004193;
}
#intv[class^="intv_page"] .schedule dl {
	font-size: 18px;
	line-height: 1.4;
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
	position: relative;
}
#intv[class^="intv_page"] .schedule dl::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 90px;
	width: 1px;
	height: 100%;
	background-color: #004193;
}
#intv[class^="intv_page"] .schedule dl dt,
#intv[class^="intv_page"] .schedule dl dd {
	padding: 17px 0;
}
#intv[class^="intv_page"] .schedule dl dt {
	text-align: right;
	width: 90px;
	padding-right: 15px;
	color: #004193;
	font-weight: bold;
	position: relative;
}
#intv[class^="intv_page"] .schedule dl dt::before {
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	left: 82px;
	width: 10px;
	height: 10px;
	background-color: #fff;
	border: 4px solid #004294;
	border-radius: 50%;
}
#intv[class^="intv_page"] .schedule dl dd {
	width: calc(100% - 90px);
	padding-left: 40px;
	text-align: left;
		line-break: strict;
}
#intv[class^="intv_page"] .schedule dl dd:last-of-type {
	padding-bottom: 0;
}
@media only screen and (max-width:768px) {
	#intv[class^="intv_page"] .schedule {
		margin-top: 50px;
		padding: 20px 15px;
	}
	#intv[class^="intv_page"] .intvMain > ul > li {
		margin-top: 40px;
	}
	#intv[class^="intv_page"] .intvMain > ul > li > p {
		line-height: 1.6;
		padding-right: 0!important;
		padding-left: 0!important;
	}
	#intv[class^="intv_page"] .intvMain > ul > li > img {
		position: static!important;
		display: block;
		margin: 20px auto 0;
	}
	#intv[class^="intv_page"] .schedule h2 span {
		font-size: 18px;
	}
	#intv[class^="intv_page"] .schedule dl {
		font-size: 16px;
	}
	#intv[class^="intv_page"] .schedule dl::before {
		left: 80px;
	}
	#intv[class^="intv_page"] .schedule dl dt {
		width: 80px;
	}
	#intv[class^="intv_page"] .schedule dl dt::before {
		top: 18px;
		left: 72px;
	}
	#intv[class^="intv_page"] .schedule dl dd {
		width: calc(100% - 80px);
		padding-left: 20px;
	}
}

/* 福利厚生 / FAQ
========================================== */

#welfare {
	font-size: 15px;
}

/* ---------------------------
福利厚生
----------------------------- */

#welfare .wf {
}
#welfare .wf table span {
	display: inline-block;
}
#welfare .wf dl {
}
#welfare .wf dl dt {
	color: #004193;
}
#welfare .wf dl dd + dt {
	margin-top: 10px;
}

/* ---------------------------
FAQ
----------------------------- */

#welfare .faq {
	padding-top: 40px;
}
#welfare .faq dl {
	line-height: 1.6;
	border-bottom: 1px solid #7fa0c9;
	margin-top: 30px;
}
#welfare .faq dl dt {
	display: flex;
	flex-wrap: wrap;
	cursor: pointer;
	border-top: 1px solid #7fa0c9;
	padding: 20px 40px 20px 0;
	position: relative;
}
#welfare .faq dl dt:first-of-type {
	border-top: none;
}
#welfare .faq dl dt::before {
	content: "";
	display: block;
	background-color: #004193;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
#welfare .faq dl dt::after {
	content: "＋";
	display: block;
	color: #fff;
	position: absolute;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
	font-size: 13px;
}
#welfare .faq dl dt.open::after {
	content: "－";
}
#welfare .faq dl dt em {
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	font-size: 18px;
	background-color: #004193;
}
#welfare .faq dl dt > p {
	width: calc(100% - 38px);
	padding-top: 8px;
	padding-left: 20px;
}
#welfare .faq dl dd {
	padding-top: 8px;
	padding-bottom: 20px;
	position: relative;
	padding-left: 58px;
	display: none;
}
#welfare .faq dl dd::before {
	content: "";
	width: 38px;
	height: 38px;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #00a8ba;
	position: absolute;
	top: 0;
	left: 0;
}
#welfare .faq dl dd::after {
	content: "A";
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 18px;
	position: absolute;
	top: 6px;
	left: 14px;
}
#welfare .faq dl dd a {
	color: #00a8ba;
	text-decoration: underline;
}
#welfare .faq dl dd .data {
	padding-top: 20px;
}
#welfare .faq dl dd .data table {
	width: 100%;
}
#welfare .faq dl dd .data table th,
#welfare .faq dl dd .data table td {
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	border-bottom: 3px solid #fff;
	border-right: 3px solid #fff;
	padding: 5px;
}
#welfare .faq dl dd .data table th {
	background-color: #00a8ba;
	color: #fff;
}
#welfare .faq dl dd .data table tbody td {
	font-size: 18px;
	background-color: #f4f4f4;
	width: 25%;
}
#welfare .faq dl dd .data table + p {
	text-align: right;
	margin-top: 5px;
	font-size: 12px;
}
@media only screen and (max-width:768px) {
	#welfare .faq {
		padding-top: 0;
	}
	#welfare .faq dl dd .data {
		padding-top: 25px;
		margin-left: -58px;
	}
}

/* 選考フロー
========================================== */

#flow {
	font-size: 15px;
}
#flow .step {
	line-height: 1.6;
	margin-top: 50px;
	padding-left: 40px;
	position: relative;
}
#flow .step::before {
	content: "";
	display: block;
	background-color: #7fa0c9;
	position: absolute;
	width: 1px;
	height: 95%;
	top: 50%;
	left: 8px;
	transform: translateY(-50%);
}
#flow .step dt {
	font-size: 23px;
	font-weight: bold;
	color: #004193;
	position: relative;
}
#flow .step dd + dt {
	margin-top: 50px;
}
#flow .step dt::before,
#flow .step dt::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
}
#flow .step dt::before {
	width: 10px;
	height: 10px;
	background-color: #004193;
	left: -36px;
}
#flow .step dt::after {
	width: 16px;
	height: 16px;
	border: 1px solid #00a8ba;
	left: -40px;
}
#flow .step dt span {
	display: inline-block;
	margin-right: 25px;
	font-weight: bold;
	color: #00a8ba;
}
#flow .step dd {
	margin-top: 10px;
	line-break: strict;
}
#flow .step dd .att {
	margin-top: 20px;
}
#flow .step dd .att li {
	text-indent: -1em;
	padding-left: 1em;
}
#flow .step + p {
	display: inline-block;
	margin-top: 50px;
	font-size: 19px;
	background-color: #ffe7b2;
	border-radius: 8px;
	padding: 30px;
}
#flow .step + p em {
	display: inline-block;
	color: #ea5504;
	margin-right: 25px;
	font-weight: bold;
}
@media only screen and (max-width:768px) {
	#flow .step,
	#flow .step dd + dt {
		margin-top: 40px;
	}
	#flow .step dt {
		font-size: 20px;
	}
	#flow .step + p {
		margin-top: 40px;
		font-size: 17px;
	}
}
@media only screen and (max-width:500px) {
	#flow .step + p {
		width: 100%;
		text-align: center;
		padding: 25px 15px;
	}
}

/**********************************************

-----------------------------------------------
カムバック採用
************************************************/

body.comeback {
	font-size: 15px;
}
body.comeback ol.list_app {
}
body.comeback ol.list_app li {
	text-indent: -0.85em;
	padding-left: 0.85em;
}
body.comeback ol.list_app li + li {
	margin-top: 10px;
}

/**********************************************

-----------------------------------------------
障がい者採用
************************************************/

body.handicap {
}

