@charset "UTF-8";

/**
 *
 * レスポンシブウェブデザイン用
 *
**/


/**
 * タブレット端末用
**/

@media only screen and (min-width: 681px) and (max-width: 1340px) {
	body {
		padding: 0;
		-webkit-text-size-adjust: none;
		font-size: 12px;
	}

	/**
	 * search.html
	**/
	.recruit_info .wrap .btn_wrap {
		width: 100%;
	}
	.recruit_info .wrap .btn_wrap .btn01 {
		width: 47%;
		font-size: 18px;
	}
	.recruit_info .wrap .btn_wrap .btn02 {
		width: 47%;
		font-size: 18px;
	}

	/**
	 * detail.html
	**/
	.recruit_info .wrap .info .category li {
		padding: 3px 10px;
	}

	/**
	 * contact.html
	**/
	.contact_form .btn_wrap {
		width: 100%;
	}
	.contact_form .btn_wrap .btn_left a {
		width: 47%;
		font-size: 18px;
	}
	.contact_form .btn_wrap .btn_right .btn_send {
		width: 47%;
		font-size: 18px;
	}

}


/**
 * スマートフォン端末用
**/

@media only screen and (max-width: 680px) {

	/* SP表示 */
	.sp_disp { display: block !important; }
	.pc_disp { display: none !important; }


	/* 下層ページ見出し */
	.heading {
		margin-top: 60px;
		margin-bottom: 20px;
	}
	.heading .heading-title {
		height: 100px;
		font-size: 5.5vw;
	}

	/* パンくず */
	#topics {
		display: none;
	}

	/* セクション */
	.section_wrap {
		padding: 10px 15px 20px;
		margin: 5px 5px 40px 5px;
	}

	/* 下層ページコンテンツ */
	.text {
		font-size: 14px;
		line-height: 1.6em;
	}
	.text-link {
		font-size: 14px;
		line-height: 1.6em;
	}
	.img-wrap img { width: 100%; }
	
	/* テーブル */
	.table-data { margin-bottom: 20px; }
	.table-data tr th,
	.table-data tr td {
		width: 100%;
		font-size: 14px;
		padding: 8px 10px;
		display: block;
	}
	.table-data tr th {
        border-bottom: none;
    }
	.table-data tr td {}
	

	
	
	/* ボタン */
	.btn {
		width: 100%;
		max-width: 320px;
		min-width: inherit;
		padding: 15px 10px;
	}
	/* 戻るボタン */
	.btn_back a {}

	
	/* お問い合わせフォーム */
	input.txt_w10p {
		width: 10%;
		font-size: 16px;
		transform: scale(1.0);
	}
	input.txt_w15p {
		width: 15%;
		font-size: 16px;
		transform: scale(1.0);
	}
	input.txt_w20p {
		width: 100%;
		font-size: 16px;
		transform: scale(1.0);
	}
	input.txt_w30p {
		width: 100%;
		font-size: 16px;
		transform: scale(1.0);
	}
	input.txt_w50p {
		width: 100%;
		font-size: 16px;
		transform: scale(1.0);
	}
	input.txt_w60p {
		width: 100%;
		font-size: 16px;
		transform: scale(1.0);
	}
	textarea.textarea_w96p {
		width: 100%;
		font-size: 16px;
		transform: scale(1.0);
	}



/* --------------------------------
* search.html *
-------------------------------- */
	.page-search #main { padding-top: 20px; }
	.search_form_wrap {
		margin: 5px 5px 30px;
		padding: 15px 10px;
		overflow: hidden;
	}
	.search_form_wrap dl {}
	.search_form_wrap dl dt {
		line-height: 1.6em;
		font-size: 16px;
		padding: 0 0 0 10px;
		border-left: 3px solid #333;
		margin-bottom: 10px;
		min-width: inherit;
	}
	.search_form_wrap dl dd {}
	.search_form_wrap dl dd .list {}
	.search_form_wrap dl dd .list li { width: 50%; }
	.search_form_wrap dl dd .list li label {
		font-size: 3.2vw;
	}

	.search_form_wrap dl.keyword { margin-bottom: 20px; }
	.search_form_wrap dl dd .text {
		width: 100%;
		font-size: 16px;
	}

	.search_form_wrap .search_form__btn-area{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.search_form_wrap .search_form__more-btn{
		position: static;
    display: block;
    width: 100%;
    max-width: 240px;
    margin-bottom: 15px;
    padding: 7px 20px;
    transform: none;
    font-size: 12px;
	}
	/* 検索結果 */
	.search_result {
		margin: 0 0 15px 0;
		padding: 0 0 0 0;
		line-height: 1.6em;
		font-size: 14px;
	}
	.search_result .num {
		line-height: 1.6em;
		font-size: 16px;
	}
	.search_result_message {
		margin: 0 0 25px 0;
	}
	.kentou a,
	.kentou2 a {
		font-size: 12px;
		padding: 5px 20px;
	}
	/* 検索結果一覧 */
	.recruit_info .recruit_title,
	.recruit_info .recruit_title a {
        font-size: 4.5vw;
        line-height: 1.4em;
	}
    .recruit_info .recruit_title .new {
        font-size: 3.75vw;
    }
    
	.recruit_info .info_wrap { 
		margin-bottom: 20px;
		flex-direction: column;
	}
	.recruit_info .img_wrap {
		width: 100%;
		height: 200px;
		margin: 0 auto 20px;
	}
	.recruit_info .img_wrap img {
		width: 100%;
		height: 200px;
	}
	.recruit_info .data { width: 100%; }
    .recruit_info .data dl { 
        flex-direction: column;
    }
	.recruit_info .data dl dt,
	.recruit_info .data dl dd {
		padding: 10px;
		font-size: 14px;
		line-height: 1.6em;
        border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
	}
	.recruit_info .data dl dt {
		width: 100%;
		background: #f2f2f2;
	}
    .recruit_info .data dl dd {
        width: 100%;
        border-top: 1px solid #ddd;
    }
	
	.recruit_info .btn_wrap .btn:nth-child(2) {
		margin-top: 15px;
	}
    
    .relation_wrap .slick-prev:before,
    .relation_wrap .slick-next:before {
        width: 17px;
        height: 35px;
        background-size: contain;
    }
    
    

	/**
	* search.html : Search Modal
	**/
	.search_form_wrap .openModal{
		padding: 4px 0 5px;
	}
	.search_form_wrap dl dt > .openModal {
		margin: 0 0 0 30px;
	}
	.modal-container{
		padding: 0;
	}
	.modal-container.sp-slide-h{
		left: 100%;
	}
	.modal-container.sp-slide-v{
		top: 100%;
	}
	.modal-container.sp-slide-h.open{
		left: 0;
	}
	.modal-container.sp-slide-v.open{
		top: 0;
	}
	.modal-content{
		width: 100% !important;
		max-width: 100% !important;
		height: 100%;
		border-radius: 0;
	}
	.modal-header{
		display: block;
		padding: 20px 20px 10px;
	}
	.modal-header__title{
		margin-bottom: 10px;
		font-size: 18px;
		text-align: center;
	}
	.modal-header__numbers{
		font-size: 13px;
		text-align: right;
	}
	.modal-header__number{
		font-size: 20px;
	}
	.modal-body{
		padding: 0;
	}
	.modal-body__main{
		border: 0;
		border-radius: 0;
	}
	.modal-list a{
		padding: 15px 20px;
	}
	.modal-container.width-narrow .modal-list.list-top > li > a::after,
	.modal-container.width-narrow .modal-list.list-middle > li > a::after{
		top: 20px;
	}
	.modal-container.width-narrow .modal-list.list-top > li > a.active::after,
	.modal-container.width-narrow .modal-list.list-middle > li > a.active::after{
		top: 23px;
	}
	.modal-list.list-lowest a::before{
		top: 15px;
	}
	.modal-list.list-lowest a.selected::after{
		top: 17px;
	}
	.modal-footer{
		padding-top: 20px;
		border-top: 1px solid #ccc;
	}
	.modal-footer__button.submit{
		width: calc(100% - 40px);
    max-width: 300px;
		padding: 15px 20px 16px;
		text-align: center;
	}

	#modal-occupation .modal-body{
		overflow-y: scroll;
	}
	#modal-occupation .modal-list{
		grid-template-columns: 1fr;
	}

/* --------------------------------
* detail.html *
-------------------------------- */
    .recruit_info.detail .data dl { flex-direction: column; }
    .recruit_info.detail .data dl dt,
    .recruit_info.detail .data dl dd {
        width: 100%;
        min-width: inherit;
        padding: 8px 10px;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
    }
    .recruit_info.detail .data dl dt {
        background: #f2f2f2;
    }
    
	.recruit_data .table-data {}
	/* PRメッセージ */
	.recruit_info .recommend_point {
		margin-bottom: 15px;
		padding: 15px 15px;
	}
	.recruit_info .recommend_point dt { font-size: 16px; }
	.recruit_info .recommend_point dd { font-size: 14px; }

	.recruit_data .btn_wrap { margin: 0 auto 10px; }

	/* コンサルタントからの一言 */
	.consul_message .img_wrap {
		/*display: none;*/
		width: 100%;
        text-align: center;
        margin: 0 auto 20px
	}
	.consul_message .img_wrap img {
		width: 50%;
	}
	.consul_message .message {
		width: 100%;
		float: none;
		display: block;
	}
	.consul_message .text_wrap { width: 100%; }
	
	/* 関連求人 */
	.relation_wrap {
		padding: 15px 10px;
	}
	.relation_wrap .slick-slider {
		padding: 0 20px;
	}
	.relation_wrap .item {
		margin: 0 0;
		box-shadow: none;
	}
	.relation_wrap .item .img-wrap img {}
    .relation_wrap .item .tag {
        padding: 5px 5px;
        width: auto;
        font-size: 10px;
        line-height: 1.2em;
    }
    
	.relation_wrap .item .title { height: 40px; }
	.relation_wrap .slick-prev {
		left: -5px;
		top: 50%;
		z-index: 1;
	}
	.relation_wrap .slick-next {
		right: -6px;
		top: 50%;
		z-index: 1;
	}

	/* この求人は以下の条件に合致しています */
	.other_conditions .note { display: block; }
	.other_conditions dl {
		align-items: flex-start;
	}
	.other_conditions dl dt {
		min-width: 75px;
    	width: 75px;
		padding: 3px 0;
		margin-right: 10px;
	}
	.other_conditions dl dd ul li a { font-size: 14px; }
	
	
	
/* --------------------------------
* contact.html *
-------------------------------- */
	.contact_form .form {
		margin: 0 0 20px;
		width: 100%;
		border: none;
	}
	.contact_form .form tr { 
		margin-bottom: 20px; 
		display: block;
	}
	.contact_form .form tr:last-of-type { margin-bottom: 0; }
	.contact_form .form tr th,
	.contact_form .form tr td {
		padding: 0 0 0;
	}
	.contact_form .form tr th {
		width: 100%;
		font-size: 15px;
		padding: 0 0 5px;
		background: #fff;
		border: none;
		display: block;
	}
	.contact_form .form tr td {
		width: 100%;
		border: none;
		display: block;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	
.contact_form .form tr td .list_01 li {}
.contact_form .form tr td .list_01.w_100p li span {
	margin-left: 0;
    margin-top: 5px;
    display: block;
}
.contact_form .form td select {
    font-size: 16px;
	transform: scale(1.0);
}
.contact_form .form td .fl.select {
	margin: 0 10px 0 0;
	display: inline;
}
.contact_form .form td .dl_01 {	overflow: hidden; }
.contact_form .form td .dl_01 dt {
	margin: 0 0 5px 0;
    width: 100%;
    height: auto;
    line-height: 1.4em;
    font-size: 12px;
    color: #333;
    float: none;
}
.contact_form .form td .dl_01 dd { overflow: hidden; }
	
	.contact_form_note { 
		font-size: 12px;
		padding-top: 5px;
	}
	.hissu {
		font-size: 11px;
		font-weight: normal;
		padding: 0 5px 2px;
		float: none;
		margin-left: 10px;
	}
	.error { font-size: 13px; }
	
	/* お問合せフォーム内 > 利用規約 */
	.contact_kiyaku_wrap {
		margin: 0 auto 20px;
		width: 100%;
		overflow: hidden;
	}
	.contact_kiyaku_wrap .contact_kiyaku_title {
		font-size: 14px;
	}
	.contact_kiyaku_wrap p,
	.contact_kiyaku_wrap li {
		font-size: 12px;
	}

	/* 詳細お問い合わせ */
	.detail_contact_head {
		padding: 20px 15px 20px;
	}
	.detail_contact_head .img-wrap {
		min-width: 38%;
		padding-right: 15px;
	}
	.detail_contact_head .img-wrap img { height: 80px; }
	.detail_contact_head .text-wrap { width: 60%; }
	
	
	

/* --------------------------------
* faq.html *
-------------------------------- */
	.faq_wrap dl {
		margin-bottom: 15px;
		padding-bottom: 15px;
		border-bottom: 1px solid #ddd;
	}
	.faq_wrap dl:last-of-type {
		padding-bottom: 0;
		border-bottom: none;
	}
	.faq_wrap dl dt {
		border: none;
		padding-bottom: 0;
		min-height: 40px;
		font-size: 15px;
	}
	.faq_wrap dl dt::before,
	.faq_wrap dl dd::before {
		font-size: 22px;
		line-height: 1;
		margin-right: 10px;
		width: 40px;
		height: 40px;
	}
	.faq_wrap dl dt::before {
		padding: 11px 10px;
	}
	.faq_wrap dl dd::before {
		padding: 9px 10px;
	}

	
	
/* --------------------------------
* company.html *
-------------------------------- */
	.company_data .data { box-sizing: border-box; }
	.company_data .data tr {
		border-bottom: none;
	}
	.company_data .data th,
	.company_data .data td {
		width: 100%;
		padding: 0.5rem;
		display: block;
	}
	.company_data .data th {
		background: #f8f8f8;
		border: 1px solid #ddd;
		font-size: 14px;
	}
	.company_data .data td {
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
		font-size: 14px;
	}
	.company_data .data tr:last-child td {
		border-bottom: 1px solid #ddd;
	}
	.google-map {
		margin: 20px auto 0;
	}

	
	
/* --------------------------------
* kiyaku.html / policy.html *
-------------------------------- */
	.kiyaku_wrap .kiyaku_item {
		margin-bottom: 20px;
	}
	.kiyaku_wrap .kiyaku_item p ,
	.kiyaku_wrap .kiyaku_item li {
		font-size: 14px;
	}
	
	

/* --------------------------------
* sitemap.html *
-------------------------------- */
	.sitemap_wrap {
		margin: 5px 5px 30px;
		padding: 15px 20px;
	}
	.sitemap_wrap .list {}
	.sitemap_wrap li a {
		font-size: 14px;
	}
	
	
	
/* --------------------------------
* news.html *
-------------------------------- */
	.news_list tr {
		padding: 15px 0;
		display: block;
	}
	.news_list tr th,
	.news_list tr td {
		width: 100%;
		padding: 0;
		display: block;
	}
	.news_list th {
		margin-bottom: 5px;
	}
	/* 詳細ページ */
	.news_detail_wrap { margin-bottom: 30px; }

	
	
/* --------------------------------
* contents.html *
-------------------------------- */

	/* 一覧ページ */
	.column_list_item { margin: 5px 5px 20px 5px; }
	.column_list_item:last-of-type {
		margin: 5px 5px 40px 5px;
	}
	.column_list_item .img_wrap {
		width: 35%;
		max-width: inherit;
		height: 100px;
	}
	.column_list_item .text_wrap {
		width: 65%;
		padding-left: 10px;
	}
	/* 複数行テキスト省略 */
	.column_list_item .sp-ellipsis {
		position: relative;
		height: 60px;
		overflow: hidden;
		line-height: 20px;
	}
	.column_list_item .sp-ellipsis:before,
	.column_list_item .sp-ellipsis:after {
		position: absolute;
		background: #fff;
	}
	.column_list_item .sp-ellipsis:before {
		content: "･･･";
		bottom: 0;
		right: 0;
	}
	.column_list_item .sp-ellipsis:after {
		content: "";
		width: 100%;
		height: 100%;
	}
	/* 複数行テキスト省略 ここまで */
	
	/* 詳細ページ */
	.blog_content_title {
		font-size: 20px;
		padding: 5px 0 10px;
	}
	.blog_content_head01 {
		font-size: 18px;
		margin: 15px 0px;
		padding: 5px;
	}
	.blog_content_head02 {
		margin: 10px 0;
		font-size: 16px;
		padding: 8px;
		border-left: 4px solid #16b000;
	}
	.blog_content_head03 {
		margin: 10px 0;
		font-size: 16px;
		width: inherit;
		padding: 5px;
	}
	.blog_content_text {
		margin: 15px 0;
		font-size: 14px;
		line-height: 1.6em;
		width: inherit;
		padding: 5px;
	}
	.blog_content_text2 {
		font-size: 14px;
		line-height: 1.6em;
		padding: 10px;
	}
	.blog_content_list {
		padding: 10px 30px;
		font-size: 14px;
	}
	.blog_content_list li {
		padding: 10px 0 0;
		font-size: 14px;
	}
	.blog_content_list li:first-child { padding: 0 0 0; }
	.blog_content_image {
		width:inherit;
		margin: 30px auto;
	}
	#content .blog_content_image img {
		width: auto;
		max-width: 100%;
		height: auto;
	}
	.blog_content_link {
		font-size: 14px;
	}
	
	

/* --------------------------------
* feature.html *
-------------------------------- */
	.feature_wrap .box {
		padding-top: 67%;
	}
	.feature_wrap .box-1,
	.feature_wrap .box-2,
	.feature_wrap .box-3 {
		background-size: contain;
		background-position: center top;
	}
	.feature_wrap .box-1::before,
	.feature_wrap .box-2::before,
	.feature_wrap .box-3::before {content: none;}

	.feature_wrap .box .text-wrap {
		width: 100%;
		padding: 40px 13px 20px;
		position: relative;
	}
	.feature_wrap .box:nth-child(even) .text-wrap {padding: 40px 13px 20px;}
	.feature_wrap .box-1 .text-wrap::before,
	.feature_wrap .box-2 .text-wrap::before,
	.feature_wrap .box-3 .text-wrap::before {
		font-size: 62px;
		color: #16b000;
		font-weight: 700;
		font-family: 'Roboto Condensed', sans-serif;
		position: absolute;
		top: -42px;
		left: 0;
	}
	.feature_wrap .box-1 .text-wrap::before {content: "01";}
	.feature_wrap .box-2 .text-wrap::before {content: "02";}
	.feature_wrap .box-3 .text-wrap::before {content: "03";}

	
	
	/* --------------------------------
	* staff.html *
	-------------------------------- */
	.staff_item {
		display: flex;
		flex-direction: column;
		gap: 0 0;
		margin-bottom: 2.0em;
	}
	.staff_item figure {
		width: 50%;
		margin: 0 auto;
	}
	.staff_item .inner {}
	
	.staff_item .name {
		font-size: 16px;
        padding-bottom: 8px;
		margin-top: 10px;
        margin-bottom: 15px;
	}
	.staff_item .name::before {
		width: 1.5em;
		height: 3px;
	}
	.staff_item .name::after {
		font-size: 13px;
		margin-left: 1em;
	}

	.staff_item .forte,
	.staff_item .history {  flex-direction: column; }
	.staff_item .forte > div,
	.staff_item .history > div {
		font-size: 15px;
        margin-bottom: 5px;
        width: 100%;
	}
	.staff_item .forte > ul { width: 100%; }
	.staff_item .forte > ul li {
		font-size: 14px;
		line-height: 1.4em;
		align-items: flex-start;
		margin-bottom: 2px;
		position: relative;
		padding-left: 1em;
	}
	.staff_item .forte > ul li::before {
		min-width: 0.5em;
		position: absolute;
		left: 0em;
		top: 0.6em;
	}
	
	.staff_item .history {
		margin-top: 10px;
	}
	.staff_item .history p { width: 100%; }
	
	.staff_item .message {
		padding-top: 10px;
	}

}
/* SPview ここまで */

