@charset "utf-8";
/*
Theme Name: RareJob
Theme URI:
Description: RareJob
Version: 1.0
Author: monokus.jp

*/

.fleft-pc {float: left;}
.fright-pc {float: right;}

/* Layout
---------------------------------------------*/
#wrap {
}
#contents {
	background: #FFFFFF;
	box-shadow: 0px 0px 15px rgba(200, 200, 200, 0.25);

	width:		auto;
	max-width:		1140px;
	padding:	80px 100px;
	margin:		-60px auto 0;
	box-sizing:		border-box;
}
.page-image+#wrap {
	padding-top:		36px !important;
}


/* Main Image
---------------------------------------------*/

.main-image {
	width:		100%;
	height:		640px;

	padding:		0;
	/*
	background:		url(../images/main-image.png) center center no-repeat;
	background-size:	cover;
*/
	overflow:	hidden;
	position:	relative;
}
	.main-image .text img {
		position:	absolute;
		left:		0;
		right:		0;
		top:		0;
		bottom:		0;
		margin:		auto auto;

		display:	block;
		max-width:		100%;
		height:		auto;

		text-align:		center;
		z-index:		50;
	}
	.main-image .bg-sp {
		display:	none;
	}
	.main-image .bg-pc {
	}

/* Main Contents
---------------------------------------------*/

h2, .h2 {
	display:	block;
	padding:	0 0 40px;
	margin:		80px 0 56px;

	background:		url(../images/h2-line.svg) left bottom no-repeat;
	background-size:	120px 1px;

	font-size:		30px;
	line-height:	1.6em;
}
h3, .h3 {
	display:	block;
	margin:		64px 0 32px;
	font-size:		24px;
	line-height:	1.6em;
}
h4, .h4 {
	display:	block;
	margin:		20px 0 30px;
	padding:	0 0 0 16px;
	border-left: 4px solid #8DC21F;

	font-size:		24px;
	line-height:	1.6em;
}
h5, .h5 {
	display:	block;
	margin:		20px 0 30px;
	padding:	8px 0 8px;

	font-size:		22px;
	line-height:	1.6em;
}
h6, .h6 {
	display:	block;
	margin:		42px 0 30px;
	padding:	10px 6px 12px 15px;
	background:		#f0f6e7;

	font-size:		20px;
	line-height:	28px;
}
ul {
	list-style:		disc;
}
ol {
	list-style:		decimal;
}
p+h4,
p+h5,
p+h6,
.p+h4,
.p+h5,
.p+h6,
ul+h4,
ul+h5,
ul+h6,
ol+h4,
ol+h5,
ol+h6 {
	margin-top:		60px;
}
.entry > h2:first-child,
.entry > h3:first-child,
.entry > h4:first-child,
.entry > h5:first-child,
.entry > h6:first-child,
.mce-content-body > h3:first-child,
.mce-content-body > h4:first-child,
.mce-content-body > h5:first-child,
.mce-content-body > h6:first-child {
	margin-top:		0 !important;
}
#contents .entry > *:last-child {
	margin-bottom:		0 !important;
}
.box {
	padding:	30px;
	margin:		80px 0 100px;
}
	.box h5 {
		padding:	0;
		margin:		0 0 20px;

		font-size:		16px;
		line-height:		1;
	}
/* テーブル関連 */
.table-wrap {
}
table {
}

table.mainstyle,
table.table {
	margin: 0 0 20px;
}

table.mainstyle th,
table.table th {
	padding: 16px;
}

table.mainstyle td ,
table.table td {
	padding: 16px;
}
.nowrap-pc th,
.nowrap-pc td,
.nowrap-pc {
	white-space:		nowrap;
}
/* 共通ボタン */
.btn01 {
}
	.btn01 a {
		margin:		0 auto;
		display:	inline-block;
		padding:	0 0 22px;

		font-size:		21px;
		line-height:	1em;
		color:			#000;
		text-decoration:	none;
		/*
		background:		url(../images/line01.png) center bottom no-repeat;
		background-size:	100% 2px;
		*/
		position:	relative;
		overflow:	hidden;
	}
		.btn01 a:before ,
		.btn01 a:after {
			position:	absolute;
			bottom:		0;

			display:	block;
			width:		100%;
			height:		2px;
			overflow:	hidden;
			content:	'';

			background:		url(../images/btn01-line.svg) center bottom no-repeat;
			background-size:	100% 2px;

		    transition: transform 500ms cubic-bezier(0.77, 0, 0.175, 1);
		}
			.btn01 a:before {
				left: 0;
				transform:scaleX(0);
				transition-delay: 0.1s;
				transform-origin: 0% 0%;
			}
			.btn01 a:hover:before {
				transform:scaleX(1);
			}
			.btn01 a:after {
				left: 0;
				transform:scaleX(1);
				transform-origin: 100% 0%;
			}
			.btn01 a:hover:after {
				transform:scaleX(0);
			}
.btn02 {
}
	.btn02 a ,
	.btn02 button {
		padding:	12px 0;
		border-radius:		38px;
		font-size:		16px;
	}
	.btn02.large a ,
	.btn02.large button {
		padding: 20px 0;
		font-size: 20px;
	}
	.btn02.s14 a ,
	.btn02.s14 button {
		padding-top:		12px;
		padding-bottom:		12px;

		font-size:		14px;
		line-height:	16px;
	}
	.btn02 a:before ,
	.btn02 button:before ,
	.btn02 i.material-icons,
	.btn02 .icon {
		display:	inline-block;
		margin:		0 10px 0 0;
		vertical-align:		-4px;

		font-size:		18px;
		line-height:	1;
		font-weight:	normal;
		font-family:	"Material Icons";
		text-align:		left;
	}
	.btn02 i.material-icons.tail ,
	.btn02 .icon.tail {
		margin-left:	10px !important;
		margin-right:	0 !important;
	}
	.btn02.arrow-right a:before ,
	.btn02.arrow-right button:before {
		position:	absolute;
		right:		15px;
		top:		0;
		bottom:		0;
		margin:		auto 0;

		display:	block;
		width:		1em;
		height:		1em;
		vertical-align:	0;

		content:	'keyboard_arrow_right';
	}
/* フォーム */
.select {
	position:		relative;
	padding:		0;
}
.select {
	height:		56px;
}
.select select,
.select .select-label {
	height:		56px;

	font-size:		16px;
	padding:		0 30px;
}
	.select:before {
		right:		30px;
		top:		5px;
		bottom:		0;

		border-width:		5px;
		border-style:		solid;
		border-color:		#000 transparent transparent transparent;
	}

input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"] {
	height:		56px;

	font-size:		16px;
	padding:		0 30px;
}
textarea {
	height:		215px;

	font-size:		16px;
	padding:		16px 30px;
}

input[type="radio"],
input[type="checkbox"] {
	margin:		0 10px 0 0;
}



.pdf-size {
	margin:		0 0 0 10px;
	padding:	0 0 0 30px;
	min-height:		25px;

	display:		inline-block;
	font-size:		13px;
	line-height:	25px;
	background:		url(../images/icon-pdf.svg) left center no-repeat;
}
/* Top Page
---------------------------------------------*/
.top-topics {
}
	.top-topics .inner {
/*		max-width:		1140px; */
		max-height:		64px;
		overflow:		hidden;

		margin:			0 auto;
	}
	.top-topics a {
		display:	flex;
		margin:		0 auto;
		padding:	20px 0;

		font-size:		14px;
		line-height:	24px;

		color:		#000;
		text-decoration:	none;

		justify-content: center;
	}
	.top-topics .cat {
		min-width:		60px;
		height:		24px;
		padding:		0 5px;
		box-sizing:		border-box;
		white-space:	nowrap;
		overflow:		hidden;

		border:		1px solid #dedede;
		border-radius: 5px;

		font-size:		14px;
		line-height:	24px;
		color:			#7a7a7a;

		text-align:		center;
	}
	.top-topics .date {
		margin:		0 24px 0 0;
	}
		.top-topics .date:before {
			content:	'/';
			margin:		0 32px;
		}
.top-business {
	position:	relative;
	padding:	0 480px 36px 0;
	margin:		145px 0;
}
	.top-business:before {
		position:	absolute;
		bottom:		0;
		left:		58%;
		z-index:	2;

		display:	block;
		width:		582px;
		height:		516px;
		content:	'';

		background:		url(../images/business-figure.svg) left bottom no-repeat;
	}
	.top-business .inner {
		background:		#f4f4f4;
		position:		relative;
	}
		.top-business .in  {
			max-width:    800px;
			margin:       0 auto;
			padding-left: 120px;
			position:     relative;
		}
		.top-business .in:before {
			position:	absolute;
			left:		120px;
			right:		0;
			top:		-35px;

			display:	block;
			width:		auto;
			height:		96px;
			content:	'';

			background:		url(../images/business-logo.svg) left center no-repeat;
		}
		.top-business h2  {
			padding:	90px 0 60px !important;
			margin:		0 !important;
			border:		none !important;
			background:		none !important;

			font-size:		37px;
			line-height:	1.3em;
			text-align:		left;
		}
		@media screen and (max-width: 1200px) {
			.top-business .inner h2 .sp-hidden {
				display: none;
			}
		}
		.top-business .text {
			padding:		0 0 60px;
			width:			580px;

			font-size:		18px;
			line-height:	2.0em;
		}
		.top-business .more {
			text-align:		left;
			padding:		0 0 60px;
		}

	@media screen and (max-width: 1320px) {
		.top-business {
			padding-right:		420px !important; /* 490-70 */
		}
		.top-business:before {
			zoom: 0.8;
		}
		.top-business .in:before {
			left: 20px;
			right: 20px;
			background-size: contain;
		}
		.top-business .in {
			max-width: 580px;
			padding: 0 20px;
		}
	}
.top-technology {
	position:	relative;
	padding:	0 0 93px 490px;
	margin:		145px 0 145px;
}
	.top-technology:before {
		position:	absolute;
		bottom:		0;
		left:		0;
		z-index:	2;

		display:	block;
		width:		600px;
		height:		623px;
		content:	'';

		background:		url(../images/technology-diagram.png) right bottom no-repeat;
		background-size:		536px auto;
	}
	.top-technology .inner {
		background:		#f4f4f4;
		position:		relative;
	}
		.top-technology .in  {
			float:		left;
			width:		803px;
			margin:		0 0 0 150px;
			position:	relative;
		}
		.top-technology .in:before {
			position:	absolute;
			left:		0;
			right:		0;
			top:		-49px;

			display:	block;
			width:		auto;
			height:		98px;
			content:	'';

			background:		url(../images/technology-logo.svg) left center no-repeat;
		}
		.top-technology h2  {
			padding:	90px 0 75px !important;
			margin:		0 !important;
			border:		none !important;
			background:		none !important;

			font-size:		37px;
			line-height:	1.3em;
			text-align:		left;
		}
		.top-technology .text {
			padding:		0 0 70px;
			width:			580px;

			font-size:		18px;
			line-height:	2.0em;
		}
		.top-technology .more {
			text-align:		left;
			padding:		0 0 80px;
		}
			.top-technology .more a {
			}
	@media screen and (max-width: 1320px) {
		.top-technology {
			padding-left:		420px !important; /* 490-70 */
		}
		.top-technology:before {
			width:		550px !important; /* 600-70 */
		}
		.top-technology .in:before {
		}
		.top-technology .in {
			width:		auto !important;
			max-width:		803px;
			padding-right:	20px !important;
		}
		.top-technology .text {
			width:		auto !important;
		}
	}
.top-global-team {
	margin:		0 auto 140px;

	max-width:		1140px;
	position:	relative;
}
	.top-global-team:before {
		position:	absolute;
		left:		0;
		right:		0;
		top:		-35px;

		display:	block;
		width:		auto;
		height:		76px;
		content:	'';

		background:		url(../images/global-team-logo.svg) center center no-repeat;
	}
	.top-global-team .text {
		padding:		85px 0 0;
		text-align:		center;

		font-size:		20px;
		line-height:	1.5em;
		background:		#f4f4f4;
	}
	.top-global-team .map {
		margin-bottom:	50px;
		padding-top:	30px;
		background:		#f4f4f4;
	}
		.top-global-team .map img {
			display:	block;
			max-width:		100%;
			height:		auto;
		}
	/*
	.top-global-team .photos {
		min-height:		514px;
		background:		url(../images/global-team-map.svg) center top no-repeat;
	}
		.top-global-team .photos ul {
			padding:		52px 0 10px;
			margin:			0 auto;
			width:			1110px;

			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
		.top-global-team .photos ul li {
			width:			300px;
			margin:			0 35px 50px;
		}
			.top-global-team .photos ul li img {
				display:		block;
				width:			100%;
				height:			auto;
			}
	*/
	.top-global-team .more {
		text-align:		center;
	}
		.top-global-team .more a {
		}
.top-services {
	margin:		0 0 100px;
	padding:	53px 0 30px;
	background:		#f4f4f4;
	position:		relative;
}
	.top-services:before {
		position:	absolute;
		left:		50%;
		top:		-35px;
		margin:		0 0 0 -570px;

		display:	block;
		width:		1140px;
		height:		70px;
		content:	'';

		background:		url(../images/services-logo.svg) left center no-repeat;
	}
	.top-services h2 {
		margin:		0 !important;
		padding:	16px 0 !important;
		background:		none !important;
		border:			none !important;

		font-size:	24px;
		line-height:	1.5em;
	}
	.top-services .inner {
		margin:		0 auto;
		max-width:		1140px;
	}
	.top-services .banners ul {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 16px;
	}
		.top-services .banners ul li {
			width:		25%;
		}
		.top-services .banners ul li a {
			display:	block;
			padding:	0 4px 16px;

			font-size:		15px;
			line-height:	1.3em;
			color:			#000;

			text-decoration:	none;
		}
			.top-services .banners ul li a .image {
				position:	relative;
			}
				.top-services .banners ul li a .image img {
					display:	block;
					width:		100%;
					height:		auto;
				}

			.top-services .banners ul li a .text {
				padding:		4px 0 0;
				text-align:		center;
				line-height:     1.4;
				position:		relative;
			}
	/* 	@media screen and (max-width: 1320px) { */
	@media screen and (max-width: 1140px) {
		.top-services:before {
			left:		20px !important;
			right:		0 !important;
			margin:		0 !important;

			width:		auto !important;
		}
		.top-services .inner {
			padding:		0 20px !important;
		}
	}
/* Page
---------------------------------------------*/
.page-header {
	height:		280px;
	box-sizing:	border-box;
	padding:	0 0 36px;

	background:		url(../images/page-title-bg.png) center center no-repeat;
	background-size:	cover;

	display:	flex;
	align-items:		center;
	justify-content: 	center;

	flex-direction:		column;
}
	.page-header .inner {
		text-align:		center;
		font-weight: normal;
	}
	.page-header .en {
		font-size: 50px;
		line-height:	1.2em;
		margin:		0 0 17px;
	}
	.page-header span {
		margin:		0 !important;
		padding:	0 !important;
		border:		none !important;
		background:		none !important;
		font-size: 20px;
		font-style:		normal;
		line-height:	1.2em;
	}


/* Footer
---------------------------------------------*/
.footer-banners {
	background:		#474747;
	padding:		35px 0 30px;
}
	.footer-banners .list {
		margin:		0 auto;
		width:		1140px;
	}
	.footer-banners .list ul {
		margin:		0 -33.333px;
	}
		.footer-banners .list ul li {
			float:		left;
			width:		260px;
			margin:		0 0 0 33.333px;
		}
		.footer-banners .list ul li a {
			display:	block;

			font-size:		12px;
			line-height:	1.3em;
			color:			#fff;

			text-decoration:	none;
		}
			.footer-banners .list ul li a .image {
				display:	block;
				height:		70px;
				overflow:	hidden;

				position:	relative;
			}
				.footer-banners .list ul li a .image img {
					display:	block;
					width:		260px;
					height:		auto;
				}

			.footer-banners .list ul li a .text {
				padding:		4px 18px 4px 0;
				text-align:		right;
				position:		relative;
			}
			.footer-banners .list ul li a .text:after {
				position:	absolute;
				right:		0;
				top:		50%;
				margin:		-.5em 0 0;
				height:		1em;

				content:		'keyboard_arrow_right';
				font-size:		15px;
				font-weight:	normal;
				color:			#fff;
				font-family:	"Material Icons";
				text-align:		right;
			}

/* WP STYLE
---------------------------------------------*/

img.centered-pc ,
img.aligncenter-pc {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.alignright-pc {
	margin: 	0 0 0 1em;
	display: 	block;
	float: 		right;
}

img.alignleft-pc {
	margin: 	0 1em 0 0;
	display: 	block;
	float: 		left;
}

.alignright-pc {float: right;}
.alignleft-pc {float: left;}

/* 下層ページ
---------------------------------------------*/

.breadcrumb {
	padding:	0 0 16px;
	font-size:		13px;
	line-height:	1.3em;
	background: #f8fbf8;
	position:	relative;
}
.breadcrumb .inner {
    width: 1140px;
    margin: 0 auto;
}
	.breadcrumb .inner > span {
		display:	inline;
		padding:	0 8px 0;
		position:	relative;
	}
	.breadcrumb .inner > span:first-child {
		padding-left:		0 !important;
	}
	.breadcrumb .inner > span:first-child a {
		padding-left:	26px;
		position:		relative;
	}
	.breadcrumb .inner > span:first-child a:before {
		position:	absolute;
		left:		0;
		top:		50%;
		margin:		-.4em 0 0;
		height:		1em;

		content:		'home';
		font-size:		18px;
		font-weight:	normal;
		color:			#222;
		font-family:	"Material Icons";
		text-align:		right;
	}
