@charset "UTF-8";
/* -------------------------------------
case 1400px (PCサイト/メインビジュアルよりも大きい時 ) */
@media screen and (max-width: 1400px) {
	/*----------------------------------------*/
	body {
		min-height: 5px;
	}
	/*----------------------------------------*/
}

/*	end case 1400px (PCサイト/メインビジュアルより大きい時 ここまで)
----------------------------------------*/
/* -------------------------------------
case 960px (PCサイト/コンテンツ幅より小さい時) */
@media screen and (max-width: 960px) {
	/*----------------------------------------*/
	body {
		min-height: 4px;
	}
	.header_inner,
	.footer_inner,
	.content_inner {
		margin: auto;
		width: 100%;
	}
	.header_inner {
		padding: 10px 15px 0;
	}
	.breadcrumb .inner,
	.main_visual .img {
		width: 100%;
	}
	/*----------------------------------------*/
}

/*	end case 960px (PCサイト/コンテンツ幅より小さい時 ここまで)
----------------------------------------*/
/* -------------------------------------
case 768px (iPadの縦想定) */
@media screen and (max-width: 768px) {
	/*----------------------------------------*/
	body {
		min-height: 3px;
	}
	/*----------------------------------------*/
}

/*	end case 768px (iPadの縦想定 ここまで)
----------------------------------------*/
/* -------------------------------------
case 736px (スマホサイズ)			*/
@media screen and (max-width: 736px) {
	/*----------------------------------------*/
html {
	/*font-size:2.2vw;*/
	font-size : 11px;
}

	body {
		min-height: 2px;
	}
	.pc {
		display: none !important;
	}
	.pc_inline {
		display: none !important;
	}
	.pc_inline_block {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	.sp_inline {
		display: inline !important;
	}
	.sp_inline_block {
		display: inline-block !important;
	}
	img {
		max-width: 100%;
	}
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="password"] {
		font-size: 1.6rem;
		/* iPhoneの入力時のズーム防止 */
	}
	.container {
		padding:60px 0 0 0;
	}



/* -------------------------------------
	header
---------------------------------------- */

.header_wrap {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 5;

}

.header {
	width: 100%;
	/*background:rgba(0,0,0,0.5);*/
	height:60px;
}

.header_inner {
	padding:0;
}

.header .logo {
	width: auto;
}

.header .logo img{
	height:60px;
}

.header .header_nav {
	display: none;
}

.header_nav li {
	display: inline-block;
	margin:0 5px;
}

.menu_btn {
	display: flex;
	justify-content:center;
	align-items:center;
	width:40px;
	height:40px;
	position: absolute;
	top:7px;
	right:10px;
	font-size: 3rem;
}


.menu_btn:before {
	content:"\f0c9";
	font-family: FontAwesome;
	color:#fff;
}	

.menu_btn.active:before {
	content:"\f00d";
}



.gnav  {
	position: absolute;
	width:100%;
	left:0;
	top:-100vh;
	height:calc(100vh - 60px );
	overflow: auto;
	transition:all 0.5s;
	z-index: 100;
	background:rgba(0,0,0,0.5);
}

.gnav.active {
	top:60px;
	transition:all 0.5s;

}

.gnav .main_nav {
	flex-direction:column;
	width:100%;
	margin:0 auto;
}

.gnav .main_nav li {
	border-bottom:solid 1px #ccc;
	display: block;
}


.gnav .main_nav li:first-child:before {
	display: none;
}

.gnav .main_nav li:after {
	display: none;
}

/* -------------------------------------
	footer
---------------------------------------- */
/* footer */
.footer {
	position: relative;
	padding:20px 3.125% 0  ;
}


.footer .grid_cell{
	width:100%;
}

.footer .-logo {
	width:50%;
	margin: 0 0 20px 0;
}



.footer_nav {
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	width:100%;
	max-height:none;
	border-top:solid 1px #f6f6f6 ;
}

.footer_nav li {
	width:50%;
	font-size: 1.2rem;
	font-weight: bold;
	margin:0 ;
	padding:10px 20px;

	border-bottom:solid 1px #f6f6f6;

}

.footer_nav li a {
	color:#222;
	text-decoration: none;
}

.footer_nav li a:before {
	font-family:FontAwesome;
	display: inline;
	content:"\f0da";
	color:#CC0001;
	margin:0 5px 0 0 ;
}

.footer_bottom {
	border-top:solid 1px ##D9D9D9;
	padding:20px 0;
	margin:0px 0 0 0;
}

.footer_bottom .grid_cell {
		flex:auto;
}

.footer_bottom .sns_list {
	position: absolute;
	top:20px;
	right: 10px;
}

.footer_inner .-banner {
	text-align: center;
	margin:20px 0 0 0;
}
.footer_inner .-banner img {
	width:25vw;
}

.copyright {
	text-align: center;
	display: block;
	font-size: 1.4rem;
}


/* -------------------------------------
	パンくず
---------------------------------------- */
.breadcrumb {
	display: none;
}

/* -------------------------------------
	ページング/ページャー
---------------------------------------- */
.pager_box {
	position: relative;
	width: 80%;
	margin: 30px auto ;
}


/* +--------------------------------------------------------+
col_block
-- +--------------------------------------------------------+ */
	.col_block:not(.fix) .item {
		display: inline-block;
		letter-spacing: normal;
		margin: 0 0 10px 0;
		vertical-align: top;
	}
	.col_block.col02:not(.fix),
	.col_block.col03:not(.fix),
	.col_block.col04:not(.fix),
	.col_block.col05:not(.fix) {
		margin-left: 0;
	}
	.col_block.col02:not(.fix) .item,
	.col_block.col03:not(.fix) .item,
	.col_block.col04:not(.fix) .item,
	.col_block.col05:not(.fix) .item {
		width: 100%;
	}
	.modal_content {
		font-size: 1.4rem;
		color: #666;
	}
	.modal_content a {
		color: #da0000;
		text-decoration: underline;
	}
	.modal_content .img_box {
		margin: 0 20px 30px 0;
		float: left;
	}
	.modal_content .img_box {
		overflow: hidden;
	}
	.popup_close_box {
		text-align: center;
		margin: 30px 0 0 0;
	}
	.modalBoxContents {
		font-size: 1.4rem;
		color: #666;
	}
	.modalBoxContents .img_box {
		margin: 0 20px 30px 0;
		float: left;
		overflow: hidden;
	}
	.modalBoxContents .vpn_info_block .img_box {
		float: none;
	}
	.popup_close_box {
		text-align: center;
		margin: 30px 0;
	}
	.modalBox {
		padding: 4.6875%;
		width: 90%;
		height: 90%;
	}
	.close.spClose {
		background: #2f2f2f;
		width: 60px;
		height: 60px;
		line-height: 60px;
		color: #fff;
		cursor: pointer;
		text-align: center;
		font-size: 300%;
		position: fixed;
		top: 0px;
		right: 0px;
		z-index: 2002;
	}









/* -------------------------------------
	item
---------------------------------------- */
.main_title {
	border-top:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	font-size: 2.0rem;
	font-weight: 700;
	margin: 0 0 20px;
	padding: 15px;
}
.main_title:before {
	content:"";
	border-left: 5px solid #DD4764;
	margin:0 5px 0 0 ;

}

.sub_title {
	border-left: 3px solid #F8BBD0;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 15px;
	padding: 5px 10px;
}

.normal_title {
	border-left: 3px solid #E1F5FE;
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 15px;
	padding: 5px 10px;
}

.title_sub {
	float: right;
}



/* ※リスト */
.notes_list > li {
	list-style-type: none;
	margin: 0 0 0 1em;
	text-indent: -1em;
	font-size: 1.6rem;
	line-height: 1.4;
}


.main_title_block {
	padding:2vw 4vw;
}

.main_title_block .-title {
	color:#575c54;
	font-size:2.1rem;
}

.main_title_block .-sub {
	color:#e00013;
	font-size:1.4rem;
}



/* -------------------------------------
	parts
---------------------------------------- */
.main_visual .img {
	width: 1000px;
	margin: 0 auto;
}

/* -------------------------------------
	button
---------------------------------------- */
.base_btn {
	padding: 5px 20px;
	position: relative;
	text-align: center;
	line-height: 1.5;
	text-decoration: none;
	transition: 0.3s;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 50px;
	width: 100%;
	font-size:1.6rem;
}

.base_btn:hover {
	color: #ffffff;
	opacity: 0.8;
}


.base_btn.red {
	background:#E07788;
}

.base_btn.green {
	background:#2EB78D;
}

.base_btn.blue {
	background:#13A0CD;
}

/* -------------------------------------
	ページトップ
---------------------------------------- */
.pagetop {
	display: none;
	position: fixed;
	right: 50px;
	bottom: 50px;
	z-index: 5;
}

.pagetop a {
	background: #212121;
	border-radius: 50%;
	color: #fff;
	display: block;
	font-size: 4rem;
	height: 50px;
	line-height: 45px;
	text-align: center;
	text-decoration: none;
	width: 50px;
}

/* -------------------------------------
	ellipsis
---------------------------------------- */
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.content {
	padding:0 3.125%;
}

.flex_between {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.contents_nav_area {
	margin:30px 0;
}

.contents_nav_area .item {
	width:100%;
	margin:0 0 3.125% 0;
}

.contents_nav  {
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;

}

.contents_nav .-left_box {
	width:25%;
}

.contents_nav .-right_box {

	width:75%;
	padding:0 2.5%;
}

.contents_nav .-right_box .-text {
	
}

.contents_nav a {
	font-size: 1.3rem;
	color:#222;
}


.top_mv_under {
	background:url(../images/bg_grayscale.png) repeat-x bottom left;
	margin:0px 0 0 0;
}

.-more_link {
	font-size: 1.4rem;
	text-decoration: none;
	color:#666;
}

.-more_link:after {
	content: "\f105";
	font-family: FontAwesome;
	display: inline;
	margin:0 0 0  0.5em ;
	color:red;
}

.news_list_wrap {
border:solid 1px #F2F2F1;
	border-top:none;
	padding:3.125%;
}

.top_news_list_area .grid_col3 {
	width:100%;
}










.top_contents_block {
	margin:20px 0 0 0;
	padding: 4vw ;
	background:rgba(255,255,255,0.9);
}

.top_contents_block .-sub {
	font-size:1.4rem;
	color:#e00013;
	text-align: center;
	margin:0 0 1vw 0;
}

.top_contents_block .-title {
	font-size: 1.6rem;
	text-align: center;
	color:#575c54;
	margin:0 0 2vw 0;
	padding:0 0 2vw 0;
	border-bottom:solid 1px #d8d6d9;
}



.top_contents_block .news_list li.grid {
	flex-direction: column
}

.top_contents_block .news_list li .grid_col3 {
	width:100%;
}

.top_contents_block.link_area .grid:not(.half_col) {
	flex-direction: column;
}

.top_contents_block.link_area .grid.half_col {
	justify-content: space-between;

}

.top_contents_block.link_area .grid_cell {
	margin:1vw 0;
}

.top_contents_block.link_area .half{
	width:49%;
	flex:none;
}


.news_list_wrap {

border:solid 1px #F2F2F1;
	border-top:none;
	padding:20px;
}


.news_list {
	
}

.news_list li {
	margin:10px 0;
}

.news_list .category_mark {
	min-width:150px;
	text-align: center;
	background: #f9777b;
}

.news_list .category_text {
	min-width:150px;
	text-align: center;
	display: inline-block;
}

.news_list .category_text.type1 {
	color:#0dc9ab;

}

.news_list .category_text.type2 {
	color:#f5c700;
}


.news_list .-date{
	color:#222;
	display: inline-block;
	margin:0 0 0px 15px;
}

.news_list .-title {
	margin:0 0 10px 0;

}

.news_list .-text {
	padding:0 0 0px 0px;
	border-left: none;
	margin:10px 0 0 0;

}



















.more_link_wrap {
	text-align: center;
	margin:3.125% 0;
}



.topic_box {
	border:solid 1px #F2F2F1;
	border-top:6px solid #DD4764;
	padding:3.125%;
	margin:3.125% 0;
}

.top_topic_area {

}


.topic_title {
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom:solid 1px #D9D9D9;
	padding:0px 0 10px 0;
	margin:0 0 20px 0;
}

.topic_title .-sub {
	display: none;
}

.topic_title .-more_link {
	font-size:1.4rem;
	font-weight: normal;
	color:#999;
	float:right;
	transform:translateY(5px);
}

.top_job_info_area {
	position: relative;
}


.top_job_info_area .-count {
	color:#666;
	position: absolute;
	right:20px;
	top:5px;
}
.top_job_info_area .-count strong {
	font-size: 3rem;
}


.job_info_list {
	border:none;
}

.job_info_list li {
	width:100%;
	border:solid 1px #D9D9D9;
	margin:0 0 10px 0;
}

.job_info_list .-date{
	color:#999;
	display: inline-block;
	vertical-align: middle;
	margin:0 0 10px 5px;
}
.mimiyori_info_area  .job_info_list {
	justify-content:space-between;
	border:none;
	margin:0 0 30px 0;
}

.mimiyori_info_area  .job_info_list li {
	width:32.3333333%;
	border:solid 1px #D9D9D9;
	margin:0 0 1% 0;


}

.mimiyori_info_area .col_block .item {
	border:solid 1px #D9D9D9;
	padding:0px;
	margin:0 0  3.125% 0;

}

.category_mark {
	display: inline-block;
	background:#43B18C;
	color:#fff;
	padding:2px 5px;
	font-size:1.2rem;
	vertical-align:top;
}

.mimiyori_info_area .-date {
	display: inline-block;
}

.job_info_list li .-inner {
	padding:10px;
}

.job_info_list li .-title {
	font-size: 1.4rem;
	margin:0 0 10px 0;
}

.job_info_list li .-text {
	font-size: 1.2rem;
}

.job_info_list li {
	
}



.miryoku_block {
	width:100%;
	margin:0 auto;
}

.miryoku_block .miryoku_slider_inner {
	display: flex;
	align-items:center;

}

.miryoku_block .-movie_box {
	width:35%;
	flex:none;
}

.miryoku_info_area .miryoku_block {
	width:100%;
}


.miryoku_info_area .miryoku_block .item {
	border:solid 1px #D9D9D9;
}

.miryoku_info_area .miryoku_block .-movie_box {
	padding:10px;
	width:100%;
	text-align: center;
}


.miryoku_block .-text_box {
	padding:10px;
}

.miryoku_block .-sub {
	font-size: 1.2rem;
	color:#43B18C;
	margin:0 0 5px 0 ;

}
.miryoku_block .-title {
	font-weight: bold;
	font-size: 1.6rem;
	margin:0 0 5px 0 ;
}

.miryoku_block .-detail_link {
	font-size:1.4rem;
}

.mimiyori_detail_area {

}

.cms_title_block .-date{
	color:#222;
	display: inline-block;
	vertical-align: middle;
	margin:0 0 10px 5px;

}

.cms_title_block .-title {
	font-size: 2rem;
	font-weight: bold;
	margin:10px  0;
}

.cms_title_block .-sub {
	font-size: 1.6rem;
	font-weight: bold;
	color:#000;
	margin:0 0 20px 0;
}

.cms_title_block .-text {

}


.hr {
	border-bottom:dotted 2px #cecbca;
	margin:20px 0;
	background: none;

}

.cms_content_block {
	margin:20px 0;
}

.cms_content_block p {
	margin:10px 0;
}

.cms_content_block img {
	margin:10px 0;	
}

.cms_content_block .link_title {
	font-weight: bold;
	margin:0 0 10px 0;
}

.cms_content_block .link_list {
	
}

.cms_content_block .link_list li {
	display: inline-block;
	margin:0 10px 0 0 ;
}




.mv_block {
	width:100%;
	margin: 0 auto 20px auto;
	background: url("../images/mv.png") center center no-repeat / cover;
	height:50vw;
	display: flex;
	justify-content:center;
	align-items:center;
	color:#fff;
	flex-direction:column;
	padding:0 3.125%;
}

.mv_block .mv_title {
	font-size: 3rem;
	margin:0 0 20px 0;
	padding:10px 20px ;
	background: rgba(221,71,99,0.8);

}

.mv_block .mv_text {
	font-size:1.6rem;
}




.tow_column_content {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:4vw;
}

.tow_column_content .main {
	width:100%;
}
.tow_column_content .side_menu {
	width:100%;
	padding:0;
	border:none;
}

.company_info_block {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	justify-content: space-around;
	border-top:solid 1px #d9d7d6;
	border-bottom:solid 1px #d9d7d6;
	margin:30px 0;

}

.company_info_block .-title {
	font-weight: bold;
	color:#DD4764;
	width:100%;
	text-align: center;
	margin:3.125% 0 0 0 ;
}

.company_info_block .-info {
	width:100%;
	padding: 10px 0;
}

.company_info_block .-info ul {
	border-left:none;
	padding:0 0 0 0px;
}

.company_info_block .-info li {
	border-bottom:dotted 2px #d9d7d6;
}

.company_info_block .-info li:last-child {
	border-bottom:none;
}

.company_info_block .-name {
	font-weight: bold;
	display: inline-block;
	width:20%;
	padding:15px 0;
	vertical-align: top;
}

.company_info_block .-text {
	display: inline-block;
	padding:15px 0;
	vertical-align: top;

}

.company_info_block .-search {
	width:100%;
	font-size: 1.2rem;
	padding:0 0 0 3%;
}

.company_info_block .-search .base_btn {
	background:#fff;
	border:solid 1px #ccc;
	color:#999;
	font-size: 1.4rem;
	margin:10px 0;
}

.company_info_block .-search .base_btn:before {
	display: none;
}

.company_info_block .-search .base_btn:hover {
	background:#DD4764;
	color:#fff;
}

.company_detail_block {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
}

.company_detail_block .-movie_box {
	width:100%;
	margin:0 4% 0 0;
}

.company_detail_block .-text_box {
	flex:1;
}

.company_detail_block .-numberling {
	font-size: 3rem;
	font-weight: bold;
	color:#cfe3e1;
	margin:0 0 10px 0;
}

.company_detail_block .-sub {
	color:#2EB78D;
	font-size: 1.2rem;
}

.company_detail_block .-name {
	font-weight: bold;
	font-size:2rem;
}

.company_detail_block .-title {
	color:#DD4764;
	margin:0 0 10px 0;

}

.company_detail_block .-text {
	font-size: 1.3rem;
}




.side_menu article {
	border:none;

	padding:0px;
	margin:0 0 20px 0;
}
.side_menu .side_headline {
	color:#E07788;
	font-size:1.2rem;
	margin:0 0 20px 0;
}
.side_menu .job_info_list {
	border: none;
}
.side_menu .job_info_list {

}
.side_menu .job_info_list {

}
.side_menu .job_info_list  li {
	width:100%;
	border:none;
	border-bottom:dotted 2px #cecbca;
	margin:0 0 20px 0;
	padding:0 0 20px 0;
}
.side_menu .job_info_list  li:last-child {
	border:none;
	padding:0;
	margin:0;
}





/* -------------------------------------
	slick
---------------------------------------- */
.slick-arrow {
	font-size: 2rem;
}

.slick-arrow.prev {
	left:-2%;
}

.slick-arrow.next {
	right:-2%;
}



	/*----------------------------------------*/
}

/*	end case 736px (スマホサイズ ここまで)
----------------------------------------*/
/* -------------------------------------
case 640px (スマホの小さめのサイズ)   */
@media screen and (max-width: 640px) {
	/*----------------------------------------*/
	body {
		min-height: 1px;
	}
	.container {
		max-width: 100%;
		width: 100%;
		margin: 0 auto;
	}
	/*----------------------------------------*/
}

/*	end case 640px (スマホの小さめのサイズ ここまで)
----------------------------------------*/
