/*ファーストビュー*/

/* ------------------------------
大枠
------------------------------ */
/* 2025.11.25 add iwa */
.body_inner {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.inner,
.container{
	padding: 0 15px;
}

.container{
	padding-bottom: 100px;
	/* 2025.11.25 add iwa */
	flex-grow: 1;
}

@media (min-width:768px){
	.inner,
	.container{
		/*25.6.16 幅変更（5箇所を1100px→1200pxに）*/
		/*
		width: 1100px;
		*/
		width: 1200px;
		margin: 0 auto;
	}

	.container{
		display: flex;
	}

	.home .container{
		margin-top: 40px;
	}

	.main{
		flex: 1;
		/*25.6.16 幅変更*/
		/*
		width: 730px;
		*/
		width: 830px;
		margin: 0 auto;
	}

	.aside{
		width: 300px;
		margin-left: 40px;
	}

	.box{
		padding: 20px;
		border: 6px solid #f9f9f9;
		border-radius: 3px;
	}
}

/* ------------------------------
電話番号
------------------------------ */
.tel_num{
	position: relative;
	display: inline-block;
	padding-left: 1em;
	font-size: 26px;
	color: var(--main-color);
	line-height: 1;
}

.tel_num a{
	color: var(--main-color);
}

.tel_num:before{
	content: '';
	display: inline-block;
	width: .8em;
	height: .8em;
	position: absolute;
	left: 0;
	top: .05em;
	background: url(../images/icon_tel_circle.svg) center/contain no-repeat;
}

.tel_time{
	font-size: 12px;
}

/* ------------------------------
見出し
------------------------------ */
/*アイコン付きの小見出し*/
.title_icon{
	position: relative;
	margin: 60px 0 20px;
	padding: 0 0 0 1.4em !important;
	font-size: 20px;
	font-weight: bold;
	border: 0 !important;
	line-height: 1.6 !important;
}

.title_icon span{
	color: var(--main-color);
}

.title_icon:before{
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	position: absolute;
	left: 0;
	top: 0.2em;
	background: url(../images/icon_star.svg) left center / contain no-repeat;
}

.title_icon_pin:before{
	background-image: url(../images/icon_pin.svg);
}

.title_icon_search:before{
	background-image: url(../images/icon_search.svg);
}

.title_icon_bullhorn:before{
	background-image: url(../images/icon_bullhorn.svg);
}

.title_icon_heart:before{
	background-image: url(../images/icon_heart.svg);
}

/*シンプルな小見出し*/
.title_simple1{
	margin: 40px 0 15px;
	padding: 10px 15px;
	background: var(--main-color-light);
	border-radius: 5px 5px 0 0;
}

.title_simple2{
	margin: 40px 0 15px;
	padding: 0 10px;
	border-left: 3px solid var(--main-color);
	font-size: 16px;
}

@media (min-width:768px){
	/*
	.home .main > *:first-of-type .title_icon {
		margin-top: 0;
	}
	*/

	/*25.11.21修正*/
	.home .main > *:first-child .title_icon {
		margin-top: 0;
	}
}

@media screen and (max-width:767px){
	.title_icon{
		margin-top: 40px;
		font-size: 16px;
	}

	.title_icon:before{
		top: 0.2em;
	}
}

/* ------------------------------
基本のテーブル
------------------------------ */
p + .table{
	margin-top: 20px;
}

.table dt{
	font-weight: bold;
	background: #f9f9f9;
}

@media (min-width:768px){
	dl.table,
	.table dl{
		display: flex;
		flex-wrap: wrap;
	}

	.table dt,
	.table dd{
		margin-top: 3px;
		padding: 15px
	}

	.table dt:first-of-type,
	.table dd:first-of-type{
		margin-top: 0;
	}

	.table dt{
		width: 20%;
		display: flex;
		align-items: center;
		align-content: center;
		flex-wrap: wrap;
	}

	.table dd{
		width: 80%;
	}
}

@media screen and (max-width:767px){
	.table dt{
		margin-bottom: 10px;
		padding: 4px 8px;
	}

	.table dd + dt{
		margin-top: 20px;
	}
}

/* ------------------------------
dlリスト
------------------------------ */
@media (min-width:768px){
	.dl_list dl{
		display: flex;
		flex-wrap: wrap;
	}

	.dl_list dt,
	.dl_list dd{
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px dotted #ccc;
	}

	.dl_list dt:first-of-type,
	.dl_list dd:first-of-type{
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}

	.dl_list dt{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		width: 20%;
		font-weight: bold;
	}
	
	.dl_list dd{
		width: 80%;
		padding-left: 15px;
	}
}

/* ------------------------------
三角リンク
------------------------------ */
.triangle_link a{
	position: relative;
	display: inline-block;
	padding-left: 10px;
	text-align: justify;
	text-justify: inter-ideograph;
}

.triangle_link a:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
    border: 4px solid transparent;
    border-left: 4px solid var(--main-color);
}

/* ------------------------------
画像とテキスト横並び
------------------------------ */
.imgtext{
	display: flex;
}

/*画像*/
.imgtext > p{
	width: 30%;
}

.imgtext > p img{
	display: block;
	width: 100%;
}

/*テキスト*/
.imgtext > p + *{
	flex: 1;
	padding-left: 15px;
}

.aside .imgtext > p + *,
.joblist .imgtext > p + *{
	padding-left: 10px;
}



/* ------------------------------
ボタン
------------------------------ */
.btn1 > *,
.btn2 > *{
	/*position: relative;*/
	display: block;
	width: 100%;
	padding: 15px 30px;
	border-radius: 3px;
	background: var(--main-color);
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	text-decoration: none !important;
}

.btn2 > *{
	background: var(--main-color-light);
	color: var(--main-color);
}

/*矢印*/
.btn1,
.btn2{
	position: relative;
}

.btn1:after,
.btn2:after{
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -6px;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.btn2:after{
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
}

/*（無料）*/
.btn1_icon{
	margin-right: 8px;
	padding: 4px 8px;
	border-radius: 100px;
	background: #fff;
	color: var(--main-color);
	font-size: 12px;
}

/*お気に入りに追加*/
.btn_favorite > * > span{
	position: relative;
	padding-left: 1.4em;
}

.btn_favorite > * > span:before{
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images/icon_star.svg) left center / contain no-repeat;
}

/*ステップフォームの戻るボタン・お気に入り削除ボタン*/
.btn_back > *,
.btn_delete > *{
	background: #eee;
	color: #333;
	font-weight: normal;
}

.btn_back:after,
.btn_delete:after{
	border-top: 2px solid #999;
	border-right: 2px solid #999;
}

.btn_back:after{
	left: 15px;
	transform: rotate(-135deg);
}

/*サイドのログインボタン*/
.btn_login{
	width: 100% !important;
}

.btn_login > *{
	background: transparent;
	border: 1px solid var(--main-color);
}

/*余白*/
.dl_list + .btn_wrap,
.dl_list + .btn1,
.dl_list + .btn2,
#search_detail + .btn_wrap{
	margin: 40px 0 20px;
}

/*固定ページでspanが使えないのでemを使うため*/
.btn1 em,
.btn2 em{
	font-style: normal;
}

@media (min-width:768px){
	.btn_wrap{
		display: flex;
		justify-content: center;
	}

	.btn_wrap > *{
		width: calc(50% - 10px);
	}

	.btn_wrap > *:hover{
		opacity: 0.9;
	}

	.btn_wrap > * + *{
		margin-left: 20px;
	}
}

@media screen and (max-width:767px){
	.btn1 > *,
	.btn2 > *{
		font-size: 16px;
	}

	.btn_wrap > * + *{
		margin-top: 10px;
	}

	/*余白*/
	.dl_list + .btn_wrap,
	.dl_list + .btn1,
	.dl_list + .btn2,
	#search_detail + .btn_wrap{
		margin: 20px 0 0 0;
	}
}

/* ------------------------------
アコーディオン
------------------------------ */
@media screen and (max-width:767px){
	.acc_btn {
		position: relative;
		margin-bottom: 5px;
		padding: 10px;
		background: #f9f9f9;
		cursor: pointer;
	}
	
	.acc_btn:after {
		content: "";
		position: absolute;
		right: 15px;
		top: 35%;
		transition: all 0.2s ease-in-out;
		display: block;
		width: 8px;
		height: 8px;
		border-top: solid 2px #999;
		border-right: solid 2px #999;
		transform: rotate(135deg);
	}
	
	.acc_btn.open:after,
	.acc_btn.active:after {
		transform: rotate(-45deg);
		top: 40%;
	}
	
	.acc_btn + * {
		display: none;
		padding: 5px 5px 20px;
	}
}

/*------------------------------------------------------------
求人リスト
------------------------------------------------------------*/
.joblist a{
	display: block;
}

.joblist_location{
	color: var(--main-color);
}

.joblist_text {
	margin-top: 10px;
	font-size: 12px;
}

/* ------------------------------
タグリスト
------------------------------ */
.taglist{
	display: flex;
	flex-wrap: wrap;
}

.taglist li{
	margin: 5px 5px 0 0;
	padding: 5px;
	background: var(--main-color-light);
	font-size: 10px;
	line-height: 1;
}

/* ------------------------------
ラベルリスト
------------------------------ */
/*見出しのみで内容が無い場合に崩れるのを修正*/
.labellist{
	margin-top: 10px;
	font-size: 12px;
}

.labellist li{
	display: flex;
	align-items: flex-start;
}

.labellist li > span{
	display: block;
}

.labellist li > span:first-of-type{
	width: 50px;
	padding: 4px;
	background: var(--main-color);
	color: #fff;
	font-size: 10px;
	text-align: center;
	line-height: 1;
}

.labellist li > span + span{
	flex: 1;
	margin-left: 5px;
}

.labellist li + li{
	margin-top: 5px;
}

/* ------------------------------
求人横並び
------------------------------ */
.main .joblist .taglist{
	margin-top: 5px;
}

@media (min-width:768px){
	.main .joblist{
		display: flex;
		flex-wrap: wrap;
		/*margin-bottom: -40px;*/
	}

	.main .joblist a{
		width: calc((100% - 40px) / 3);
		/*
		margin: 0 20px 40px 0;
		*/
		margin: 0 20px 20px 0;
	}

	.main .joblist a:nth-of-type(3n){
		margin-right: 0;
	}
}

@media screen and (max-width:767px){
	.main .joblist a + a{
		margin-top: 15px;
		padding-top: 15px;
		border-top: 1px dotted #ccc;
	}
}

/*------------------------------------------------------------
サイド
------------------------------------------------------------*/
.aside > * + * {
	margin-top: 40px;
}

/*見出し*/
.side_title {
	margin-bottom: 20px;
	padding-left: 10px;
	border-left: 3px solid var(--main-color);
	font-size: 16px;
	font-weight: bold;
}

/*メインエリアから持ってきた見出し*/
.aside .title_icon {
	padding-left: 10px !important;
	border-left: 3px solid var(--main-color) !important;
	font-size: 16px;
}

.aside .title_icon:before {
	display: none;
}

.aside .title_icon span {
	color: inherit;
}

.aside * .title_icon {
	margin-top: 0;
}

.aside .title_icon + div {
	margin-top: 0;
}

/*ボタン*/
.aside .btn_wrap > * {
	width: 100%;
}

/*------------------------------
◯◯専門の無料転職サポート
------------------------------*/
.side_info{
	padding: 20px;
	border: 3px solid #eee;
	text-align: center;
}

.btn2 + .side_info{
	margin-top: 20px;
}

.side_info_title{
	/*
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	*/
	padding-bottom: 5px;
	/*
	border-bottom: 1px solid #ddd;
	*/
	font-size: 16px;
	font-weight: bold;
}

.side_info:has(.side_info_text) .side_info_title,
.side_info:has(.tel_num) .side_info_title {
	border-bottom: 1px solid #ddd;
}

.side_info_title p span{
	color: var(--main-color);
}

.side_info_text,
.side_info .tel_num,
.side_info .btn1{
	margin-top: 10px;
}

/*------------------------------
注目の求人特集
------------------------------*/
.side_link ul{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -10px;
}

.side_link ul li{
	width: calc(50% - 5px);
	margin-bottom: 10px;
}

.side_link ul li:nth-of-type(odd){
	margin-right: 10px;
}

.side_link ul li a{
	display: block;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 13px;
}

.side_link ul li a img{
	height: 18px;
	margin-right: 8px;
}

@media screen and (max-width:767px){
	.aside{
		margin-top: 40px;
	}
}

/*------------------------------
サイドの求人検索
------------------------------*/
@media (min-width:768px){
	.aside #searhtab {
		margin-bottom: 20px;
	}
	
	.aside .dl_list dt,
	.aside .dl_list dd{
		width: 100%;
	}
	
	.aside .dl_list dt {
		margin-bottom: 10px;
		color: var(--main-color);
	}
	
	.aside .dl_list dd {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
	
	.aside .dl_list + .btn_wrap {
		margin-top: 20px;
	}
}

/*------------------------------
求人詳細　ページ内リンク
------------------------------*/
.detail_side_link a {
	position: relative;
	display: block;
	width: 100%;
	padding: 15px 30px;
	border-radius: 3px;
	background: var(--main-color-light);
	color: var(--main-color);
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

.detail_side_link a + a {
	margin-top: 10px;
}

.detail_side_link a:after {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -6px;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: rotate(45deg);
}

.detail_side_link a:last-of-type {
	background: var(--main-color);
	color: #fff;
}

.detail_side_link a:last-of-type:after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;	
}

@media (min-width:768px){
	.detail_side_link a:hover {
		opacity: 0.9;
	}
}

/*------------------------------------------------------------
トップページ
------------------------------------------------------------*/
/* ------------------------------
メインビジュアル
------------------------------ */
.mainv img {
	display: block;
	width: 100%;
	height: calc(100vh - 70px);
	object-fit: cover;
}

@media screen and (max-width:1200px){
	.mainv img {
		height: calc(100vh - 130px);
	}	
}

/*---------------
メインビジュアルを「.container」からはみ出させて全幅に
---------------*/
/*
.mainv {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
*/

/*スクロールバー対策*/
/*
#home .body_inner {
	position: relative;
	overflow: hidden;
}
*/

/*---------------
メインビジュアルをメディアの画像に
---------------*/
/*
.plan_simple .mainv{
	background: url(/media/Public/mainv_pc_s.jpg) center top / cover no-repeat;
}
*/

/*------------------------------------------------------------
下層ページ共通
------------------------------------------------------------*/
/* ------------------------------
パンくず
------------------------------ */
.pnkz{
	margin: 40px auto;
	font-size: 10px;
	color: #999;
	text-align: justify;
	text-justify: inter-ideograph;
}

.pnkz li{
	display: inline;
}

.pnkz li:not(:last-of-type):after {
    content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 1px 4px;
	border-top: 1px solid #999;
	border-right: 1px solid #999;
	transform: rotate(45deg);
}

.pnkz li a{
	text-decoration: underline;
	color: #999;
}

.pnkz li h1{
	font-size: 12px;
	font-weight: normal;
	color: #999;
}

@media (min-width:768px){
	.pnkz li a:hover{
		text-decoration: none;
	}
}

@media screen and (max-width:767px){
	.pnkz{
		margin: 0 auto 40px;
		padding: 15px 15px 0;
	}

	/*横スクロールに変更*/
	.pnkz{
		display: flex;
		overflow-x: auto;
		scrollbar-color: #EFEFEF #EFEFEF;
		width: calc(100% - 30px);
		padding: 15px 0 10px;
	}
	
	.pnkz li{
		white-space: nowrap;
	}
	
	.pnkz li:not(:last-of-type):after {
		margin: 1px 6px 0 3px;
	}
}

/* ------------------------------
ページ見出し
------------------------------ */
.sub_heading,
.static_page_h2{
	margin-bottom: 40px;
	padding: 20px 0;
	border-top: 3px solid var(--main-color);
    border-bottom: 2px solid #eee;
	font-size: 18px;
    font-weight: bold;
	text-align: justify;
	text-justify: inter-ideograph;
}

.sub_heading > *{
	font-size: 18px;
}

@media screen and (max-width:767px){
	.sub_heading,
	.static_page_h2{
		margin-bottom: 20px;
		font-size: 16px;
	}

	.sub_heading > *{
		font-size: 16px;
	}
}

/*------------------------------------------------------------
求人検索
------------------------------------------------------------*/

/*------------------------------
検索　特徴　2段階
------------------------------*/
.search_choice_minititle{
	width: 100%;
	margin-right: 0 !important;
	padding: 5px 10px;
    background: var(--main-color-light);
	background: var(--main-color-light);
}

li + .search_choice_minititle{
	margin-top: 20px !important;
}

@media (min-width:768px){
	.search_choice_minititle{
		font-weight: bold;
	}
}

/* ------------------------------
検索結果
------------------------------ */
.search_results{
	border: 1px solid var(--main-color);
}

.search_results > * + *{
	margin-top: 20px;
}

/*○○の求人*/
.search_results .title{
	font-size: 20px;
	text-align: center;
}

.search_results .title span{
	margin-right: 5px;
	font-weight: bold;
}

/*件数*/
.results{
	line-height: 1.2;
}

.search_results .results{
	text-align: center;
}

.results span{
	display: inline-block;
	margin: 0 5px;
	font-size: 26px;
	font-weight: bold;
	color: var(--main-color);
}

.results span:first-of-type{
	margin-left: 0;
}

.search_results .title + .results{
	margin-top: 0;
}

/*検索条件*/
.search_results .search_conditions > p{
	background: #f9f9f9;
	font-weight: bold;
}

.search_results .search_conditions > ul > li{
	display: inline-block;
	margin-right: 10px;
}

/*検索条件変更*/
.search_results .change{
	padding: 15px 30px;
	background: var(--main-color-light);
	text-align: center;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.search_results .change:after{
	transform: rotate(135deg);
	margin-top: -8px;
}

.search_results .change.active:after{
	transform: rotate(-45deg);
	margin-top: -4px;
}

.search_results .change + div{
	display: none;
}

/*テキスト*/
.search_results .text{
	text-align: justify;
	text-justify: inter-ideograph;
}

/*検索結果0件*/
.nojobs{
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
}

.search_results + .box{
	margin-top: 40px;
}


@media (min-width:768px){
	/*件数*/
	.sub_heading + .results{
		margin-top: -20px;
	}

	/*検索条件*/
	.search_results .search_conditions{
		display: flex;
	}

	.search_results .search_conditions > *{
		padding: 10px;
	}

	.search_results .search_conditions > p{
		width: 100px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.search_results .search_conditions > ul{
		flex: 1;
	}

	/*検索条件変更*/
	.search_results .change:hover{
		opacity: 0.9;
	}
}

@media screen and (max-width:767px){
	.search_results{
		padding: 15px;
		border-radius: 3px;
	}

	/*検索条件*/
	.search_results .search_conditions > p{
		margin-bottom: 10px;
		padding: 5px 10px;
		text-align: center;
	}
}

/* ------------------------------
市区町村から探す
------------------------------ */
.citylink{
	display: flex;
	flex-wrap: wrap;
}

.citylink a{
	text-decoration: underline;
}

.citylink span{
	margin: 0 10px 0 5px;
}

@media (min-width:768px){
	.citylink a:hover{
		text-decoration: none;
	}
}

/* ------------------------------
おすすめ求人
------------------------------ */
@media (min-width:768px){
	.rec_job .box {
		padding: 0;
		border: 0;
		border-radius: 0;
	}
}

/* ------------------------------
チェックした求人をまとめてお気に入りに追加・お問合せ
------------------------------ */
.matomete{
	margin: 40px 0;
	padding: 20px;
	border: 1px solid var(--main-color);
    border-radius: 3px;
}

.matomete > p{
	margin-bottom: 15px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}

@media screen and (max-width:767px){
	.matomete{
		padding: 15px;
	}
}

/* ------------------------------
求人一覧
------------------------------ */
.jobbox{
	display: block;
	margin-top: 20px;
	border-radius: 3px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
	text-align: justify;
	text-justify: inter-ideograph;
	overflow: hidden;
}

.jobbox_check{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 10px 20px;
	background: #f9f9f9;
}

.jobbox_check .favorite a,
.jobbox_check .favorite span{
	position: relative;
    display: inline-block;
    padding-left: 20px;
	text-decoration: underline;
	cursor: pointer;
}

.jobbox_check .favorite a:before,
.jobbox_check .favorite span:before{
    position: absolute;
    top: 50%;
    margin-top: -7px;
    left: 0;
    display: inline-block;
    content: '';
    width: 14px;
    height: 14px;
    background: url(../images/icon_heart.svg) left center / contain no-repeat;
}

.jobbox > a{
	display: block;
	padding: 20px;
}

.jobtitle{
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
	text-decoration: underline;
}

.jobcatch{
	margin-top: 10px;
}

.jobbox .imgtext{
	margin-top: 20px;
}

.jobbox .imgtext li{
	position: relative;
	padding-left: 1.4em;
}

.jobbox .imgtext li:before{
	position: absolute;
	top: 0.2em;
	left: 0;
	display: inline-block;
	content: '';
	width: 1em;
	height: 1em;
	background: url(../images/icon_star.svg) left center / contain no-repeat;
}

.jobbox .imgtext li.address:before{
	background-image: url(../images/icon_pin.svg);
}

.jobbox .imgtext li.access:before{
	background-image: url(../images/icon_shoeprints.svg);
}

.jobbox .imgtext li.facility:before{
	background-image: url(../images/icon_building.svg);
}

.jobbox .imgtext li + li{
	margin-top: 5px;
}

.jobbox_text{
	margin-top: 15px;
	font-size: 12px;
}

@media (min-width:768px){
	.jobbox_check .favorite a:hover,
	.jobbox_check .favorite span:hover{
		text-decoration: none;
		opacity: 0.9;
	}

	.jobbox > a:hover .jobtitle{
		text-decoration: none;
	}

	.jobbox .imgtext{
		align-items: center;
	}
}

@media screen and (max-width:767px){
	.jobbox_check{
		padding: 13px 15px;
	}

	.jobbox_check p{
		margin: 2px 0;
	}

	.jobbox > a{
		padding: 15px;
	}
}

/*23.9.8　サービス形態の区切り*/
.jobbox .service + .service:before{
	content: "／"
}

/* ---------------
25.6.20
デザイン変更
--------------- */
.jobbox .imgtext {
	margin-top: 0;
}

/*「.imgtext」内に移動したリストに付いてしまうpadding-leftを修正*/
.jobbox .imgtext .taglist li {
	padding-left: 5px;
}

.jobbox .imgtext .labellist li {
	padding-left: 0;
}

/*「.imgtext」内に移動したリストに付いてしまうアイコンを削除*/
.jobbox .imgtext .taglist li:before,
.jobbox .imgtext .labellist li:before {
	display: none;
}

/*labellistを横並びに*/
.jobbox .imgtext .labellist {
	display: flex;
	flex-wrap: wrap;
	margin-right: -10px;
}

.jobbox .imgtext .labellist li {
	margin: 0 10px 5px 0;
}

.jobbox .imgtext .labellist li + li {
	margin-top: 0;
}

/*余白調整*/
.jobbox .imgtext > p + * {
	padding-left: 20px;
}

.jobbox .imgtext .taglist {
	margin-top: 5px;
}

.jobbox .imgtext .infolist {
	margin-top: 20px;
}

.jobbox .imgtext .labellist {
	margin-top: 15px;
}

@media (min-width:768px){
	.jobbox .imgtext {
		align-items: flex-start;
	}
}

@media screen and (max-width:767px){
	.jobbox .imgtext {
		flex-direction: column;
	}
	
	/*画像*/
	.jobbox .imgtext > p {
		width: 100%;
		margin-top: 20px;
	}

	/*並べ替え*/
	.jobbox .imgtext > div {
		/*並べ替えのために階層をないものとする*/
		display: contents;
	}
	
	.jobbox .imgtext .jobtitle {
		order: -3;
	}

	.jobbox .imgtext .jobcatch {
		order: -2;
	}

	.jobbox .imgtext .taglist {
		order: -1;
	}

	/*labellist*/
	.jobbox .imgtext .labellist li {
		min-width: calc((100% - 20px) / 2);
	}
}

/*------------------------------------------------------------
ページャー
------------------------------------------------------------*/
.pager_area{
	margin-top: 40px;
}

/*並び順セレクト*/
.pager_area select{
	min-width: 140px;
}

/*ページナビ*/
.page_nav{
	display: flex;
	align-items: center;
}

.page_nav li + li{
	margin-left: 10px;
}

.page_nav li a,
.page_nav li span{
	display: inline-block;
}

.page_nav li a{
	padding: 5px 10px;
	border-radius: 3px;
	background: #eee;
	color: #999;
	line-height: 1;
}

.page_nav li a.on{
	background: var(--main-color);
	color: #fff;
}

.page_nav li.num span:first-of-type{
	color: var(--main-color);
	font-weight: bold;
}

.page_nav li.num span:first-of-type:after{
	display: inline-block;
	content: "／";
	color: #333;
}

@media (min-width:768px){
	.pager_area{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

@media screen and (max-width:767px){
	.page_nav{
		margin-top: 20px;
		justify-content: center;
	}
}

/* ------------------------------
ページャー 記事一覧
------------------------------ */
@media (min-width:768px){
	.articlesbox + .pager_area{
		justify-content: center;
	}
}

/*------------------------------------------------------------
求人詳細
------------------------------------------------------------*/
#detail .main{
	text-align: justify;
	text-justify: inter-ideograph;
}

/*タイトル*/
#detail .main .jobtitle{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	color: #333;
	text-decoration: none;
}

/*キャッチコピー*/
#detail .main .jobcatch{
	margin-top: 10px;
}

/*タグリスト*/
#detail .main .taglist{
	margin-top: 10px;
}

#detail .main .jobtitle ~ .taglist li{
	font-size: 12px;
}

/*画像スライダー*/
.jobslider{
	width: 500px;
	max-width: 100%;
	margin: 40px auto 0;
}

.jobslider img{
	display: block;
	width: 100%;
}

.jobslider .slick-arrow{
	position: absolute;
	/*
	top: 0;
	bottom: 0;
	*/
	top: 40%;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	margin: auto;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
	cursor: pointer;
	z-index: 1;
}

.jobslider .prev{
	left: 10px;
}

.jobslider .next{
	right: 10px;
}

.jobslider .slick-arrow:after{
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
}

.jobslider .prev:after{
	transform: rotate(-135deg);
	left: 12px;
}

.jobslider .next:after{
	transform: rotate(45deg);
	right: 12px;
}

/*画像の下のテキスト*/
#detail .main .jobtext{
	margin-top: 60px;
}

#detail .main .jobtext p + p{
	margin-top: 1em;
}

/*ボタン*/
.jobslider ~ .btn_wrap{
	margin-top: 40px;
}

/*詳細*/
.jobtable dd > p + p{
	margin-top: 1em;
}

/*スラッシュ区切り*/
.slash_list{
	display: flex;
	flex-wrap: wrap;
}

.slash_list li:after{
	content: "／"
}

.slash_list li:last-of-type:after{
	display: none;
}

/*店舗・法人の画像*/
/*▼後で削除*/
.company_img{
	margin-bottom: 15px;
}

.company_img img{
	display: block;
	width: 300px;
	max-width: 100%;
}
/*▲後で削除*/

/*リンク*/
.jobtable a{
	text-decoration: underline;
	color: #02AEDC;
}

.jobtable .btn1 a{
	color: #fff;
}

/*職種、雇用形態、業種、活かせる資格が複数入った場合の区切り*/
.jobtable .category + .category:before,
.jobtable .employment + .employment:before,
.jobtable .service + .service:before,
.jobtable .qualification + .qualification:before{
	content: "／"
}

/*店舗*/
.jobdetail_facility_title,
.jobdetail_facility_text .facility_title{
	margin-bottom: 5px;
	font-weight: bold;
}

.facility_services {
	margin-top: 0.5em;
}

.jobdetail_facility_text .facility_services span {
	border: 1px solid var(--main-color);
	color: var(--main-color);
	padding: 2px 5px;
	margin-top: 0.5em;
	border-radius: 3px;
}

@media (min-width:768px){
	.jobslider .slick-arrow:hover{
		background-color: rgba(255,255,255,0.7);
	}

	/*店舗*/
	.jobdetail_facility{
		display: flex;
	}

	.jobdetail_facility_img{
		width: 300px;
		margin-right: 20px;
	}

	.jobdetail_facility_img img{
		display: block;
		width: 100%;
	}

	.jobdetail_facility_text{
		flex: 1;
	}

	/*法人*/
	.jobdetail_organisation_img{
		margin-bottom: 20px;
	}

	.jobdetail_organisation_img img{
		display: block;
		/*
		width: 100%;
		*/
		max-width: 100%;
	}

	/*リンク*/
	.jobtable a:hover{
		text-decoration: none;
	}
}

@media screen and (max-width:767px){
	/*店舗・法人の画像*/
	/*▼後で削除*/
	.company_img img{
		width: 220px;
		margin: 0 auto;
	}
	/*▲後で削除*/

	.jobdetail_facility_img img,
	.jobdetail_organisation_img img{
		display: block;
		width: 220px;
		margin: 0 auto 15px;
	}
}

/* ------------------------------
youtube
------------------------------ */
@media (min-width:768px){
	.youtube_movie{
		width: 500px;
		height: 282px;
		margin: 40px auto 0;
	}
	
	iframe#youtube_movie_frame{
		width: 100%;
		height: 100%;
	}
}

@media screen and (max-width:767px){
	.youtube_movie{
		position: relative;
		width: 100%;
		height: 0px;
		margin-top: 40px;
		padding-bottom: 56.25%;
	}
	
	iframe#youtube_movie_frame{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

/*------------------------------
23.9.7
求人詳細　求人画像スライダー　左右矢印の位置調整
------------------------------*/
.jobslider .slick-slide > div{
	display: flex;
	align-items: center;
}

/*------------------------------
23.9.7
特徴ラベルに画像を設定できるようになったことによる調整
------------------------------*/
.taglist li{
	display: flex;
	align-items: center;
	height: 20px;
	padding: 0 5px;
}

.taglist li.icon-image{
	padding: 0;
	background: transparent;
}

.taglist li.icon-image img{
	width: auto;
	height: 100%;
}

#detail .main .jobtitle ~ .taglist li{
	height: 22px;
}

/*------------------------------
23.9.7
求人詳細　htmlエディタから大きな画像アップ時に枠をはみ出す
------------------------------*/
.jobtable img{
	max-width: 100%;
}

/*------------------------------
slick読み込みまでの画像非表示
------------------------------*/
.jobslider p:not(:first-child) {
	display: none;
}

/*------------------------------
求人詳細スライダー
------------------------------*/
#slider3 {
    text-align: center;
    margin: 40px auto;
}

/*------------------------------------------------------------
記事ページ
------------------------------------------------------------*/
/* ------------------------------
記事一覧
------------------------------ */
.articlesbox{
	display: block;
	margin-top: 20px;
	text-align: justify;
	text-justify: inter-ideograph;
}

.articlesbox .date{
	color: #999;
}

.articlesbox .title{
	text-decoration: underline;
	line-height: 1.4;
}

.main .articlesbox .title{
	font-weight: bold;
}

.main .articlesbox .text{
	margin-top: 10px;
}

.main .articlesbox .author{
	font-size: 10px;
	color: #999;
}

/*サイド*/
.aside .articlesbox .date{
	font-size: 12px;
}

@media (min-width:768px){
	.articlesbox:hover .title{
		text-decoration: none;
	}

	.main .articlesbox .imgtext{
		align-items: center;
	}

	.main .articlesbox .title{
		font-size: 16px;
	}
}

/* ------------------------------
記事詳細
------------------------------ */
.articles_contents{
	margin-top: 40px;
}

.articles_data{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	color: #999;
}

.articles_mainv{
	margin-top: 20px;
}

.articles_mainv img{
	display: block;
	width: 100%;
}

.articles_contents img{
	display: block;
	max-width: 100%;
	height: auto;
}

.side_articles .btn2{
	margin-top: 20px;
}

.side_articles .btn2 a{
	font-size: 16px;
}

@media (min-width:768px){
	.articles_data{
		margin-top: -20px;
	}
}

/*------------------------------------------------------------
フォーム
------------------------------------------------------------*/
/*------------------------------
リセット
------------------------------*/
input,button,select,textarea{
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
}

/*------------------------------
チェックボックス・ラジオボタン
------------------------------*/
.checkbox input,
.radio input{
	display: none;
}

.checkbox span,
.radio span{
	position:relative;
	display: inline-block;
	padding-left: 20px;
	cursor: pointer;
}

/*ボックス*/
.checkbox span:before,
.radio span:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	border: 1px solid #999;
	border-radius: 3px;
	background: #fff;
}

.radio span:before{
	border-radius: 50%;
}

.checkbox input:checked + span{
	color: var(--main-color);
}

/*中身*/
.checkbox input:checked + span:after,
.radio input:checked + span:after{
	content: "";
	display: block;
	position: absolute;
}

/*チェックマーク*/
.checkbox input:checked + span:after{
	top: 0;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid var(--main-color);
	border-right: 3px solid var(--main-color);
}

/*ラジオボタンの中の丸*/
.radio input:checked + span:after{
	top: 6px;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--main-color);
}

/*並ぶ場合*/
ul.checkbox,
ul.radio,
ul.X-CheckList-UL{
	display: flex;
	flex-wrap: wrap;
	margin-top: -10px;
}

ul.checkbox li,
ul.radio li,
ul.X-CheckList-UL li{
	margin: 10px 15px 0 0;
}

/*採用担当者様へページのチェックボックス　余白調整*/
label.checkbox{
	margin-right: 10px;
}

/*------------------------------
入力系
------------------------------*/
input[type="text"],
input[type="password"],
input[type="tel"],
select,
textarea{
	display: block;
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
}

.textfield input{
	padding: 10px !important;
	border: 1px solid #ccc !important;
	border-radius: 3px;
}

textarea{
	height: 120px;
}

/*
input[type="text"].input_short{
	display: inline-block;
	width: 80px;
	margin-right: 4px;
}
*/

.input_short{
	display: inline-block !important;
	width: 80px !important;
	margin-right: 4px;
}

* + .input_short{
	margin-left: 4px;
}

/*------------------------------
セレクトボックス
------------------------------*/
.select,
.locationWish > span{
    position: relative;
	display: block;
	background: transparent;
}

.simpledatepicker > span{
    position: relative;
	background: transparent;
}

.select:after,
.locationWish > span:after,
.simpledatepicker > span:after{
    content: '';
    position: absolute;
    top: 50%;
	margin-top: -2.5px;
    right: 6px;
    border: 5px solid transparent;
    border-top: 5px solid #ccc;
}

.simpledatepicker > span:after{
	right: calc(1em + 10px);
}

.select select,
.locationWish > span select,
.simpledatepicker > span select{
	padding-right: 20px;
	cursor: pointer;
}

.locationWish > span select{
	display: block;
	width: 100%;
}

.locationWish > span + span{
	margin-top: 10px;
}

/*IEでも矢印を消す*/
::-ms-expand{
	display: none;
}

/*生年月日*/
.select_birthday span,
.select_year_month span{
	display: inline-block;
	width: 60px;
	margin: 0 4px;
}

.select_birthday span:nth-of-type(1),
.select_year_month span:nth-of-type(1){
	width: 80px;
	margin-left: 0;
}

.simpledatepicker span{
	display: inline-block;
}

.simpledatepicker span + span{
	margin-left: 4px;
}

.simpledatepicker select{
	margin-right: 4px;
}

/*都道府県選択待ち*/
.select-wait{
	display: block;
	width: 100%;
	padding: 10px;
	background: #eee;
	border-radius: 3px;
}

/*------------------------------
装飾その他
------------------------------*/
/*必須*/
.caution{
	font-size: 10px;
	color: #FF0000;
}

/*入力ルール*/
.hint{
	margin-top: 5px;
	font-size: 12px;
	color: #999;
}

/*ログイン画面の「パスワードを忘れた方はこちら」など*/
.hint a{
	text-decoration: underline;
}

/*プライバシーポリシーに同意*/
.accept_policy{
	margin: 40px 0 20px;
	text-align: center;
	font-size: 12px;
}

.accept_policy a{
	margin-right: 3px;
	text-decoration: underline;
}

/*入力エラー*/
.error{
	margin-bottom: 40px;
	padding: 15px;
	border: 1px solid;
	border-radius: 3px;
	font-weight: normal !important;
	color: #FF0000 !important;
}

@media (min-width:768px){
	.hint a:hover,
	.accept_policy a:hover{
		text-decoration: none;
	}
}

/*------------------------------
利用規約・プライバシーポリシーが無いときのボタン上の余白
（登録、応募、問合せ・採用担当者問合せ）
------------------------------*/
.X-ContactForm:not(:has(.accept_policy)) > .btn_wrap,
.entry:not(:has(.accept_policy)) > .btn_wrap,
form:not(:has(.accept_policy)) > .btn_wrap {
	margin-top: 40px;
}

/*------------------------------------------------------------
登録ページ・問合せページ
------------------------------------------------------------*/
/*ステップ番号*/
.register_step{
	display: flex;
	margin-bottom: 10px;
}

/*メッセージ*/
.message{
	margin-bottom: 20px;
	text-align: justify;
	text-justify: inter-ideograph;
}

.register .message{
	margin-bottom: 20px;
	font-weight: bold;
	color: var(--main-color);
}

.message p + p{
	margin-top: 1em;
}

/*フォーム*/
dd > * + .select,
dd > * + input[type="text"],
dd > * + textarea{
	margin-top: 10px;
}

.hint + input{
	margin-top: 10px;
}

/*ボタン*/
.table + .btn_wrap,
.complete_message + .btn_wrap,
.member-profile .btn_wrap{
	margin-top: 40px;
}

.accept_policy + .btn_wrap{
	margin-top: 20px;
}

/*送信完了*/
.complete_message{
	text-align: justify;
	text-justify: inter-ideograph;
}

.complete_message p + p{
	margin-top: 1em;
}

.complete_message .complete_message_strong {
	color: #f7636b;
	font-weight: bold;
}

.complete_message a{
	text-decoration: underline;
}

@media (min-width:768px){
	.complete_message a:hover{
		text-decoration: none;
	}
}

/*求人にお問い合わせ*/
.contact_job{
	margin-bottom: 40px;
}

.contact_job > p{
	margin-bottom: 20px;
	font-weight: bold;
	color: var(--main-color);
}

@media (min-width:768px){
	/*ステップ番号*/
	.register_step{
		justify-content: flex-end;
		margin-top: -20px;
	}
	
	.register_step li{
		display: inline-block;
		padding: 8px;
		background: #eee;
		border-radius: 3px;
		line-height: 1;
	}

	.register_step li.current{
		background: var(--main-color);
		color: #fff;
	}
	
	.register_step li + li{
		position: relative;
		margin-left: 20px;
	}
	
	.register_step li + li:after{
		display: block;
		content: '';
		position: absolute;
		top: 50%;
		margin-top: -4.5px;
		left: -15px;
		width: 7px;
		height: 7px;
		border-top: 1px solid #999;
		border-right: 1px solid #999;
		transform: rotate(45deg);
	}
}

@media screen and (max-width:767px){
	/*ステップ番号*/
	.register_step{
		justify-content: center;
		font-size: 16px;
	}

	.register_step li.current{
		margin-left: 8px;
		font-weight: bold;
		color: var(--main-color);
	}

	.register_step li.current:after{
		content: "/";
		margin: 0 2px;
		color: #333;
	}

	/*メッセージ*/
	.register .message{
		text-align: center;
	}
}


#regiform1 #prefecture,
#regiform1 #city,
#regiform1 #addressLine1,
#regiform1 #addressLine2 {
	margin-top: 0.2em;
}

/*------------------------------
24.2.20
「ログインして応募」ボタン
------------------------------*/
.register_login{
	display: block;
	margin: 0 0 40px;
	text-align: right;
}

.register_login .btn1{
	width: auto;
}

.register_login .btn1:after{
	display: none;
}

.register_login a{
	display: inline-block;
	width: auto;
	padding: 0.8em 2em;
	font-size: inherit;
}

.hint_caution {
  color: #f00;
}

p.hint_caution {
	line-height: 1.2em;
	margin-top: 0.4em;
}

/*------------------------------
23.11.8
フォーム追加
------------------------------*/
/*面接希望日の「時」*/
.datepart-hour{
	width: 64px !important;
}

/*面接希望日の「分」*/
.datepart-minute{
	width: 64px !important;
}

/*折り返しに対応*/
.simpledatepicker{
	display: flex;
	flex-wrap: wrap;
}

.simpledatepicker span{
	margin: 3px 6px 3px 0;
}

.simpledatepicker span + span{
    margin-left: 0;
}

/*------------------------------
ログイン状態で登録ページを見た時
------------------------------*/
.registered {
	margin-bottom: 30px;
	text-align: justify;
	text-justify: inter-ideograph;
}

@media (min-width:768px){
	.registered {
		text-align: center;
	}	
}

/*------------------------------------------------------------
マイページ
------------------------------------------------------------*/
/*------------------------------
サイドメニュー
------------------------------*/
.side_menu{
	padding: 5px 15px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
}

.side_menu li + li{
	border-top: 1px solid #eee;
}

.side_menu li a{
	position: relative;
	display: block;
	padding: 10px 20px 10px 0;
}

.side_menu li a:after{
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: 0;
	width: 10px;
	height: 10px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(45deg);
}

/*------------------------------
検索した条件
------------------------------*/
.searched_conditions{
	margin-top: 20px;
	padding: 20px;
	background: #f9f9f9;
}

.searched_conditions label + label{
	margin-top: 10px;
}

.searched_conditions input{
	display: none;
}

.searched_conditions label{
	position:relative;
	display: block;
	padding: 10px 10px 10px 36px;
	border-radius: 3px;
	background: #fff;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.05);
	cursor: pointer;
}

.searched_conditions span{
	display: inline-block;
	margin-right: 10px;
}

.searched_conditions input + span:before{
	content: "";
	display: block;
	position: absolute;
	top: 13px;
	left: 10px;
	width: 16px;
	height: 16px;
	border: 1px solid #999;
	border-radius: 50%;
}

.searched_conditions input:checked + span:after{
	content: "";
	display: block;
	position: absolute;
	top: 17px;
	left: 14px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--main-color);
}

@media (min-width:768px){
	.searched_conditions label:hover{
		opacity: 0.9;
	}
}

@media screen and (max-width:767px){
	.searched_conditions{
		padding: 15px;
	}

	.searched_conditions input + span:before{
		top: 12px;
	}

	.searched_conditions input:checked + span:after{
		top: 16px;
	}
}

/*23.9.7　調整*/
.searched_conditions + .searched_conditions{
	margin-top: 0;
	padding-top: 0;
}

/*------------------------------
プロフィール変更完了
------------------------------*/
.member-profile .info.message{
	padding: 15px;
	border: 1px solid;
	border-radius: 3px;
	font-weight: normal !important;
	color: #02AEDC !important;
}

/*------------------------------
24.1.23
退会手続き
------------------------------*/
.member-withdrawal{
	text-align: center;
}

.member-withdrawal > label{
	display: inline-block;
	margin: 0 0 20px;
}

/*------------------------------
24.1.23
マイページ
------------------------------*/
.mypage_menu li a{
	position: relative;
	display: block;
	width: 100%;
	padding: 15px 30px;
	border-radius: 3px;
	background: var(--main-color-light);
	color: var(--main-color);
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

.mypage_menu li a:after{
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -6px;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: rotate(45deg);
}

@media (min-width:768px){
	.mypage_menu{
		display: flex;
		flex-wrap: wrap;
	}
	
	.mypage_menu li{
		width: calc((100% - 15px) / 2);
		margin-bottom: 15px;
	}
	
	.mypage_menu li:nth-of-type(odd){
		margin-right: 15px;
	}

	.mypage_menu li a{
		font-size: 16px;
	}

	.mypage_menu li a:hover{
		opacity: 0.9;
	}
}

@media screen and (max-width:767px){
	.mypage_menu li{
		margin-bottom: 10px;
	}
}

/*------------------------------
24.1.24
スカウトページ
------------------------------*/
.offer-box{
	position: relative;
	margin: 20px 0 0;
	padding: 20px;
	border: 1px solid #eee;
	border-radius: 3px;
	text-align: justify;
	text-justify: inter-ideograph;

	/*リセット*/
	display: block !important;
	height: auto !important;
	line-height: inherit !important;
}

.offer-box > div:first-of-type{
	color: var(--main-color);
}

.offer-box .title{
	display: block;
	margin-bottom: .5em;
	padding-right: 40px;
	color: #333;
}

.offer-box .envelope-cell{
	position: absolute;
	top: 18px;
	right: 20px;
}

.offer-box .messages-trigger{
	display: inline-block;
	cursor: pointer;
}

@media (min-width:768px){
	.offers ~ .pager_area{
		justify-content: center;
	}
}

@media screen and (max-width:767px){
	.offer-box{
		margin: 15px 0 0;
		padding: 15px;
	}
}

/*------------------------------
23.9.5追加　応募履歴ページ
------------------------------*/
/*「お祝い金の申請をしました」*/
#application-history .message li{
	margin-bottom: 40px;
	padding: 10px;
	border: 1px solid var(--main-color);
	border-radius: 3px;
	color: var(--main-color);
	text-align: center;
}

/*「○○への応募」見出し*/
#oiwaikinUpdateForm .application > h3{
	margin-top: 40px;
	padding: 0.2em 0 0.2em 0.6em;
	border-left: 3px solid var(--main-color);
	font-size: 16px;
	font-weight: bold;
}

/*メールアイコン*/
.message-trigger-box{
	top: 0.3em !important;
}

/*お祝い金申請ボタン*/
#oiwaikinUpdateForm .jobbox + .btn_wrap{
	margin-top: 20px;
}

/*「お祝い金申請済み」*/
#oiwaikinUpdateForm .jobbox + span{
	display: block;
	margin-top: 20px;
	padding: 10px;
	background: var(--main-color-light);
	border-radius: 3px;
	text-align: center;
}

/*------------------------------
23.9.6追加　プロフィール変更ページ
------------------------------*/
/*希望内容 - 希望勤務時期　「その他」選択時以外は背景をグレーに*/
.member-profile input:disabled{
	background: #eee;
}

/*------------------------------
23.9.6追加　ログアウト時のメッセージ
------------------------------*/
.member-login .ui.info.message li{
	margin-bottom: 40px;
	padding: 10px;
	border: 1px solid var(--main-color);
	border-radius: 3px;
	color: var(--main-color);
	text-align: center;
}

/*------------------------------
23.9.7
メッセージポップアップの閉じるボタンとハンバーガーボタンの重なりを防ぐ
------------------------------*/
@media screen and (max-width:767px){
	#application-history .ham_btn,
	#offer .ham_btn{
		z-index: 9;
	}

	#application-history .ham_btn.active,
	#offer .ham_btn.active{
		z-index: 99999;
	}
}

/*------------------------------
23.9.14
応募履歴　折りたたみ
------------------------------*/
/*枠*/
#application-history .application{
	margin: 20px 0 0;
	padding: 20px;
	border: 1px solid #eee;
	border-radius: 3px;
}

/*タイトル*/
#application-history .application > div:first-of-type{
	font-size: 16px;
	padding-right: 40px;
	text-align: justify;
	text-justify: inter-ideograph;
}

/*ボタン*/
#application-history .acc_btn_all{
	position: relative;
	margin-top: 10px;
	padding: 10px;
	border: 1px solid var(--main-color);
	border-radius: 3px;
	color: var(--main-color);
	text-align: center;
	cursor: pointer;
}

#application-history .acc_btn_all:after{
	display: block;
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -6px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: rotate(135deg);
}

#application-history .acc_btn_all.active:after{
	transform: rotate(-45deg);
	margin-top: -3px;
}

/*中の枠*/
#application-history .application-targets .jobbox{
	box-shadow: none;
}

#application-history .application-targets .jobbox .jobbox_check{
	display: none;
}

#application-history .application-targets .jobbox > a{
	padding: 0;
}

/*メールアイコン*/
#application-history .message-trigger-box{
	top: 18px !important;
	right: 20px;
}

@media screen and (max-width:767px){
	/*枠*/
	#application-history .application{
		padding: 15px;
	}

	/*タイトル*/
	#application-history .application > div:first-of-type{
		font-size: 14px;
	}

	/*メールアイコン*/
	#application-history .message-trigger-box{
		top: 13px !important;
		right: 15px;
	}
}

/*------------------------------------------------------------
エラーページ
------------------------------------------------------------*/
.errorbox{
	text-align: center;
}

.errorbox .btn_wrap{
    margin-top: 40px;
}

/*------------------------------------------------------------
htmlエディタ
------------------------------------------------------------*/
.HTML_TEXT,
.articles_contents,
.articles_introduction_text,
#static_page .left_area,
.jobtable{
	text-align:justify;
	text-justify:inter-ideograph;
}

.HTML_TEXT h2,
.HTML_TEXT h3,
.HTML_TEXT h4,
.articles_contents h2,
.articles_contents h3,
.articles_contents h4,
.articles_introduction_text h2,
.articles_introduction_text h3,
.articles_introduction_text h4,
#static_page .left_area h2,
#static_page .left_area h3,
#static_page .left_area h4,
.jobtable h2,
.jobtable h3,
.jobtable h4{
	margin-bottom: 1em;
	line-height: 1.2;
}

.HTML_TEXT h2,
.articles_contents h2,
.articles_introduction_text h2,
#static_page .left_area h2,
.jobtable h2 {
	padding: 15px 10px;
	background: #f3f3f3;
	font-size: 20px;
}

.HTML_TEXT h3,
.articles_contents h3,
.articles_introduction_text h3,
#static_page .left_area h3,
.jobtable h3{
	padding: 0 10px 10px;
	border-bottom: 2px solid #ddd;
	font-size: 18px;
}

.HTML_TEXT h4,
.articles_contents h4,
.articles_introduction_text h4,
#static_page .left_area h4,
.jobtable h4{
	padding: 5px 10px 5px 6px;
	border-left: 4px solid #ccc;
	font-size: 16px;
}

.HTML_TEXT ul li,
.articles_contents ul li,
.articles_introduction_text ul li,
#static_page .left_area ul li,
.jobtable ul li{
	position: relative;
	padding-left: 1em;
}

.HTML_TEXT ul li:before,
.articles_contents ul li:before,
.articles_introduction_text ul li:before,
#static_page .left_area ul li:before,
.jobtable ul li:before{
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 3px;
	width: 4px;
	height: 4px;
	background-color: #ccc;
	border-radius: 100%;
}

.HTML_TEXT ol,
.articles_contents ol,
.articles_introduction_text ol,
#static_page .left_area ol,
.jobtable ol{
	counter-reset: li;
}

.HTML_TEXT ol li,
.articles_contents ol li,
.articles_introduction_text ol li,
#static_page .left_area ol li,
.jobtable ol li{
	position: relative;
	padding-left: 20px;
}

.HTML_TEXT ol li:before,
.articles_contents ol li:before,
.articles_introduction_text ol li:before,
#static_page .left_area ol li:before,
.jobtable ol li:before{
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: li;
	content: counter(li)'.';
}

.HTML_TEXT th,
.HTML_TEXT td,
.articles_contents th,
.articles_contents td,
.articles_introduction_text th,
.articles_introduction_text td,
#static_page .left_area th,
#static_page .left_area td,
.jobtable th,
.jobtable td{
	padding: 0.5em;
}

.HTML_TEXT th,
.articles_contents th,
.articles_introduction_text th,
#static_page .left_area th,
.jobtable th{
	font-weight: bold;
}

.HTML_TEXT a,
.articles_contents a,
.articles_introduction_text a,
#static_page .left_area a,
.jobtable a{
	text-decoration: underline;
}

/*余白調整*/
* + .HTML_TEXT{
	margin-top: 40px;
}

.HTML_TEXT + .search_results{
	margin-top: 40px;
}

.results + .HTML_TEXT{
	margin-top: 20px;
}

.container + .HTML_TEXT{
	margin: -60px 0 100px;
	padding: 0 15px;
}

@media (min-width:768px){
	.container + .HTML_TEXT{
		/*25.6.16 幅変更（5箇所を1100px→1200pxに）*/
		/*
		width: 1100px;
		*/
		width: 1200px;
		margin: -60px auto 100px;
	}

	.HTML_TEXT a:hover,
	.articles_contents a:hover,
	.articles_introduction_text a:hover,
	#static_page .left_area a:hover,
	.jobtable a:hover{
		text-decoration: none;
	}
}

@media screen and (max-width:767px){
	/*
	.HTML_TEXT em,
	.articles_contents em,
	.articles_introduction_text em,
	#static_page .left_area em,
	.jobtable em{
		font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	}
	*/

	.HTML_TEXT h2,
	.articles_contents h2,
	.articles_introduction_text h2,
	#static_page .left_area h2,
	.jobtable h2 {
		font-size: 17px;
	}
	
	.HTML_TEXT h3,
	.articles_contents h3,
	.articles_introduction_text h3,
	#static_page .left_area h3,
	.jobtable h3{
		font-size: 16px;
	}
	
	.HTML_TEXT h4,
	.articles_contents h4,
	.articles_introduction_text h4,
	#static_page .left_area h4,
	.jobtable h4{
		font-size: 14px;
	}
}

/*OM　斜体*/
/*
.articles_contents em,
.articles_introduction_text em {
	font-family: 'ヒラギノ角ゴ W3 JIS2004', 'Hiragino Kaku Gothic W3 JIS2004', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
*/

/*------------------------------------------------------------
フッター
------------------------------------------------------------*/
.footer{
	width: 100%;
	padding: 40px 0;
	background: #f9f9f9;
	text-align: center;
}

.footer .inner{
	width: 100%;
}

.footer_text{
	margin-top: 40px;
	font-size: 12px;
}

.footer_logo a{
	display: inline-block;
	margin-top: 30px;
	transition: all .3s;
}

.footer_logo img{
	height: 40px;
}

.footer_num{
	margin-top: 15px;
}

.footer .copy,
.footer .product{
	font-size: 10px;
}

.footer .copy{
	margin-top: 40px;
}

.totop{
	position: fixed;
	right: 10px;
	bottom: 10px;
	display: none;
	z-index: 1;
}

.totop a{
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	background: #111;
	border-radius: 40px;
	opacity: 0.8;
	transition: all .3s;
}

.totop a:before{
	position: absolute;
	display: block;
	content: '';
	top: 17px;
	left: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
}

/*下部固定メニューあり*/
.bottombtn + .footer{
	padding-bottom: 110px;
}

.bottombtn + .footer .totop{
	bottom: 80px;
}

@media (min-width:768px){
	.footer .triangle_link{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	.footer .triangle_link li{
		margin:  5px 15px;
	}

	.totop a:hover{
		opacity: 0.6;
	}
}

@media screen and (max-width:767px){
	.footer .triangle_link li + li{
		margin-top: 10px;
	}

	.footer_text{
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.footer_logo img{
		height: 30px;
	}
}

/*------------------------------------------------------------
下部固定メニュー
------------------------------------------------------------*/
.bottombtn,
.bottombtn > *{
	display: flex;
	justify-content: center;
	align-items: center;
}

.bottombtn{
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999999;
	width: 100%;
	height: 70px;
	padding: 0 10px;
	background: #fff;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
	line-height: 1;
}

.bottombtn > *{
	height: 50px;
	margin-left: 10px;
}

.bottombtn_message{
	margin-left: 0;
}

.bottombtn > a,
.bottombtn > div{
	padding: 0 10px;
    border: 1px solid #ddd;
	border-radius: 5px;
	background: -moz-linear-gradient(top center,#fff 0%,#eee 100%);
    box-shadow: inset 0 0 1px 1px #fff;
}

.bottombtn a span:before,
.bottombtn_tel span:before{
	display: block;
	content: "";
	width: 18px;
	height: 18px;
}

.bottombtn_register span:before,
.bottombtn_mypage span:before{
	background: url(../images/icon_register.svg) left center / contain no-repeat;
}

.bottombtn_mail span:before{
	background: url(../images/icon_mail.svg) left center / contain no-repeat;
}

.bottombtn_tel span:before{
	background: url(../images/icon_tel.svg) left center / contain no-repeat;
}

.bottombtn_line span:before{
	background: url(../images/icon_line.svg) left center / contain no-repeat;
}

.bottombtn_login span:before{
	background: url(../images/icon_login.svg) left center / contain no-repeat;
}

.bottombtn_search span:before{
	background: url(../images/icon_search.svg) left center / contain no-repeat;
}

/*LINE*/
.bottombtn_line{
	border: 0 !important;
	box-shadow: none !important;
	background: #06C755;
	color: #fff;
}

.bottombtn_line span:before {
    background: url(../images/icon_line2.svg) left center / contain no-repeat;
}

@media (min-width:768px){
	.bottombtn a span,
	.bottombtn_tel span{
		display: flex;
		align-items: center;
		font-weight: bold;
	}

	.bottombtn_register span:before,
	.bottombtn_mypage span:before,
	.bottombtn_mail span:before{
		margin-right: 4px;
	}

	.bottombtn_line span:before{
		margin-right: 6px;
	}

	.bottombtn_tel{
		font-size: 16px;
	}

	.receptiontime{
		margin-left: 10px;
		text-align: center;
		font-size: 10px;
		font-weight: normal;
		line-height: 1.2;
	}
	
	.bottombtn_qr img{
		display: block;
		width: 50px;
	}

	.bottombtn_login span:before{
		margin-right: 8px;
	}

	.bottombtn_search span:before{
		margin-right: 6px;
	}
}

@media screen and (max-width:930px){
	.bottombtn_message{
		display: none;
	}

	.bottombtn > a:first-of-type{
		margin-left: 0;
	}
}

@media screen and (max-width:767px){
	.bottombtn > *{
		width: 100%;
		margin-left: 5px;
		font-size: 10px;
	}

	.bottombtn > a,
	.bottombtn > div {
		padding: 0;
	}

	.bottombtn a span:before{
		margin: 0 auto 5px;
	}
}

/*------------------------------
23.11.30
下部固定ボタン　メニュー
------------------------------*/
@media screen and (max-width:767px){
	.bottombtn_menu{
		padding: 0 10px;
		border: 1px solid #ddd;
		border-radius: 5px;
		background: -moz-linear-gradient(top center,#fff 0%,#eee 100%);
		box-shadow: inset 0 0 1px 1px #fff;
	}
	
	.bottombtn_menu span:before{
		display: block;
		content: "";
		width: 18px;
		height: 18px;
		background: url(../images/icon_menu.svg) left center / contain no-repeat;
	}

	.bottombtn_menu span:before{
		margin: 0 auto 5px;
	}
}

/*------------------------------
25.4.15 追加依頼
検索ボタンの固定
------------------------------*/
.btn_wrap.fixed.view_button {
	position: fixed;
	bottom: 60px;
	width: 20%;
	z-index: 3;
}

/*追加 mizu*/
.btn_wrap.fixed.view_button {
	position: sticky;
}

@media (min-width:768px){
	.btn_wrap.fixed.view_button {
		/* ▼position fixed*/
		/*
		margin: 0;
		*/
	}

	.top_search .btn_wrap.fixed.view_button,
	.main .btn_wrap.fixed.view_button {
		width: 500px;
		bottom: 30px;
		left: calc(50% - 250px);
	}

	.aside .btn_wrap.fixed.view_button {
		width: 300px;
		bottom: 15px;
	}
	
	.btn_wrap.fixed.view_button .btn1 {
		width: 100%;
	}
}

@media screen and (max-width:767px){
	.btn_wrap.fixed.view_button {
		bottom: 15px;
		/* ▼position fixed*/
		/*
		width: calc(100% - 30px);
		*/
		/* ▼position sticky*/
		width: 100%;
	}	
}

/*------------------------------------------------------------
チェックした求人をまとめてお気に入りに追加・お問合せ
------------------------------------------------------------*/
.matomete-after {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 999999;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 70px;
	background: rgba(var(--main-color-rgb),0.9);
	color: #fff;
}

.matomete-after p:first-of-type{
	font-weight: bold;
}

.matomete-after p + p {
	margin-left: 10px;
}

.matomete-after a {
	display: flex;
	align-items: center;
	height: 50px;
	padding: 0 10px;
	background: #fff;
	border-radius: 5px;
}

.matomete-after a span{
	display: flex;
	align-items: center;
}

.matomete-after a span:before{
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 6px;
}

.ma-favorite a span:before{
	background: url(../images/icon_star.svg) left center / contain no-repeat;
}

.ma-contact a span:before{
	background: url(../images/icon_mail.svg) left center / contain no-repeat;
}

.ma-delete a span:before{
	background: url(../images/icon_trash.svg) left center / contain no-repeat;
}

@media (min-width:768px){
	.matomete-after a span{
		font-weight: bold;
	}
}

@media screen and (max-width:767px){
	.matomete-after{
		font-size: 10px;
	}
	
	.matomete-after p + p {
		margin-left: 8px;
	}

	.matomete-after a span {
		flex-direction: column;
		line-height: 1;
	}

	.matomete-after a span:before {
		margin: 0 auto 5px;
	}
}

/*狭いスマホ*/
@media screen and (max-width:360px){
	.matomete-after p:first-of-type{
		width: 30%;
	}
}

/*表示・非表示*/
.matomete-after{
	transition: opacity 200ms;
}

.matomete-after.off{
	opacity: 0;
	pointer-events: none;
}

/*トップへ戻るボタン調整*/
/*問い合わせバーが出た時だけ少し上げるに変更（.on追加）*/
/*.bottombtn + .footer .totop.on{
    bottom: 130px;
}*/

/*------------------------------
25.4.15 追加依頼
まとめてチェックで既存のバーを隠す
------------------------------*/
.bottombtn.off {
    display: none !important;
}

/*------------------------------------------------------------
求人検索ページ　タブ切り替え
------------------------------------------------------------*/
@media (min-width:768px){
	.dl_list dl > div{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}

	.dl_list dl > div dt:first-of-type,
	.dl_list dl > div dd:first-of-type{
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px dotted #ccc;
	}
}

/*タブ部分*/
#searhtab{
	display: flex;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--main-color);
}

#searhtab span{
	display: block;
	width: calc((100% - 20px) / 2);
	margin-right: 20px;
	padding: 10px 5px;
	background: #eee;
	border-radius: 6px 6px 0 0;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}

#searhtab span:last-of-type{
	margin-right: 0;
}

#searhtab span.active{
	background: var(--main-color);
	color: #fff;
}

/*メイン画像下*/
.home #searhtab{
	border-bottom: 1px solid #999;
}

.home #searhtab span.active{
	background: #999;
}

@media (min-width:768px){
	#searhtab span:hover{
		opacity: 0.8;
	}
}

@media screen and (max-width:767px){
	#searhtab{
		margin-bottom: 20px;
	}

	#searhtab span{
		width: calc((100% - 15px) / 2);
		margin-right: 15px;
	}
}

/* ------------------------------------------------------------
スライダー
------------------------------------------------------------ */
.slick-dotted.slick-slider{
	margin-bottom: 0 !important;
}

.slick-dots{
	position: static !important;
	margin-top: 10px !important;
}

/* ------------------------------
スライダーの高さを揃える
------------------------------ */
.slick-track{
	display: flex !important;
}
.slick-slide{
	height: auto !important;
}

.slick-slide > div,
.slick-slide a{
	height: 100% !important;
}

/*スライド同士の間隔*/
.slick-slide{
	margin: 0 5px;
}

/* ------------------------------
【スライダー】PCは2つ、スマホは1つずつ表示

・トップ　新着求人一覧
・求人詳細　関連求人
・県のページ　おすすめ求人
------------------------------ */
.slider_p2s1 .joblist{
	display: block !important;
	/*
	margin-left: -12px;
	margin-right: -12px;
	*/
}

.slider_p2s1 .joblist .slick-slide{
	margin: 12px;
}

.slider_p2s1 .joblist a {
	margin: 0;
	padding: 15px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	transition: all .3s;
}

@media (min-width:768px){
	.slider_p2s1 .joblist a:hover {
		box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
	}
}

/*ウルトラライト　スライダーなし*/
.main .joblist > a {
	padding: 15px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	transition: all .3s;
}

@media (min-width:768px){
	.main .joblist > a:hover {
		box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
	}
}

/*左右の矢印*/
.slider_p2s1 .joblist .slick-arrow{
	position: absolute;
	top: 50%;
	bottom: 0;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	margin-top: -35px;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
	cursor: pointer;
	z-index: 1;
}

.slider_p2s1 .joblist .prev{
	left: 0;
}

.slider_p2s1 .joblist .next{
	right: 0;
}

.slider_p2s1 .joblist .slick-arrow:after{
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
}

.slider_p2s1 .joblist .prev:after{
	transform: rotate(-135deg);
	left: 12px;
}

.slider_p2s1 .joblist .next:after{
	transform: rotate(45deg);
	right: 12px;
}

.slider_p2s1 + .btn_wrap{
	margin-top: 20px;
}

/*求人詳細*/
#detail .slider_p2s1 + .btn_wrap{
	margin-top: 80px;
}

@media (min-width:768px){
	.slider_p2s1 .joblist .prev{
		left: -8px;
	}

	.slider_p2s1 .joblist .next{
		right: -8px;
	}
}

/*---------------
左右の矢印を変更
---------------*/
.slider_p2s1 .joblist .slick-arrow{
	width: 40px;
	height: 60px;
	margin-top: -50px;
	background: rgba(var(--main-color-rgb),0.9);
	border-radius: 0;
}

.slider_p2s1 .joblist .slick-arrow:after{
	top: 50%;
	margin-top: -7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.slider_p2s1 .joblist .prev:after{
	left: 16px;
}

.slider_p2s1 .joblist .next:after{
	right: 16px;
}

/*------------------------------------------------------------
固定ページ
------------------------------------------------------------*/
.static_contents{
	text-align: justify;
	text-justify: inter-ideograph;
}

.static_contents > p + p{
	margin-top: 1em;
}

/*イントロ用（中央寄せ）*/
.static_center{
	text-align: center;
	line-height: 1.8;
}

.static_center > p + p{
	margin-top: 1em;
}

@media screen and (max-width:767px){
	#static_page .title_icon,
	.sub_heading ~ .title_icon{
		font-size: 16px !important;
	}
}

/*------------------------------
ボタン
------------------------------*/
#static .btn_wrap,
#static_page .btn_wrap {
	margin-top: 30px;
}

/*------------------------------
見出し（サービス紹介）
------------------------------*/
.title_simple_1{
	padding: 0 !important;
	border: 0 !important;
	font-size: 18px !important;
	color: var(--main-color);
	line-height: inherit !important;
}

.title_simple_2{
	margin-bottom: 1em;
	padding: .2em 0 .2em .6em;
	border-left: 3px solid var(--main-color) !important;
	font-size: 16px;
	font-weight: bold;
}

.title_simple_3{
	padding: 0 !important;
	border: 0 !important;
	text-align: center;
	font-size: 18px !important;
	color: var(--main-color);
}

.title_simple_3 + hr{
	width: 60px;
	margin: 0 auto 40px;
	border: 1px solid var(--main-color);
}

@media screen and (max-width:767px){
	/*見出し*/
	.title_simple_1{
		font-size: 16px !important;
	}

	.title_simple_2{
		font-size: 14px !important;
	}

	.title_simple_3{
		font-size: 16px !important;
	}
}

/*------------------------------
フロー（採用ご担当者様へ）
------------------------------*/
.static_flow{
	margin-bottom: 60px;
}

.static_flow li{
	margin-bottom: 30px;
	padding: 20px !important;
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
	border-radius: 3px;
	text-align: justify;
	text-justify: inter-ideograph;
}

/*箇条書きの「・」を消す*/
.static_flow li:before{
	display: none !important;
}

.static_flow li + li{
	position: relative;
}

.static_flow li + li:before{
	content: "";
	display: block !important;
	position: absolute;
	top: -19px !important;
	left: 50% !important;
	margin-left: -8px;
	border: 8px solid transparent;
	border-top: 8px solid var(--main-color);

	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.static_flow_title{
	margin-bottom: 5px;
	font-weight: bold;
	display: flex;
}

.static_flow_title p:first-of-type{
	margin-right: 10px;
	font-size: 20px;
	color: var(--main-color);
}

.static_flow_title p:last-of-type{
	flex: 1;
}

@media (min-width:768px){
	.static_flow_title p:last-of-type{
		padding-top: 6px;
	}
}

@media screen and (max-width:767px){
	.static_flow li{
		padding: 15px;
	}

	.static_flow_title p:last-of-type{
		padding-top: 5px;
	}
}

/*------------------------------
サービス紹介
------------------------------*/
/*採用までの流れ（アコーディオン版）*/
.static_flow3{
	border-bottom: 2px solid #eee;
	text-align: justify;
	text-justify: inter-ideograph;
}

.static_flow3 dt{
	position: relative;
	display: flex;
	padding: 10px 34px 10px 10px;
	border-top: 2px solid #eee;
	font-weight: bold;
	cursor: pointer;
}

.static_flow3 dt p:first-of-type{
	margin-right: 10px;
	font-size: 16px;
	color: var(--main-color);
}

.static_flow3 dt p:last-of-type{
	flex: 1;
	padding-top: 0.1em;
}

.static_flow3 dt:before,
.static_flow3 dt:after{
    content: "";
    width: 14px;
    height: 2px;
    background: var(--main-color);
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.static_flow3 dt:after{
    transform: translateY(-50%) rotate(90deg);
    transition: .5s;
}

.static_flow3 dt.active:after{
    transform: translateY(-50%) rotate(0);
}

.static_flow3 dd{
	display: none;
	padding: 10px 10px 20px;
}

/* ------------------------------
会社概要
------------------------------ */
.company_table a {
	text-decoration: underline;
}

.company_table + iframe {
	margin-top: 40px;
}

@media (min-width:768px){
	.company_table a:hover {
		text-decoration: none;
	}
}

/*------------------------------
よくある質問
------------------------------*/
/*タイトル*/
.qanda_3 h3 {
    position: relative;
    cursor: pointer;
	margin: 0 !important;
    padding: 15px 50px !important;
    transition: all .5s ease;
	font-size: inherit !important;
	font-weight: bold;
	border: 0 !important;
	background: url(../images/question.svg) 15px 15px / auto 20px no-repeat #f6f6f6 !important;
	text-align: justify;
	text-justify: inter-ideograph;
	line-height: inherit !important;
}

/*内容*/
.qanda_box {
    display: none;
    padding: 15px 15px 15px 50px;
	background: url(../images/answer.svg) 15px 15px / auto 20px no-repeat;
	text-align: justify;
	text-justify: inter-ideograph;
}

/*「＋」「×」*/
.qanda_3 h3::before,
.qanda_3 h3::after {
    position: absolute;
	top: calc(50% - 1px);
    right: 15px;
    content:'';
    width: 15px;
    height: 2px;
    background-color: var(--main-color);
}

.qanda_3 h3::before {
    transform: rotate(0deg);
}

.qanda_3 h3::after {    
    transform: rotate(90deg);
}

.qanda_3 h3.close::before {
	transform: rotate(45deg);
}

.qanda_3 h3.close::after {
	transform: rotate(-45deg);
}

/*------------------------------
サイトマップ
------------------------------*/
.sitemap > dt{
	margin: 40px 0 15px;
	padding-left: 10px;
	border-left: 3px solid var(--main-color);
	font-weight: bold;
}

.sitemap a{
	text-decoration: underline;
}

.sitemap li{
	position: relative;
	margin-bottom: 10px;
	padding-left: 13px;
}

.sitemap li:before{
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 0;
	width: 4px;
	height: 4px;
	background-color: #ccc;
	border-radius: 100%;
}

.sitemap li ul{
	margin-top: 10px;
}

/*無料*/
.sitemap em{
	display: inline-block;
	margin-left: 5px;
	padding: 5px;
	background: var(--main-color);
	color: #fff;
	font-style: normal;
	font-size: 12px;
	line-height: 1;
}

/*電話*/
.sitemap_tel{
	margin-top: 40px;
}

.sitemap_tel .title{
	margin-bottom: 5px;
}

.sitemap_tel .tel_time span{
	margin-right: 5px;
}

/*LINE*/
.sitemap_line{
	margin-top: 20px;
}

/*地域*/
.sitemap_area{
	margin-top: 40px;
}

.sitemap_area dt{
	margin-top: 10px;
	font-weight: bold;
	color: var(--main-color);
}

.sitemap_area ul{
	display: flex;
	flex-wrap: wrap;
}

.sitemap_area li{
	margin-right: 15px;
	padding: 0;
}

.sitemap_area li:before{
	display: none;
}

/*ニュース・コラム*/
.sitemap_content > li{
	margin-bottom: 20px;
}

@media (min-width:768px){
	.sitemap a:hover{
		text-decoration: none;
	}

	/*LINE*/
	.sitemap_line .title{
		margin-bottom: 10px;
	}
}

@media screen and (max-width:767px){
	/*電話・LINE*/
	.sitemap_tel,
	.sitemap_line{
		padding: 0 !important;
	}

	.sitemap_tel:before,
	.sitemap_line:before{
		display: none !important;
	}

	/*電話*/
	.sitemap_tel{
		text-align: center;
	}

	.sitemap_tel .btn1{
		margin-bottom: 5px;
	}
}





/*------------------------------------------------------------------------------------------
各プランCSS
------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------
ライト・スタンダードのみ
------------------------------------------------------------*/
/* ------------------------------
メイン画像
------------------------------ */
.plan_simple .mainv{
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../images/simple_mainv_pc_s.jpg) center top / cover no-repeat;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .1em;
}

.plan_simple .mainv_catch,
.plan_simple .mainv_logo img,
.plan_simple .mainv_text{
	filter: drop-shadow(0 0 10px #fff);
}

.plan_simple .mainv_catch{
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: bold;
}

.plan_simple .mainv_catch span{
	margin: 0 2px;
	vertical-align: middle;
}

.plan_simple .mainv_catch span:first-of-type{
	font-size: 24px;
	color: var(--main-color);
}

/*キャッチコピーを折り返す場合*/
/*
.plan_simple .mainv_catch span:first-of-type{
	margin-bottom: 5px;
}
*/

.plan_simple .mainv_logo{
	margin-bottom: 30px;
}

.plan_simple .mainv_logo img{
	display: block;
	width: 500px;
	max-width: 100%;
	margin: 0 auto;
}

.plan_simple .mainv_form_x img{
	display: block;
	width: 24px;
}

@media screen and (max-width:767px){
	.plan_simple .mainv_catch{
		font-size: 16px;
	}

	.plan_simple .mainv_catch span:first-of-type{
		font-size: 20px;
	}

	.plan_simple .mainv_logo{
		font-size: 30px;
	}

	.plan_simple .mainv_logo img{
		width: 300px;
	}
}


@media (min-width:1001px){
	.plan_simple .mainv {
		min-height: 640px;
		padding: 140px 10%;
	}

	/*蛍光ペン*/
	.plan_simple .mainv_catch span:first-of-type{
		display: inline-block;
		padding: 0 5px;
		background: linear-gradient(transparent 60%, #ffff66 60%);
		line-height: 1.2;
	}
}

@media screen and (max-width:1000px){
	.plan_simple .mainv{
		min-height: calc(100vh - 70px);
		padding: 60px 15px;
		background: url(../images/simple_mainv_sp.jpg) center top / cover no-repeat;
	}
}

/*---------------
検索部分
---------------*/
.plan_simple .mainv_form{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 30px;
}

.plan_simple .mainv_form_select{
	position: relative;
}

.plan_simple .mainv_form_select:after{
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -2.5px;
    right: 6px;
    border: 5px solid transparent;
    border-top: 5px solid #ccc;
}

.plan_simple .mainv_form_select select{
	padding-right: 20px;
	background: #fff;
	border: 2px solid var(--main-color);
}

.plan_simple .mainv_form_x img{
	margin: 0 5px;
}

.plan_simple .mainv_form_btn{
	width: 180px;
	padding: 10px;
	background: var(--main-color);
	border-radius: 3px;
	color: #fff;
	cursor: pointer;
}

.plan_simple .mainv_form_btn span{
    position: relative;
    padding: 0 0 0 1.8em;
    font-weight: bold;
}

.plan_simple .mainv_form_btn span:before{
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../images/icon_search_white.svg) left center / contain no-repeat;
}

@media (min-width:768px){
	.plan_simple .mainv_form_select,
	.plan_simple .mainv_form_btn{
		margin: 10px;
	}

	.plan_simple .mainv_form_select select{
		width: 220px;
	}
}

@media screen and (max-width:767px){
	.plan_simple .mainv_form_select{
		width: calc((100% - 40px) / 2);
	}

	.plan_simple .mainv_form_x img{
		width: 20px;
		margin: 0 10px;
	}

	.plan_simple .mainv_form_btn{
		margin-top: 20px;
	}
}

/*------------------------------------------------------------
ライトのみ
------------------------------------------------------------*/
/* ------------------------------
メイン画像
------------------------------ */
/*---------------
ボタン
---------------*/
.plan_simple .mainv_btn{
	margin: 40px 0 0;
}

.plan_simple .mainv_btn a{
	display: inline-block;
    width: 300px;
    max-width: 100%;
    padding: 20px 10px;
	background: var(--main-color);
    border-radius: 100px;
    font-size: 18px;
	font-weight: bold;
	color: #fff;
	line-height: 1;
    transition: .3s;
}

.plan_simple .mainv_btn a span{
	position: relative;
	display: inline-block;
	margin-right: 0;
    padding-left: 30px;
	font-size: inherit;
}

.plan_simple .mainv_btn a span:before{
	display: inline-block;
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -10px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url(../images/icon_search_white.svg) center / 20px auto no-repeat;
}

@media (min-width:768px){
	.plan_simple .mainv_btn a:hover{
		opacity: 0.8;
	}
}

@media screen and (max-width:767px){
	.plan_simple .mainv_btn{
		margin-top: 30px;
	}
	
	.plan_simple .mainv_btn a{
		font-size: 16px;
	}
}

/*------------------------------------------------------------
スタンダード以上
------------------------------------------------------------*/

/* ------------------------------
25.6.18
メイン画像に検索追加
------------------------------ */
.mainv_form.bottomToUp {
	opacity: 1;
}

.mainv_bottom {
    position: absolute;
	/*
    top: 600px;
	*/
	top: 65vh;
    display: block;
    width: 100%;
}

@media (min-width:1500px){
	.mainv_bottom {
		top: 69vh;
	}
}

@media screen and (max-width:767px){
	.mainv_bottom {
		top: auto;
		bottom: 90px;
		padding: 0 15px;
	}
}

/* ---------------
フォーム
--------------- */
.mainv_form{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.mainv_form_select{
	position: relative;
}

.mainv_form_select:after{
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -2.5px;
    right: 6px;
    border: 5px solid transparent;
    border-top: 5px solid #ccc;
}

.mainv_form_select select{
	padding-right: 20px;
	background: #fff;
	border: 2px solid var(--main-color);
}

.mainv_form_x img{
	display: block;
	width: 24px;
	margin: 0 5px;
}

.mainv_form_btn{
	width: 180px;
	padding: 10px;
	background: var(--main-color);
	border-radius: 3px;
	color: #fff;
	cursor: pointer;
}

.mainv_form_btn span{
    position: relative;
    padding: 0 0 0 1.8em;
    font-weight: bold;
}

.mainv_form_btn span:before{
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../images/icon_search.svg) left center / contain no-repeat;
}

@media (min-width:768px){
	.mainv_form_select,
	.mainv_form_btn{
		margin: 10px;
	}
	
	.mainv_form_select select{
		width: 220px;
	}
}
@media screen and (max-width:767px){
	.mainv_form_select{
		width: calc((100% - 40px) / 2);
	}
	
	.mainv_form_x img{
		width: 20px;
		margin: 0 10px;
	}
	
	.mainv_form_btn{
		margin-top: 20px;
	}
}




/*------------------------------------------------------------
25.5.15　画像トリミングをなくす
（必要に応じて戻せるよう、下記に移動）
------------------------------------------------------------*/
@media (min-width:768px){
	/*
	.main .joblist .imgtext > p {
		position: relative;
		overflow: hidden;
	}

	.main .joblist .imgtext > p > img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
	}

	.main .joblist .imgtext > p {
		height: 40px;
	}

	.slider_p2s1 .joblist .imgtext > p{
		height: 60px;
	}
	*/

	/*おすすめ求人*/
	/*
	.rec_job .imgtext > p{
		position: relative;
		overflow: hidden;
		height: 40px;
	}

	.rec_job .imgtext > p > img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
	}
	*/

	/*求人一覧*/
	/*
	.jobbox .imgtext > p{
		position: relative;
		overflow: hidden;
		height: 130px;
	}

	.jobbox .imgtext > p > img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
	}
	*/

	/*コラム一覧*/
	/*
	.main .articlesbox .imgtext > p{
		position: relative;
		overflow: hidden;
		height: 140px;
	}

	.main .articlesbox .imgtext > p > img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
	}
	*/

	/*サイド*/
	/*
	.aside .imgtext > p{
		position: relative;
		overflow: hidden;
	}

	.aside .imgtext > p > img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
	}

	.aside .imgtext > p{
		height: 58px;
	}
	*/
}

/*トップ新着コンテンツ（31-top.cssより）*/
/*
.top_news_list_img_wrap img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
*/

/* ------------------------------------------------------------

パスワード入力欄　目のマーク

・求職者　会員登録
・求職者　ログイン
・求職者　パスワード再設定
・企業　管理画面　新規ユーザー作成
・企業　ログイン
・企業　パスワード再設定

（管理画面は別スタイルシートで調整）

------------------------------

25.5.28追加
目のマークの位置を調整

25.6.18修正
パスワード再設定　inputのnameから「password」を削除

25.7.16修正
押せる範囲を広げる

25.7.17修正
押せる範囲を高さいっぱいに広げる

------------------------------------------------------------ */

*:has(> input[name="password"]),
*:has(> input[name="newPassword"]),
*:has(> input[name="newPasswordRe"]) {
	position: relative;
}

input[name="password"]:has(+ .fa-eye),
input[name="newPassword"]:has(+ .fa-eye),
input[name="newPasswordRe"]:has(+ .fa-eye) {
	padding-right: 40px;
}

input[name="password"] + .fa-eye,
input[name="newPassword"] + .fa-eye,
input[name="newPasswordRe"] + .fa-eye {
	position: absolute;
	top: 15px;
	right: 15px;
	padding: 16px 10px;
}

@media (min-width:768px){
	input[name="password"] + .fa-eye,
	input[name="newPassword"] + .fa-eye,
	input[name="newPasswordRe"] + .fa-eye {
		cursor: pointer;
	}

	input[name="password"] + .fa-eye:hover,
	input[name="newPassword"] + .fa-eye:hover,
	input[name="newPasswordRe"] + .fa-eye:hover {
		opacity: 0.9;
	}

}

@media screen and (max-width:767px){
	input[name="password"] + .fa-eye,
	input[name="newPassword"] + .fa-eye,
	input[name="newPasswordRe"] + .fa-eye {
		top: -1px;
		right: -1px;
		padding: 16px 10px 16px 15px;
	}
}

/*余白調整*/
.sub_heading + p:has(+ .member-reset-password){
	margin-bottom: 20px;
}


/* ------------------------------------------------------------
25.7.14追加
プレミアム　メインビジュアル　動画
------------------------------------------------------------ */
.mainv_video {
	display: block;
	width: 100%;
	height: calc(100vh - 70px);
	object-fit: cover;
	/*メニューを押せるように*/
	position: relative;
	z-index: -1;
	/*周りに出る黒い線を消す*/
	filter: drop-shadow(0px 0px rgba(0,0,0,0));
}

@media screen and (max-width:1200px){
	.mainv_video {
		height: calc(100vh - 130px);
	}
}

/* ------------------------------------------------------------
25.8.4追加
ヘッダーアイコン
------------------------------------------------------------ */
.header_link .member_unread_offers svg,
.header_link .member_unread_conversations svg {
	color: var(--main-color);
}

@media (min-width:1201px){
	.header_link a {
		cursor: default;
	}

	.header_link a:hover {
		opacity: 1;
	}

	.header_link a > b,
	.header_link a > b + span {
		cursor: pointer;
	}

	.header_link a > b:hover,
	.header_link a > b + span:hover {
		opacity: 0.8;
	}
}

@media screen and (max-width:1200px){
	/*ログイン時　文字なし*/
	.header_link:has(.member_unread_offers) a span:last-of-type {
		display: none;
	}

	/*位置*/
	.header_link:has(.member_unread_offers) {
		align-items: flex-end;
	}

	.header_link:has(.member_unread_offers) li + li {
		margin-left: 15px;
	}

	.header_link:has(.member_unread_offers) li:last-of-type {
		margin-right: 5px;
	}

	/*スカウト・メッセージボタン*/
	.header_link .member_unread_offers,
	.header_link .member_unread_conversations {
		display: block;
		width: 14px;
		height: 14px;
		margin-top: 2px;
	}
}

/*狭いスマホ*/
@media screen and (max-width:370px){
	.header:has(.member_unread_offers) .header_logo img {
		height: 24px;
	}

	.header:has(.member_unread_offers) .header_link li + li {
		margin-left: 10px;
	}
}

/*もっと狭いスマホ*/
@media screen and (max-width:340px){
	.header:has(.member_unread_offers) .header_logo img {
		height: 20px;
	}

	.header:has(.member_unread_offers) .header_link li + li {
		margin-left: 8px;
	}
}

/* ------------------------------------------------------------
25.8.28～追加
------------------------------------------------------------ */

/* ------------------------------
求人ページh1　省略
------------------------------ */
@media (min-width:1201px){
	.header_text {
		width: calc(90% - 15px);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* ------------------------------
右固定メニュー　かぶり修正
------------------------------ */
@media (min-width:1201px){
	.header_right {
		z-index: 1;
	}
}

/* ------------------------------
会社概要　マップ上の余白
------------------------------ */
#static .table + iframe {
	margin-top: 40px;
}

/* ------------------------------
サイド　登録エリア　上余白
------------------------------ */
.side_info .side_info_text:first-child,
.side_info .tel_num:first-child,
.side_info .btn1:first-child {
	margin-top: 0;
}

/* ------------------------------
ヘッダーアイコン（ログイン時）
スカウト機能なしの場合にも反映されるように
------------------------------ */
@media screen and (max-width:1200px){
	/*ログイン時　文字なし*/
	.header_link:has(.member_unread_conversations) a span:last-of-type {
		display: none;
	}

	/*位置*/
	.header_link:has(.member_unread_conversations) {
		align-items: flex-end;
	}

	.header_link:has(.member_unread_conversations) li + li {
		margin-left: 15px;
	}

	.header_link:has(.member_unread_conversations) li:last-of-type {
		margin-right: 5px;
	}
}

/*狭いスマホ*/
@media screen and (max-width:370px){
	.header:has(.member_unread_conversations) .header_logo img {
		height: 24px;
	}

	.header:has(.member_unread_conversations) .header_link li + li {
		margin-left: 10px;
	}
}

/*もっと狭いスマホ*/
@media screen and (max-width:340px){
	.header:has(.member_unread_conversations) .header_logo img {
		height: 20px;
	}

	.header:has(.member_unread_conversations) .header_link li + li {
		margin-left: 8px;
	}
}

/* ------------------------------
マイページ　応募履歴・スカウト
メールアイコン下のテキスト
------------------------------ */
.message-trigger-box,
.offer-box .envelope-cell {
	line-height: 1;
	text-align: center;
}

.messages-trigger + span {
	display: block;
	margin-top: 2px;
	font-size: 10px;
}

/*応募履歴　余白調整*/
#application-history .application > div:first-of-type {
	padding-right: 60px;
}

#application-history .acc_btn_all {
	margin-top: 20px;
}

/*スカウト　余白調整*/
.offer-box {
	padding-right: 80px;
}

.offer-box .title {
	padding-right: 0;
}

@media screen and (max-width:767px){
	.offer-box {
		padding-right: 75px;
	}
	
	.offer-box .envelope-cell {
		right: 15px;
	}
}

/* ------------------------------
ヘッダーアイコン調整
------------------------------ */
@media screen and (max-width:1200px){
	/*スカウト・メッセージボタン*/
	.header_link .member_unread_offers,
	.header_link .member_unread_conversations {
		width: 12px;
		height: 12px;
		margin-top: 0;
	}
}
























