@charset "UTF-8";
/*
 * スライド式EF一次フォーム PC用
 */

/* reset
==================*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, menu, nav, main, section {
	display: block;
}
html {
	font-size: 10px;
	overflow-y: scroll;
}
body {
	color: #555;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1;
	width: 100%;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	margin-bottom: 10px;
	vertical-align: bottom;
}
input, textarea, select, fieldset {
	font-family: inherit;
}

/* link */
#ef-form a {
	color: #005ead;
	text-decoration: underline;
}

/* wrapper */
#ef-container {
	height: 100%;
	font-weight: 200;
	font-style: normal;
	font-size: 14px;
	line-height: 1.7;
	min-width: 1000px;
	font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#ef-container * {
	box-sizing: border-box;
}
.c-container {
	position: relative;
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	margin-right: auto;
	margin-left: auto;
}
.c-container.p-separator {
	border-bottom: 3px solid #005ead;
}
#main {
	position: relative;
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
	background-color: #ffffff;
	padding: 10px 30px 45px;
}

/* icon */
.icon-header {
	background: url(/entry/assets/img/pc/icon-title-pen.png);
	width: 22px;
	height: 22px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.icon-question {
	background: url(/entry/assets/img/pc/icon-hatena.png);
	width: 31px;
	height: 31px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.icon-home {
	background: url(/entry/assets/img/pc/icon-home.png) no-repeat 0 0 / 20px 20px;
	width: 20px;
	height: 20px;
	display: inline-block;
	margin: 0 5px -3px;
}
.icon-blank-blue {
	background: url(/entry/assets/img/pc/icon-blank-blue.png) no-repeat 0 0 / 20px 20px;
	width: 20px;
	height: 20px;
	display: inline-block;
	margin: 0 5px -3px;
}

/* ヘッダー */
.p-shoulder {
	min-width: 1000px;
	background-color: #666666;
	color: #ffffff;
	font-size: 10px;
}
#ef-header {
	padding: 5px 0 5px 0;
}
#ef-header > div > h1 {
	width: 1000px;
	padding-left: 30px;
	margin-right: auto;
	margin-left: auto;
}
.p-shoulder > .c-container > p {
	display: none;
}

/* 無料転職支援サービスお申し込み */
.p-header {
	position: relative;
	padding: 8px 15px;
	background: #005ead;
	border-radius: 6px;
	letter-spacing: 1px;
	text-decoration: none;
	text-align: left;
	font-size: 18px;
	color: #ffffff;
	transition: background-color 0.4s ease 0s, color 0.4s ease 0s;
	font-weight: bold;
}

/* ナビエリア */
.p-form-navi {
	margin: 10px 0 0;
}
.p-form-navi-title {
	background: #EEF7FF;
	text-align: center;
	font-size: 16px;
	line-height: 35px;
	font-weight: bold;
	color: #082a4d;
}
.p-form-navi-title > .p-highlight {
	color: #005cb0;
}
.p-form-detail {
	display: flex;
	border: solid 1px #e5e5e5;
}
.p-step {
	width: 100%;
	text-align: center;
	line-height: 33px;
	position: relative;
}
.p-step.p-separator {
	margin: 5px 0;
	border-right: solid 1px #e5e5e5;
}
.icon-flow {
	position: absolute;
	top: 8px;
	left: 23px;
	bottom: 0;
}
.point {
	color: #005cb0;
	border: solid 1px #005cb0;
	border-radius: 15px;
	width: 30%;
	height: 20px;
	margin: 7px 0 -3px 111px;
	line-height: 18px;
	font-weight: bold;
}
.navi-text {
	margin-left: 76px;
	text-align: left;
}
.emphasis-underline {
	display: inline-block;
	background: linear-gradient(transparent 74%, orange 60%);
	height: 24px;
	margin: -4px 0 0 36px;
	font-weight: bold;
}
.navi-text-secondary {
	line-height: 7px;
	margin: 0 0 11px 35px;
}

/* footer */
#footer {
	width: 100%;
}
#footer .c-container {
	width: 1000px;
}
.p-securities-wrap {
	position: relative;
}
.p-securities {
	display: table;
	width: 100%;
	margin: 0 auto;
	table-layout: fixed;
}
.p-securities__block {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}
.p-securities__block--pmark {
	width: 43%;
}
.p-security {
	display: table;
	margin: 0 10px;
}
.p-security__icon,
.p-security__caption {
	vertical-align: middle;
}
.p-security__icon {
	display: block;
	width: 84px;
}
.p-security__icon > img {
	max-height: 100%;
}
.p-security__caption {
	display: table-cell;
	font-size: 11px;
	padding: 0 0 0 15px;
}
.p-pagetop {
	position: absolute;
	bottom: 15px;
	right: 0;
}
.p-pagetop > a {
	color: #005ead;
	padding-left: 12px;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	background: transparent url(/entry/assets/img/pc/icon-arrow-pagetop.png) no-repeat left center;
}
.p-copyright {
	display: block;
	width: 100%;
	padding: 5px 0;
	background-color: #115fad;
	color: #ffffff;
	font-size: 11px;
}

/* 進捗バーエリア */
.menu {
	display: flex;
	align-items: center;
	max-width: 840px;
	margin: 30px auto 40px;
	background-color: #fff;
}
.back {
	flex: 0 0 29px;
	height: 23px;
	display: none;
	overflow: hidden;
	text-indent: 29px;
	white-space: nowrap;
	position: relative;
	margin: -1px 10px 0 0;
}
.back::before {
	content: '';
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translate(3px, -50%) rotate(45deg);
	border-left: 3px solid #005cb0;
	border-bottom: 3px solid #005cb0;
	width: 12px;
	height: 12px;
}
.progressbar {
	border-radius: 10px;
	background: #eee;
	overflow: hidden;
	width: 100%;
	flex: 1;
}
.progressbar > span {
	display: block;
	background: #349ac1;
	border-radius: 10px;
	width: 0;
	height: 20px;
	transition: width .5s ease-in-out;
}
.progress {
	font-size: 1.2rem;
	font-weight: bold;
	color: #005cb0;
	margin-left: 10px;
	text-align: right;
}
.progress > span {
	font-size: 2rem;
	padding-right: 5px;
}

/* javascript無効 */
.noscript {
	padding: 5%;
	color: #f34d47;
	font-size: 1.4rem;
	line-height: 1.4;
}

/* ページ切り替え */
body.is-motion-on .panel {
	transition: left .8s;
}
body.is-motion-on .cover {
	background-color: rgba(0, 0, 0, .0);
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
}

/* ページ */
.panel-wrap {
	position: relative;
	overflow: hidden;
	width: 860px;
	margin: 0 auto;
	display: block;
}
.panel {
	display: none;
	padding: 0 30px 20px;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
}
.panel:first-child.is-done {
	position: absolute;
}
div.panel:last-of-type {
	padding-bottom: 0;
}
.panel.is-done {
	left: -100%;
	display: block;
}
.panel.is-current {
	display: block;
	position: relative;
}
.panel.is-done + .is-done {
	position: absolute;
}

/* ページ内の項目ブロック */
.block-s {
	margin-bottom: 20px;
}
.block-m {
	margin-bottom: 30px;
}
.form-set {
	width: 400px;
	margin-right: auto;
	margin-left: auto;
}
.form-group_row {
	display: flex;
	justify-content: space-between;
}
.form-group_col {
	flex: 0 0 48%;
	max-width: 48%;
	box-sizing: border-box;
}
.panel-block {
	width: 620px;
	margin: auto;
}

/* 項目名 */
.form-title {
	margin: 0 0 10px;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
}
.form-title.p-margin {
	margin: 0 0 40px;
}
.form-title > .p-highlight {
	color: #005cb0;
	font-size: 2.2rem;
	margin-right: 5px;
	display: inline;
}
.form-title > span.p-free-mark {
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
	background: #349AC1;
	padding: 4px 8px;
	line-height: 1;
	vertical-align: middle;
	margin-left: 10px;
	display: inline-block;
	margin-right: 5px;
}
/* 小見出し */
.form-label {
	display: block;
	font-size: 1.4rem;
	margin-bottom: 5px;
	font-weight: bold;
}
/* 注釈 */
.form-note {
	font-size: 1.2rem;
	line-height: 1.4;
}

/* 入力項目 */
.input {
	color: #555;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	appearance: none;
	height: 50px;
	box-sizing: border-box;
	width: 100%;
	padding: 0 10px;
	font-size: 1.6rem;
	font-weight: bold;
}
.input::placeholder {
	font-size: 1.4rem;
}

/* 入力項目 テキストボックス */
.input-text {
	border: 2px solid #e5e5e5;
	border-bottom: 4px solid #e5e5e5;
}
.input-text:focus {
	outline: 0;
	border-bottom: 4px solid #005cb0;
	padding-top: 20px;
	padding-bottom: 5px;
}

/* 入力項目 セレクトボックス */
.input-select {
	width: 100%;
}
select.input {
	padding: 0 20px 0 10px;
	background: url(/entry/assets/img/sp/icon-select-arrows.png) no-repeat right 10px top 19px / 7px auto;
	font: inherit;
	font-size: 1.6rem;
	font-weight: bold;
}
option[value=""][disabled] {
	display: none;
}
option {
	color: black;
}

/* 入力項目 テキストエリア */
textarea.input {
	min-height: 80px;
	padding: 10px;
	font-size: 1.2rem;
}

/* 入力項目 年月日 */
.date-group {
	padding-right: 20px;
	position: relative;
}
.date-group.form-group_col {
	flex: 0 0 28%;
	max-width: 28%;
}
.date-group_text {
	position: absolute;
	white-space: nowrap;
	top: 50%;
	left: calc(100% - 1em);
	transform: translate(0, -50%);
	font-size: 1.4rem;
}

/* 入力項目 ラジオボタン */
.btn-group {
	display: inline-block;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.btn-group > li {
	padding: 0 10px;
}
.btn-select {
	display: flex;
	border: 2px solid #E5E5E5;
	background: #fff;
	justify-content: center;
	align-items: center;
	color: #005cb0;
	text-decoration: none;
	font-size: 17px;
	font-weight: bold;
	cursor: pointer;
	transition: border-color .3s, background-color .3s;
	position: relative;
	border-radius: 5px;
	height: 65px;
	width: 300px;
	margin-bottom: 15px;
}
.btn-select::after {
	content: '';
	position: absolute;
	right: 18px;
	width: 10px;
	height: 10px;
	border-bottom: solid 4px currentColor;
	border-right: solid 4px currentColor;
	transform: rotate(-45deg);
	margin-top: 0;
}
_::-webkit-full-page-media, _:future, :root .btn-select::after { /* safari用 */
	margin-top: 0 !important;
}
.btn-select:hover {
	background: #B8F0FF;
	border-color: #005cb0;
}
.btn-select > input {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: -1;
}
.btn-select.is-checked {
	background: #B8F0FF;
	border-color: #005cb0;
}

/* フォームエリア */
.entry-form {
	margin: 10px 0 0;
	border-top: 3px solid #005ead;
	border-right: solid 1px #e5e5e5;
	border-left: solid 1px #e5e5e5;
	border-bottom: solid 1px #e5e5e5;
}
.entry-form.border-none {
	border-right: none;
	border-left: none;
	border-bottom: none;
}
.p-input-block {
	text-align: center;
}

/* 希望勤務地と現住所の共通設定 */
.modal-wkplc-pref > .p-wkplc-area-text,
.form-pref > .p-area-text {
	border-bottom: 1px solid #ccc5c5;
	padding: 5px 29px 5px 15px;
	background: #e5f8ff;
	text-align: left;
}
.modal-wkplc-pref > .p-modal-row,
.form-pref > .p-form-row {
	display: flex;
	border-bottom: 1px solid #ccc5c5;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col.p-separator,
.form-pref > .p-form-row > .p-form-col.p-separator {
	border-right: 1px solid #ccc5c5;
}

/* 希望勤務地とアクセスしたきっかけの共通設定 */
.modal-wkplc-pref input,
.form-site-access > .p-form-col > label > input {
	opacity: 0;
	appearance: none;
	position: absolute;
}

/* 勤務先の業種/勤務先の職種の共通設定 */
.form-career-ind-col:nth-child(2),
.form-career-job-col:nth-child(2) {
	width: auto;
}

/* 勤務先の業種/勤務先の職種/現住所/生年月日/アクセスしたきっかけの共通設定 */
.modal-wkplc-pref > .p-modal-row > .p-modal-col:not(.is-disabled):hover,
.form-career-ind-row:not(.is-disabled):hover,
.form-career-ind-row.p-detail.is-active:hover,
.form-career-job-row:not(.is-disabled):hover,
.form-career-job-row.p-detail.is-active:hover,
.form-birth > .p-form-row:not(.is-disabled):not(.p-label):hover,
.form-pref .p-form-col:not(.is-disabled):hover,
.form-site-access > .p-form-col > label:hover,
.form-site-access > .p-form-col > label.is-checked {
	background: #B8F0FF;
}

/* 卒業年早見表の閉じるボタン/企業名と勤務期間の追加ボタンの共通設定 */
.modal-graduation-year-close-btn:hover,
.btn-add-career-information:hover {
	cursor: pointer;
	box-shadow: 3px 3px 5px #a9a9a9;
}

/* プレースホルダー */
.focus-input-title {
	top: 2px;
	left: 12px;
	position: relative;
	margin-bottom: -22px;
	font-size: 13px;
	font-weight: bold;
	color: rgb(0, 94, 173);
	display: none;
	text-align: justify;
	text-justify: inter-ideograph;
}

/* 勤務先の業種と勤務先の職種 */
.p-career-industry,
.p-career-job-cls {
	padding: 0 0 20px;
}
.form-career-industry-div-wrap,
.form-career-job-cls-wrap {
	font-size: 0;
}
.form-career-industry-div-inline,
.form-career-job-cls-inline {
	display: inline-block;
	vertical-align: top;
}
.form-career-job-cls-inline {
	max-height: 1000px;
}
.form-career-job-cls-inline-step2 {
	overflow-y: scroll;
	overflow-x: hidden;
}
.form-career-industry-div-list,
.form-career-job-cls-list {
	font-size: 14px;
	font-weight: bold;
	width: 400px;
	text-align: center;
	background-color: #fff;
}
.form-career-ind-row,
.form-career-job-row {
	display: flex;
}
.form-career-ind-row.p-separator,
.form-career-job-row.p-separator {
	border-left: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
.form-career-ind-row.is-active, .form-career-ind-row.p-detail.is-active,
.form-career-job-row.is-active, .form-career-job-row.p-detail.is-active {
	background-color: #eefaff;
}
.form-career-ind-row.is-disabled,
.form-career-job-row.is-disabled {
	border-left: 1px solid #e5e5e5;
	background-color: #f5f5f5;
	border-bottom: 1px solid #f5f5f5;
	cursor: default;
}
.form-career-ind-row.is-disabled.p-separator, .form-career-ind-row.p-detail.is-disabled.p-separator,
.form-career-job-row.is-disabled.p-separator, .form-career-job-row.p-detail.is-disabled.p-separator {
	border-bottom: 1px solid #e5e5e5;
}
.form-career-ind-row:hover,
.form-career-job-row:hover {
	cursor: pointer;
}
.form-career-ind-row.p-detail,
.form-career-job-row.p-detail {
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	background-color: #fff;
}
.form-career-ind-row.p-detail.is-disabled,
.form-career-job-row.p-detail.is-disabled {
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #f5f5f5;
	background-color: #f5f5f5;
	cursor: default;
}
.form-career-job-row.p-detail.p-class-text {
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	background-color: #eee;
	cursor: default;
}
.form-career-ind-col,
.form-career-job-col {
	width: 100%;
	text-align: center;
	line-height: 30px;
}
.form-career-ind-step1-text, .form-career-ind-step2-text,
.form-career-job-step1-text, .form-career-job-step2-text {
	color: #fff;
	padding: 5px 0 5px 10px;
	text-align: left;
	height: 40px;
	cursor: default;
}
.form-career-ind-step1-text,
.form-career-job-step1-text {
	background-color: #005cb0;
}
.form-career-ind-step2-text,
.form-career-job-step2-text {
	background-color: #3B81BA;
}
.form-career-ind-name,
.form-career-job-name {
	width: 400px;
	min-width: 400px;
	height: 40px;
	text-align: left;
	padding-left: 10px;
	padding-right: 30px;
	font-size: 14px;
	line-height: 20px;
	display: flex;
	align-items: center;
}
.form-career-ind-icon-step1, .form-career-ind-icon-step2,
.form-career-job-icon-step1, .form-career-job-icon-step2 {
	position: relative;
	margin: 15px -28px;
	width: 20px;
}
.form-career-ind-icon-step1::before, .form-career-ind-icon-step1::after, .form-career-ind-icon-step2::after,
.form-career-job-icon-step1::before, .form-career-job-icon-step1::after, .form-career-job-icon-step2::after {
	content: '';
	position: absolute;
	width: 8px;
	height: 8px;
	border-bottom: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: rotate(-45deg);
}
.form-career-ind-icon-step1::before,
.form-career-job-icon-step1::before {
	left: 0;
	color: #555;
}
.form-career-ind-icon-step1::after,
.form-career-job-icon-step1::after {
	left: 10px;
	color: #555;
}
.form-career-ind-icon-step2::after,
.form-career-job-icon-step2::after {
	left: 10px;
	color: #005cb0;
}
.form-career-ind-icon-step1.is-active::before, .form-career-ind-icon-step1.is-active::after,
.form-career-job-icon-step1.is-active::before, .form-career-job-icon-step1.is-active::after {
	color: #005cb0;
}

/* 経験社数 */
.exp-corp-num-desc {
	font-size: 1.4rem;
	margin-bottom: 40px;
	text-align: center;
}

/* 現住所 「海外居住者の方へ」リンク */
.link-overseas-resident {
	width: 620px;
	padding-top: 11px;
	text-align: right;
	margin: 0 auto 10px;
}
#ef-form .faq-03 { /* 求人詳細EFの設定より優先度を上げるためidから指定する */
	margin-left: 30px;
	padding-right: 5px;
	text-decoration: none;
	border-bottom: solid 1px #005ead;
}
/* 現住所 短縮ルート */
.form-group_row.js-display-for-short-address {
	display: block;
}
.js-display-for-short-address > .form-group_col:first-child {
	max-width: 100%;
}
.form-pref {
	border-top: 1px solid #ccc5c5;
	border-right: 1px solid #ccc5c5;
	border-left: 1px solid #ccc5c5;
	font-weight: bold;
	margin: 0 auto; 
}
.form-pref > .p-form-row > .p-form-col {
	width: 100%;
	text-align: left;
	line-height: 33px;
	padding: 1px 5px;
	border-right: 1px solid #FFF;
	display: flex;
}
.form-pref > .p-form-row > .p-form-col.is-active {
	background-color: #eefaff;
}
.form-pref > .p-form-row > .p-form-col > .p-text {
	width: 130px;
	padding-left: 25px ;
}
.form-pref > .p-form-row > .p-form-col > .icon-next-step::after {
	content: '';
	position: absolute;
	margin-top: 10px;
	width: 8px;
	height: 8px;
	border-bottom: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: rotate(-45deg);
	color: #005cb0;
}

/* 最終学歴 */
.date-group.form-group_col--graduation {
	flex: 0 0 36%;
	max-width: 36%;
}
.graduation-group > .form-group_col + .form-group_col:not(:last-child) {
	margin-left: 10px;
}

/* 最終学歴 卒業年早見表 */
.btn-graduation-year-area {
	padding-top: 30px;
	text-align: right;
}
.btn-graduation-year {
	padding-right: 5px;
	padding-bottom: 3px;
	border-bottom: solid 1px #005ead;
	color: #005ead;
	cursor: pointer;
}

.modal-graduation-year-wrap {
	display: none;
	height: 100%;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(68, 68, 68, 0.8);
	z-index: 1;
}
.modal-graduation-year {
	left: 50%;
	top: 50%;
	width: 90%;
	max-width: 819px;
	position: relative;
	transform: translate(-50%, -50%);
	color: #333;
	border: 1px solid #ccc5c5;
	height: 90%;
	max-height: 600px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
}
.modal-graduation-year-label {
	display: flex;
	border-bottom: 1px solid #ccc5c5;
	background-color: #f5f5f5;
}
.modal-graduation-year-title {
	width: 100%;
	text-align: left;
	margin-left: 16px;
	line-height: 33px;
	padding: 3px 3px;
}
.modal-graduation-year-close-btn {
	color: #555;
	position: relative;
	background-color: #e5e5e5;
	width: 20px;
	height: 20px;
	margin: 7px 9px;
	border: 1px solid #ccc5c5;
	border-radius: 3px;
}
.modal-graduation-year-close-btn::before,
.modal-graduation-year-close-btn::after {
	content: '';
	position: absolute;
	top: 8px;
	left: 2px;
	width: 14px;
	height: 2px;
	background-color: currentColor;
}
.modal-graduation-year-close-btn::before {
	transform: rotate(-45deg);
}
.modal-graduation-year-close-btn::after {
	transform: rotate(45deg);
}
.yearTit {
	color: #333;
	font-weight: bold;
	text-align: center;
	font-size: 15px;
	margin-bottom: 30px;
}
.yearBox {
	padding: 30px 0;
	overflow-y: auto;
}
#yearArea {
	width: 650px;
	margin: 0 auto;
}
#yearArea > table {
	border: 1px solid #888;
	margin-bottom: 2em;
	width: 100%;
	border-collapse: collapse;
}
#yearArea > table > tbody > tr > td,
#yearArea > table > tbody > tr > th {
	border: 1px solid #888;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
	font-size: 12px;
	padding: 5px;
}
#yearArea > table > tbody > tr > th {
	font-weight: bold;
}
#yearArea > table > tbody > .yearHead > th {
	white-space: nowrap;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
	background: #DFE3F8 linear-gradient(to bottom, #F2F5FB, #DFE3F8);
	color: #113471;
}
#yearArea > table > tbody > tr > td {
	cursor: pointer;
}
#yearArea > table > tbody > tr:nth-child(even) {
	background: #f5f5f5;
}
/* 最終学歴 卒業年早見表 hover時 1行2列の背景色変更 */
#yearArea tbody tr:hover:has(td:hover),
#yearArea tbody:has(tr:hover td:nth-child(3):hover) td:nth-child(3),
#yearArea tbody:has(tr:hover td:nth-child(3):hover) td:nth-child(4),
#yearArea tbody:has(tr:hover td:nth-child(4):hover) td:nth-child(3),
#yearArea tbody:has(tr:hover td:nth-child(4):hover) td:nth-child(4),
#yearArea tbody:has(tr:hover td:nth-child(5):hover) td:nth-child(5),
#yearArea tbody:has(tr:hover td:nth-child(5):hover) td:nth-child(6),
#yearArea tbody:has(tr:hover td:nth-child(6):hover) td:nth-child(5),
#yearArea tbody:has(tr:hover td:nth-child(6):hover) td:nth-child(6),
#yearArea tbody:has(tr:hover td:nth-child(7):hover) td:nth-child(7),
#yearArea tbody:has(tr:hover td:nth-child(7):hover) td:nth-child(8),
#yearArea tbody:has(tr:hover td:nth-child(8):hover) td:nth-child(7),
#yearArea tbody:has(tr:hover td:nth-child(8):hover) td:nth-child(8) {
	background-color: #EBF5FF;
}
/* 最終学歴 卒業年早見表 hover時 2セル背景色変更 */
#yearArea td:hover,
#yearArea td:nth-child(3):hover + td:nth-child(4),
#yearArea td:nth-child(3):has(~ td:nth-child(4):hover),
#yearArea td:nth-child(5):hover + td:nth-child(6),
#yearArea td:nth-child(5):has(~ td:nth-child(6):hover),
#yearArea td:nth-child(7):hover + td:nth-child(8),
#yearArea td:nth-child(7):has(~ td:nth-child(8):hover) {
	background-color: #a1d2ff !important;
}

/* 勤務先の企業名と勤務期間 勤務期間1　「現在」を非表示 */
.form-text {
	display: none;
}
/* 勤務先の企業名と勤務期間 勤務期間1　「現在」を表示 */
.js-job-term.is-active .form-text {
	display: inline-block;
}
/* 勤務先の企業名と勤務期間 勤務期間1　入力欄を非表示 */
.js-job-term.is-active .form-career-wrkng-trm-to-group {
	display: none;
}
.form-group_rowLeft {
	justify-content: flex-start;
}
.date-group.form-group_col--year {
	flex: 0 0 25%;
	max-width: 25%;
}
.date-group.form-group_col--month {
	flex: 0 0 20%;
	max-width: 20%;
	margin-left: 10px;
	margin-right: 25px;
}
/* 勤務先の企業名と勤務期間 入力欄追加ボタン */
.btn-add-career-information {
	border: 1px solid #e5e5e5;
	text-align: center;
	margin-left: auto;
	margin-top: 20px;
	margin-bottom: 20px;
	display: flex;
	font-weight: bold;
	padding: 10px 0;
	border-radius: 3px;
	width: 300px;
	font-size: 13px;
}
.icon-add-wkplc-pref {
	display: inline-block;
	border-radius: 5px;
	color: #fff;
	font-weight: bold;
	background: #005cb0;
	position: relative;
	width: 23px;
	height: 23px;
	margin: 1px 10px 0 10px;
}
.icon-add-wkplc-pref::before,
.icon-add-wkplc-pref::after {
	content: '';
	width: 12px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
}
.icon-add-wkplc-pref::before {
	transform: translate(-50%, -50%);
}
.icon-add-wkplc-pref::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
/* 勤務先の企業名と勤務期間 */
.career-information-separate {
	width: 620px;
	margin: 60px 0;
	border: 2px dashed #e5e5e5;
}
.second-career-information-area,
.third-career-information-area {
	display: none;
}

/* 希望勤務地 */
.modal-wkplc-pref {
	width: 100%;
	color: #333;
	border: 1px solid #ccc5c5;
	font-weight: bold;
	max-width: 800px;
	margin-bottom: 20px;
}
.modal-wkplc-pref.full {
	background-color: #ddd;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col {
	width: 25%;
	text-align: left;
	line-height: 33px;
	padding: 5px;
	background: #FFF;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col.full {
	background-color: #ddd;
	pointer-events: none;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col.is-disabled.full {
	background-color: #ddd;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: 10px;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label::before {
	content: '';
	display: block;
	border-radius: 2px;
	border: 2px solid #aaa;
	width: 17px;
	height: 14px;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > input:checked + .p-check-label::after {
	content: '';
	position: absolute;
	left: 3px;
	display: block;
	width: 11px;
	height: 11px;
	background: url(/entry/assets/img/check.svg) no-repeat 0 / contain;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text {
	width: 100%;
	display: flex;
	margin-top: 1px;
	margin-left: 10px;
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text.hope-1::after {
	content: '第1希望';
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text.hope-2::after {
	content: '第2希望';
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text.hope-3::after {
	content: '第3希望';
}
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text.hope-1::after,
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text.hope-2::after,
.modal-wkplc-pref > .p-modal-row > .p-modal-col > label > .p-check-label > .p-text.hope-3::after {
	background-color: #005cb0;
	display: flex;
	justify-content: flex-end;
	color: white;
	padding: 2px 4px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: normal;
	margin: auto 20px auto auto;
	line-height: normal;
}

/* 生年月日 */
.form-birth-inline {
	display: inline-block;
	vertical-align: top;
}
.form-birth-inline.is-hidden {
	display: none;
}
.form-birth-y-group {
	margin-left: 250px;
}
.form-birth-y-group.is-disabled {
	margin-left: 0;
}
.form-birth-m-group {
	margin-left: 0;
}
.form-birth-m-group.is-disabled {
	margin-left: 0;
}
.form-birth-m-group.is-hidden {
	display: none;
}
.form-birth-d-group {
	margin-right: 235px;
}
.form-birth-d-group.is-disabled {
	margin-right: 0;
}
.form-birth-d-group.is-hidden {
	display: none;
}
.form-birth {
	font-weight: bold;
}
.form-birth > .p-form-row {
	display: flex;
}
.form-birth > .p-form-row.is-hidden {
	display: none;
}
.form-birth > .p-form-row.p-label {
	margin-bottom: 5px;
	border-bottom: 3px solid #005cb0;
}
.form-birth > .p-form-row.p-label.is-disabled {
	border-bottom: 3px solid #e5e5e5;
}
.form-birth > .p-form-row.p-item {
	border-top: 1px solid #e5e5e5;
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
}
.form-birth > .p-form-row.p-item.is-active {
	background-color: #eefaff;
}
.form-birth > .p-form-row.p-item.p-separator {
	border-bottom: 1px solid #e5e5e5;
}
.form-birth > .p-form-row.p-icon {
	margin-top: 240px;
	margin-right: 10px;
}
.form-birth > .p-form-row > .p-form-col {
	width: 100%;
	text-align: center;
	line-height: 30px;
}
.form-birth > .p-form-row > .p-form-col > .p-birth-txt {
	color: #005cb0;
	font-size: 2.0rem;
}
.form-birth > .p-form-row > .p-form-col > .p-birth-txt.is-disabled {
	color: #e5e5e5;
}
.form-birth > .p-form-row > .p-form-col > .p-name {
	width: 240px;
	text-align: left;
	padding: 3px 10px;
}
.form-birth > .p-form-row > .p-form-col > .p-name.is-disabled {
	color: #e5e5e5;
	width: 140px;
}
.form-birth > .p-form-row > .p-form-col > .p-name.is-disabled.width-wide {
	width: 240px;
}
.form-birth > .p-form-row > .p-form-col > .icon-step {
	position: relative;
	margin: 13px 10px 13px 0;
	width: 20px;
}
.form-birth > .p-form-row > .p-form-col > .icon-step.is-disabled {
	margin: 13px 0;
}
.form-birth > .p-form-row > .p-form-col > .icon-step::before {
	content: '';
	position: absolute;
	left: 0;
	width: 8px;
	height: 8px;
	border-bottom: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: rotate(-45deg);
	color: #005cb0;
}
.form-birth > .p-form-row > .p-form-col > .icon-step.is-disabled::before {
	color: #e5e5e5;
}
.form-birth > .p-form-row > .p-form-col > .icon-next-step {
	position: relative;
	width: 30px;
	height: 30px;
}
.form-birth > .p-form-row > .p-form-col > .icon-next-step::before {
	content: '';
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translate(3px, -50%) rotate(-135deg);
	border-left: 3px solid #005cb0;
	border-bottom: 3px solid #005cb0;
	width: 12px;
	height: 12px;
}
.form-birth > .p-form-row > .p-form-col > .icon-next-step.p-history-back::before {
	transform: translate(3px, -50%) rotate(45deg);
}
.form-birth > .p-form-row > .p-form-col > .icon-next-step.p-history-back {
	position: relative;
	width: 30px;
	height: 30px;
}

/* メールアドレス 確認欄 */
.form-confirm {
	color: #005ead;
	font-size: 2.7rem;
	line-height: 1.3;
	font-weight: bold;
	word-break: break-all;
}

/* アクセスしたきっかけ */
.form-site-access-label {
	display: block;
	font-size: 1.4rem;
	font-weight: bold;
	background-color: #f5f5f5;
	padding: 10px;
	text-align: left;
	border-top: 1px solid #E5E5E5;
	border-right: 1px solid #E5E5E5;
	border-left: 1px solid #E5E5E5;
}
.form-site-access {
	width: 100%;
	text-align: left;
}
.form-site-access > .p-form-col > label {
	line-height: 40px;
	display: block;
	border-top: 1px solid #E5E5E5;
	border-right: 1px solid #E5E5E5;
	border-left: 1px solid #E5E5E5;
	font-weight: bold;
	padding: 3px;
}
.form-site-access > .p-form-col > label.p-separator {
	border-bottom: 1px solid #E5E5E5;
}
.form-site-access > .p-form-col > label > .p-radio-label {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: 5px;
}
.form-site-access > .p-form-col > label > .p-radio-label::before {
	content: '';
	display: block;
	border-radius: 50%;
	border: 2px solid #E5E5E5;
	width: 14px;
	height: 14px;
}
.form-site-access > .p-form-col > label > .p-radio-label > .p-text {
	margin-top: 1px;
	margin-left: 5px;
	width: 320px;
}
.form-site-access > .p-form-col > label > input:checked + .p-radio-label::after {
	content: '';
	position: absolute;
	left: 4px;
	display: block;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	background-color: #005cb0;
	top: 15px;
}

/* 最終ページ「ご連絡先に間違いがないか、いま一度ご確認ください。」エリア */
.wrap-send-group {
	background: #eefaff;
	padding: 5px 10px;
	text-align: center;
	margin-bottom: 20px;
}
.send-group {
	margin: 20px 0;
}
.send-group-title {
	font-weight: bold;
	margin-bottom: 20px;
}
.send-group > fieldset > .form-set > *:first-child {
	margin-bottom: 5px;
}
.send-group > fieldset > .form-set > .p-input-block {
	display: flex;
}
.send-group > fieldset > .form-set > .p-input-block > a {
	margin: auto;
	width: 50px;
}
.send-group > fieldset > .form-set > .p-input-block > .confirm {
	background: #f2f2f2;
	border-radius: 5px;
	padding: 10px;
	min-height: 50px;
	width: 100%;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: normal;
	text-align: left;
	word-break: break-all;
	display: flex;
	align-items: center;
}
.send-group > fieldset > .form-set > .p-input-block > input {
	background: #fff;
	border-radius: 5px;
}
.send-group > fieldset > .form-set > .p-input-block > input:focus {
	border: 2px solid #005cb0;
	outline: none;
}
.send-group > fieldset > .form-set > .p-input-block > input.is-error {
	border: 2px solid #f34d47;
	outline: none;
}
.send-group > fieldset > .form-set > .p-error {
	margin-right: 50px;
}

/* 次へボタン */
.btn-box {
	height: 80px;
}
.btn-wrap {
	box-sizing: border-box;
	padding: 10px 0 14px;
	background: rgba(255, 255, 255, 0.8);
}
.btn-next {
	display: block;
	margin: 0 auto;
	padding: 0;
	appearance: none;
	background: none;
	border: none;
	width: 280px;
	transition: margin 0.3s, padding 0.3s;
	cursor: pointer;
}
.btn-next:not(.is-disabled):hover {
	padding-top: 4px;
	margin-bottom: 4px;
}
.btn-next > span {
	display: block;
	background: #005cb0;
	border-radius: 5px;
	border: none;
	box-shadow: 0 4px 0 #014B8E;
	width: 100%;
	padding: 15px 0;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
	transition: background-color 0.3s, box-shadow 0.3s;
}
.btn-next > span::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 14px;
	width: 15px;
	height: 15px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
}
.btn-next:not(.is-disabled):hover > span {
	box-shadow: none;
}
.btn-next.is-disabled > span {
	background: #aaa;
	box-shadow: 0 4px 0 #999;
	pointer-events: none;
}

/* 登録ボタン */
.wrap-btn-send {
	height: 100px;
	display: inline-block;
}
.btn-send {
	display: block;
	padding: 0;
	appearance: none;
	background: none;
	border: none;
	transition: margin 0.3s, padding 0.3s;
	cursor: pointer;
}
.btn-send:not(.is-disabled):hover {
	margin-top: 4px;
	margin-bottom: 4px;
	box-shadow: 3px 3px 5px #a9a9a9;
	border-radius: 6px;
}
.btn-send > div {
	display: block;
	background: linear-gradient(#FD8331, #FF6600);
	border-radius: 5px;
	border: none;
	box-shadow: 3px 3px 5px #c3c3c3;
	width: 430px;
	height: 90px;
	padding: 30px 40px 30px 0;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	position: relative;
	transition: 2s;
}
.btn-send.is-disabled > div {
	background: #aaa;
	box-shadow: 0 4px 0 #999;
	pointer-events: none;
}
.btn-send:not(.is-disabled):hover > div {
	box-shadow: none;
}
.btn-send > div > span::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 45px;
	width: 15px;
	height: 15px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
}
.btn-send-text-effect {
	text-shadow: 0 -1px 1px #bd5d00;
}
.btn-send-text-effect > span::after {
	box-shadow: 1px -1px #bd5d00;
}

/* LPの無料転職サポート申し込みボタン */
.btn-cv {
	box-sizing: border-box;
	appearance: none;
	position: relative;
	width: 430px;
	height: 90px;
	background: #f87a00;
	border-radius: 6px;
	display: block;
	border: none;
	margin: 0 auto 24px;
	padding: 0;
	outline: none;
	cursor: pointer;
	transition: opacity .3s;
}
.btn-cv:hover {
	opacity: .75;
}

/* 利用規約と個人情報の取り扱いリンク */
.link-list {
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	margin: 25px 0 10px;
}

/* マイナビAGENTスカウト */
.agent-scout-announcement {
	background: #ffffff;
	padding: 5px 10px;
	margin-bottom: 20px;
	border: 1px solid #e5e5e5;
}
.announcement-title {
	font-size: 14px;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
}
#agent-scout-announcement .announcement-title > img { /* 求人詳細EFの設定より優先度を上げるためidから指定する */
	width: 70%;
	margin-bottom: 0;
}
.announcement-desc {
	font-size: 12px;
	line-height: 1.7;
}
.announcement-inline {
	display: inline-block;
	margin: 10px;
	font-size: 13px;
}
.announcement-inline > input[type=checkbox] {
	display: none;
}
.announcement-link-list {
	display: flex;
	justify-content: center;
	margin: 10px 0 10px;
}
.announcement-check-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
	line-height: 1.7;
}
.announcement-check-wrap > .checkbox-wrap {
	position: relative;
}
.announcement-check-wrap > .checkbox-wrap > .checkbox::before, 
.announcement-check-wrap > .checkbox-wrap > .checkbox::after {
	content: '';
	position: absolute;
	top: 50%;
	display: block;
}
.announcement-check-wrap > .checkbox-wrap > .checkbox::before {
	transition: opacity .2s linear;
	z-index: 2;
	left: -10px;
	margin-top: -10px;
	width: 5px;
	height: 10px;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	opacity: 0;
	transform: rotate(45deg);
}
.announcement-check-wrap > .checkbox-wrap > .checkbox::after {
	transition: border-color .2s linear;
	z-index: 1;
	left: -15px;
	margin-top: -8px;
	width: 12px;
	height: 12px;
	border: 1px solid #585753;
	border-radius: 3px;
	background-color: #FFF;
}
.announcement-check-wrap > .checkbox-wrap > input[type=checkbox]:checked + .checkbox::before {
	opacity: 1;
}
.announcement-check-wrap > .checkbox-wrap > input[type=checkbox]:checked + .checkbox::after {
	background-color: #005EAD;
}

/* お申し込みにあたって*/
.notice {
	margin-bottom: 20px;
	background: #f6f6f6;
	padding: 10px;
	font-size: 1.1rem;
	line-height: 1.5;
}
.notice > dt {
	font-size: 1.3rem;
	font-weight: bold;
}

/* 企業情報 */
.addressArea {
	width: 1000px;
	padding: 10px 0 10px 32px;
	margin: 0 auto;
}
.addressArea__text {
	font-size: 11px;
}

/* 非表示項目 */
.u-hidden {
	display: none;
}
.u-device-sp--in {
	display: none;
}

/* サーバーエラー */
#p-section__error {
	padding: 0 5%;
}
/* バリデーションエラー エラーメッセージ */
.p-error {
	font-size: 1.4rem;
	line-height: 1.4;
	color: #f34d47;
	margin: 10px 0;
	text-align: center;
	display: none;
}
/* バリデーションエラー エラー箇所背景色 */
.is-error {
	background-color: #ffe5e5!important;
}