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

*/

/* 各下層ページ 個別
---------------------------------------------*/

		.sitemap nav:last-child > ul > li:last-child ,
		.sitemap nav:last-child > ul > li:last-child .sub > ul > li:last-child {
			margin-bottom:		0 !important; /* 一番下のmargin-bottomの相殺 */
		}
		/*  */
		.sitemap nav > ul > li {
			margin:		0 0 45px;
		}
		.sitemap nav > ul > li > .subtitle,
		.sitemap nav > ul > li > a {
			display:	block;
			padding:	0 0 16px;
			margin:		0 0 20px;
			border-bottom:	1px solid #D4E0C3;

			font-size:		18px;
			line-height:	26px;
			font-weight:	bold;

			position:		relative;
		}
			.sitemap nav > ul > li > a {
				padding-left:		1.5em;
			}
			.sitemap nav > ul > li > a:before {
				position:	absolute;
				left:		0;
				top:		4px;
				margin:		0 0 0;
				width:		18px;
				height:		18px;
				background:		#8DC21F;
				border-radius:	50%;

				content:		'keyboard_arrow_right';
				font-size:		18px;
				line-height:	18px;
				font-weight:	normal;
				color:			#fff;
				font-family:	"Material Icons";
				text-align:		center;
			}
			.sitemap nav > ul > li.open-window > a:after {
				display:	inline-block;
				width:		1.0em;
				height:		1.0em;
				margin:		0 0 0 .4em;
				vertical-align:		-.1em;

				content:		'filter_none';
				font-size:		80%;
				line-height:	1.8em;
				font-weight:	normal;
				color:			#222;
				font-family:	"Material Icons";
				text-align:		center;
			}
				.sitemap .sub > ul {
					font-size:		107%;
					line-height:	1.5em;
				}
				.sitemap .sub > ul > li {
					margin:		0 0 14px;
				}
				.sitemap .sub > ul > li > a {
					display:	block;
					padding:	0 0 0 23px;

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

					position:		relative;
				}
				.sitemap .sub > ul > li > a:before {
					position:	absolute;
					left:		0;
					top:		6px;
					margin:		0 0 0;
					width:		15px;
					height:		15px;
					background:		#8DC21F;
					border-radius:	50%;

					content:		'keyboard_arrow_right';
					font-size:		15px;
					line-height:	15px;
					font-weight:	normal;
					color:			#fff;
					font-family:	"Material Icons";
					text-align:		center;
				}
				.sitemap .sub > ul > li > a.open-window:after { /* IRのみ */
					display:	inline-block;
					width:		15px;
					height:		15px;
					margin:		0 0 0 2px;
					vertical-align:		-1px;

					content:		'filter_none';
					font-size:		13px;
					line-height:	1;
					font-weight:	normal;
					color:			#222;
					font-family:	"Material Icons";
					text-align:		center;
				}
				.sitemap .sub > ul > li > .subtitle2 {
					padding:		15px 0 0;

					font-size:		16px;
					line-height:	27px;
				}
					.sitemap .sub > ul > li ul {
						padding:	0 0 0 25px;

						font-size:		14px;
						line-height:	27px;
					}
					.sitemap .sub > ul > li ul > li  {
						padding:	10px 0 0;
					}
					.sitemap .sub > ul > li ul > li > a {
						display:	block;
						padding:	0 0 0 15px;

						line-height:	27px;

						position:		relative;
					}
					.sitemap .sub > ul > li ul > li > a:before {
						position:	absolute;
						left:		0;
						top:		6px;
						margin:		0 0 0;

						content:		'keyboard_arrow_right';
						font-size:		15px;
						line-height:	1;
						font-weight:	normal;
						color:			#8DC21F;
						font-family:	"Material Icons";
						text-align:		left;
					}
					.sitemap .sub > ul > li ul > li > a.open-window:after {
						display:	inline-block;
						width:		15px;
						height:		15px;
						margin:		0 0 0 2px;
						vertical-align:		-1px;

						content:		'filter_none';
						font-size:		13px;
						line-height:	1;
						font-weight:	normal;
						color:			#222;
						font-family:	"Material Icons";
						text-align:		center;
					}
/* お問い合わせ ========== */
.contact-sections {
}
	.contact-sections section {
		text-align:		center;
		position:		relative;
	}
	.contact-sections section+section {
		margin-top:		64px;
	}
	.contact-sections section h3 {
		margin:		0 0 30px !important;
		padding:	0 !important;
		border:		none !important;
		background:		none !important;

		font-size:		20px;
		line-height:	28px;
	}
	.contact-sections section .text {
		font-size:		15px;
		line-height:	30px;

		margin:		0 0 30px;
	}
		.contact-sections section .text p {
			margin:		0 !important;
		}
	.contact-sections section .btn02 {
		margin:		0 auto;
		width:		100%;
	}
		.contact-sections section .btn02 a {
		}
		.contact-sections section .btn02 a:before {
			content:		'mail_outline';
		}
.contact-form {
}
	.contact-form .text {
		margin:		0 0 32px;
	}
	.contact-form dl {
	}
		.contact-form dl dt {
			margin:		0 0 15px;

			font-size:		16px;
			line-height:	28px;
		}
			.contact-form dl dt .in {
				display:	inline-block;
			}
			.contact-form dl dt .note {
				font-size:		14px;
			}
			.contact-form dl dt.required:after {
				display:	inline-block;
				content:	'※';
				color:		#F45800;
				margin:		0 0 0 .5em;
			}
		.contact-form dl dd {
			margin:		0 0 25px;
		}
		.contact-form dl dd.privacy {
			border-top:		1px solid #D4E0C3;
			padding:		20px 0 0;
		}
			.contact-form dl dd.privacy .note {
				margin:		0 0 20px;
				line-height:	24px;
			}
			.contact-form dl dd.privacy section {
				border:		1px solid #D4E0C3;

				height:		210px;
				padding:	15px;
				box-sizing:		border-box;
				overflow:		auto;

				font-size:		12px;
				line-height:	19px;

				margin:		0 0 20px;
			}
			.contact-form dl dd.privacy section .head,
			.contact-form dl dd.privacy section p,
			.contact-form dl dd.privacy section .p,
			/* .contact-form dl dd.privacy section ol ,
			.contact-form dl dd.privacy section ul, */
			.contact-form dl dd.privacy section li {
				margin:		0 0 20px;
			}
			.contact-form dl dd.privacy section .head {
				font-size:		13px;
				line-height:	19px;
			}
	.contact-form .btn02 {
		margin:		28px auto 0;
	}
.mw_wp_form_preview .contact-form {
}
	.mw_wp_form_preview .contact-form dt {
		font-size:		16px;
		line-height:	28px;
	}
	.mw_wp_form_preview .contact-form dd {
		font-size:		16px;
		line-height:	28px;
		min-height:		28px;
	}
	.mw_wp_form_preview .contact-form dd .select {
		border:		none !important;
		padding:	0 !important;
		margin:		0 !important;
		height:		auto !important;
	}
	.mw_wp_form_preview .contact-form dd .select .select-label {
		display:		none !important;
	}
	.mw_wp_form_preview .contact-form dd .select:before {
		display:		none !important;
	}
.contact-list {
	display:	flex;
	flex-wrap:	wrap;
}
	.contact-list section {
		display:	block;
		width:		100%;

		padding:	25px 15px;
		margin:		0 0 30px;
		box-sizing:		border-box;

		background: #FBFCF9;
		border: 1px solid #D4E0C3;
	}
		.contact-list section:last-child {
			margin-bottom:		0;
		}
	.contact-list section h3 {
		margin:		0 0 25px !important;
		padding:	0 !important;
		border:		none !important;
		background:		none !important;
		font-size:		18px;
		text-align:		center;
	}
	.contact-list section h3 .sub {
		font-size:		14px;
		line-height:	26px;
	}
	.contact-list section .in {
	}
	.contact-list section .btn02 {
	}
		.contact-list section .btn02+.btn02 {
			margin-top:		20px;
		}
	/* comment 235 -> iphone5サイズの改行防止 */
	@media screen and (max-width: 325px) {
		.contact-list section .btn02 a {
			font-size:	13px;
		}

	}
/* ニュース/一覧系 ========== */
.post-tabs {
	display:	block;
	width:		100%;
	height:		48px;
	box-sizing:		border-box;

/*	border:		1px solid #D4E0C3; */

	font-size:		100%;
	padding:		0;
	margin:		0 0 30px;

	position:		relative;
}
	.entry > .post-tabs:first-child {
		margin-top:		-20px;
	}
	.post-tabs ul {
		position:	absolute;
		left:		0;
		top:		0;
		right:		0;

		display:		block;
		box-shadow: 	0px 1px 10px #D8D8D8;
		background:		#fff;
		border-radius: 	5px;

		height:		48px;
		overflow:	hidden;

		z-index:	5;
	}
		.post-tabs ul:before {
			position:	absolute;
			right:		20px;
			top:		22px;
			z-index:	2;
			margin:		0;

			display:	block;
			width:		0;
			height:		0;
			overflow:	hidden;
			content:	'';

			border-width:		5px;
			border-style:		solid;
			border-color:		#000 transparent transparent transparent;
/*			transform: rotate(-45deg);*/
		}
	.post-tabs li {
		/*
		position:	absolute;
		left:		0;
		right:		0;
		top:		0;
		bottom:		0;
		*/
		display:	block;
		width:		100%;
		height:		48px;
		box-sizing:		border-box;

		font-size:		15px;
		padding:		0 30px;
	}
		.post-tabs li span ,
		.post-tabs li a {
			display:	flex;
			align-items:	center;
			justify-content: center;

			width:		100%;
			height:		48px;

			font-size:	100%;
			line-height:	1;
			color:		#000;

			text-decoration:	none;
		}
	.post-tabs.opened ul {
		height:		auto;
	}
		.post-tabs.opened ul:before {
			margin-top:		-5px;
			transform: rotate(180deg);
			transform-origin: center center ;
		}
		.post-tabs.opened li {
			border-top: 1px solid #D4E0C3;
		}
		.post-tabs.opened li:first-child,
		.post-tabs.opened li:nth-child(2) {
			border-top: none !important;
		}
		.post-tabs.opened li:first-child {
			background:		url(../images/post-tabs-line-sp.svg) left bottom no-repeat;
			background-size:		100% 1px;
		}
.post-tabs-sub {
	margin:		30px 0 40px;
	padding:	9px;
	box-sizing:		border-box;

	background: 		#F4F8EE;
}
	.post-tabs-sub ul {
		margin:			-9 -4.5px 0;

		display:		flex;
		flex-wrap:		wrap;
		align-items: stretch;
		justify-content: center;
	}
		.post-tabs-sub ul li {
			flex-basis:		50%;
			box-sizing:		border-box;
			padding:		8px 4px;

			display:		flex;
			align-items: stretch;
			justify-content: center;
		}
		.post-tabs-sub ul li a ,
		.post-tabs-sub ul li span {
			display:		flex;
			align-items: center;
			justify-content: center;

			padding:	8px 14px;
			width:		100%;
			min-height:	42px;
			box-sizing:		border-box;

			background:		#fff;
			border-radius:	6px;

			font-size:		12px;
			line-height:	1.2;
			text-align:		center;
			color:			#000;
			text-decoration:	none;

			position:	relative;
		}
		.post-tabs-sub ul li span:before {
			position:   absolute;
			left:       6px;
			top:        50%;
			margin:     auto;

			display:	block;
			width:		0;
			height:		0;
			overflow:	hidden;
			content:	'';

			border-width:	6px;
			border-style:	solid;
			border-color: 	transparent transparent transparent #8DC21F;
			transform: translateY(-50%);

		}

.post-category-select {
	margin:		0 auto 15px;
	width:		245px;

	font-size:	13px;
}
	.post-category-select .select {
		width:		100%;
		height:		40px;
		border-radius:		40px;
		margin:		0 0 15px;
	}
	.post-category-select .select .select-label {
		text-align:		center;
		justify-content: center;
	}
		.post-category-select .select select {
			padding:		0 !important;
			text-align:		center !important;
		}
		.post-category-select .select select,
		.post-category-select .select .select-label {
			height:		40px;
			font-size:		13px;
		}

.post-list {
}
	.post-list li a {
		padding:	18px 0;
		font-size:		14px;
	}
		.post-list li a .date {
			width:		78px;

			font-size:		13px;
			line-height:	19px;
		}
		.post-list li a .cat {
			min-width:		80px;
			padding:		4px 4px 4px;

			font-size:		11px;
			line-height:	1;
		}
		.post-list li a .text {
			padding:		6px 0 0;
		}
		.post-list li a .pdf-size {
		}
	.post-list h2 {
		margin-bottom:		24px !important;
	}
	.post-list .btn02 {
		margin:		30px auto 0;
		width:		220px;
	}
.post-list.post-list-no-cat {
}
	.post-list.post-list-no-cat li a .text {
		padding-top:		.5em !important;
	}

.post-pagination {
	margin:			30px -8px 0;
}
	.post-pagination ul {
	}
		.post-pagination ul li {
		}
		.post-pagination ul li span,
		.post-pagination ul li a {
			width:			32px;
			height:			32px;
			margin:			0 8px;

			border-radius:		16px;

			font-size:		14px;
			font-weight:	normal;
			line-height:	1;
		}


.post-news-pdf {
	margin:		0 0 30px;
}
	.post-news-pdf a {
		width:		140px;
		height:		30px;
		padding:	0;

		background:		#f4f4f4;
		border-radius:		15px;

		font-size:		13px;
		line-height:	30px;
		color:			#000;
		text-align:		center;
	}
	.post-news-pdf a:before {
		float:		left;
		display:	block;
		width:		24px;
		height:		30px;
		overflow:	hidden;
		content:	'';

		margin:		0 8px 0 0;

		background:	url(../images/icon-pdf.png) center center no-repeat;
		background-size:	20px 21px;
	}
.post-news-sns {
}
	.post-news-sns ul {
		margin:		0 -6px;
	}
	.post-news-sns ul li {
		margin:		0;
		padding:	0 6px;
		width:		29px;
	}
.post-news-cat {
}
	.post-news-cat .cat {
		float:		left;

		min-width:	80px;
		padding:	5px 5px 6px;
		box-sizing:		border-box;

		border:		1px solid #8DC21F;
		font-size:		11px;
		line-height:	1;
		text-align:		center;

		color:		#579F00;
	}
	.post-news-cat .date {
		float:		left;

		padding:	5px 0 0 10px;
		box-sizing:		border-box;

		font-size:		13px;
		line-height:	1;
		text-align:		center;

		color:		#7a7a7a;
	}
.post-news-head {
	background-image:	url(../images/page/post-news-head-line-sp.svg) !important;
}
	.post-news-head h3 {
		padding-bottom:		1em !important;
	}
	.post-news-head .note {
	}

.post-news-head {
	clear:		both;
	padding:	20px 0 30px;
	margin:		0 0 30px;

	background-image:	url(../images/page/post-news-head-line-sp.svg) !important;
	background-size:		100% 1px !important;
}
	.post-news-head h3 {
		margin:		0 !important;
		padding:	0 0 23px !important;
		border:		none !important;
		background:		none !important;

		font-size:		22px;
		line-height:	34px;
	}

	.post-news-head .note {
		font-size:		17px;
		line-height:	26px;
	}
/* IR =----------------- */
.entry-shareholder-benefit-plan {
}
	.entry-shareholder-benefit-plan .table {
	}
	.entry-shareholder-benefit-plan .btn02 {
		margin:			40px auto 0;
	}
		.entry-shareholder-benefit-plan .btn02+.btn02 {
			max-width:		265px;
			margin-top:		20px;
		}

/* ----- */
.faq-list {
}
	.faq-list dl {
		padding:		0 0 0 25px;
		margin:		0 0 -36px;
	}
	.faq-list dl dt {
		padding:	0 0 12px;
		font-weight: bold;
	}
		.faq-list dl dt:before {
			left:		-25px;
			top:		4px;

			width:		15px;
			height:		35px;

			background-size:	100% auto !important;
		}
	.faq-list dl dd {
		padding:	12px 0 32px;
	}
/* -------- */
.ir-calendar {
}
	.ir-calendar .months {
		font-size:		15px;
		line-height:	27px;
	}
		.ir-calendar .months dl {
			width:		50%;
			padding:	4px;
		}
		.ir-calendar .months .list ul li {
			font-size:		60%;
			line-height:	1em;
		}
.ir-calender-list {
}
	.ir-calender-list h5 {
		margin:		0 0 10px !important;
	}
	.ir-calender-list .list {
		margin:		0 0 29px 15px;
	}
		.ir-calender-list .list:last-child {
			margin-bottom:		0 !important;
		}
		.ir-calender-list .list li {
			padding:		11px 0 13px;
			border-bottom:		1px solid #D4E0C3;
			font-size:		14px;
		}
			.ir-calender-list .list li .date {
				float:	left;
			}
			.ir-calender-list .list li .text {
				margin:		0 0 0 72px;
			}
.ir-documents {
	display:	flex;
	flex-wrap:	wrap;
}
	.ir-documents section {
		display:	block;
		width:		100%;

		padding:	20px 20px 30px;
		margin:		0 0 30px;
		box-sizing:		border-box;

		background: #fff;
		border: 1px solid #D4E0C3;
	}
	.ir-documents section h3 {
		margin:		0 0 20px !important;
		padding:	0 0 20px !important;
		border:		none !important;
		background:		none !important;

		border-bottom: 1px solid #8DC21F !important;

		font-size:		18px;
		line-height:	1;

		text-align:		left;
	}
	.ir-documents section .in {
		margin:		0 0 25px;
		font-size:		14px;
	}
		.ir-documents section .in a {
			color:		#000;
			text-decoration:	none;
		}
		.ir-documents section .date {
			margin:		0 0 15px;
		}
		.ir-documents section .text {
		}
		.ir-documents section .pdf-size {
			margin-right:		-20px;
			margin-left:		2px;
		}
	.ir-documents section .btn02 {
		width:		220px;
		margin:		0 auto;
	}


.ir-top-message-photo {
	position:	relative;
	margin:		40px 0 40px;
}
	.ir-top-message-photo .photo {
		width:		260px;
	}
		.ir-top-message-photo .photo img {
			display:	block;
			width:		100%;
			height:		auto;
		}
	.ir-top-message-photo .inner {
	}
	.ir-top-message-photo .text {
		margin:		-48px 10px 0 18px;
		position:	relative;
	}
		.ir-top-message-photo .text:before {
			position:	absolute;
			left:		10px;
			top:		10px;
			bottom:		-10px;
			right:		-10px;
			z-index:	2;

			display:	block;
			width:		auto;
			height:		auto;
			content:	'';
			overflow:	hidden;

			background:		url(../images/page/ir-top-message-textbox-shadow.svg) right bottom no-repeat;
			background-size:	100% 100%;
		}
		.ir-top-message-photo .text .in {
			box-sizing:		border-box;
			padding:		20px 0 22px 20px;

			font-size:		19px;
			font-weight:	bold;
			line-height:	32px;

			background:		#fff url(../images/page/ir-top-message-textbox.svg) center center no-repeat;
			background-size:	100% 100%;

			position:	relative;
			z-index:	2;
		}
		.ir-top-message-photo .text p {
			margin:		0 !important;
		}


.latest-financial-info {
	margin-top: 56px;
}
	.latest-financial-info dl {
	}
		.latest-financial-info dl dt {
			font-size:		16px;
			font-weight:	bold;
			line-height:	1;

			margin:		0 0 23px;
		}
		.latest-financial-info dl dd {
			border: 		1px solid #8DC21F;
		}
			.latest-financial-info li  {
				border-top: 	1px dashed #D4E0C3;
			}
			.latest-financial-info li:first-child {
				border-top: 	none;
			}
			.latest-financial-info li a {
				display:	block;
				padding:	11px 20px;

				color:		#000;
				text-decoration:	none;
			}

			.latest-financial-info li a:hover {
				text-decoration:	underline;
			}

.stockQuote,
.companyIntroVideo {
    margin-top: 56px;
}
.stockQuote-layout {
    padding: 16px 12px 8px;
    border: 1px solid #8DC21F;
}
.stockQuote-link {
    margin: 4px 0 0;
    display: block;
    text-align: right;
}
.stockQuote-link a {
    text-decoration: none;
    font-size: 11px;
}
.companyIntroVideo-link {
    margin: 6px 0 0;
}
.companyIntroVideo-link a {
    text-decoration: none;
    font-size: 12px;
}
.companyIntroVideo-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
}

.sitemap-ir {
	margin:		56px 0 0;
	margin-bottom:		-40px;
}
	.sitemap-ir .sitemap {
		margin:		0 0 40px;
	}
	.sitemap-ir .sitemap .sub a {
		font-size:		14px;
	}
.sitemap-ir-items {
	/* .sitemap-ir .sitemap と指定方法が異なるが、3段組のX座標位置が同じになるようにすること。 */
}
	.sitemap-ir-items ul {
		padding:		0 0 20px;
	}
	.sitemap-ir-items ul li {
		margin:		0 0 20px;
	}
	.sitemap-ir-items ul li a {
		display:	block;
		padding:	17px 0 17px 52px;

		font-size:		16px;
		line-height:	1;
		color:			#000;
		text-decoration:	none;

		border: 	1px solid #8DC21F;
		border-radius:		5px;
		background:		#fff;

		position:	relative;
	}
		.sitemap-ir-items ul li a:after {
			position:	absolute;
			left:		20px;
			top:		0;
			bottom:		0;
			margin:		auto 0;

			width:			20px;
			height:			20px;
			background:		#8DC21F;
			border-radius:	50%;

			content:		'keyboard_arrow_right';
			font-size:		16px;
			line-height:	20px;
			font-weight:	normal;
			color:			#fff;
			font-family:	"Material Icons";
			text-align:		center;
		}
.sitemap-ir-items-s {
}
	.sitemap-ir-items-s ul li a {
		padding-top:	15px !important;
		padding-bottom:	15px !important;

		font-size:		14px;
		line-height:	1;
	}

/* --------IR ESG page------- */
.esg-topTxt {
	margin-bottom: 30px;
	font-size: 15px;
	line-height: 28px;
}
.esg-contents ul {
	padding-left: 0;
}
.esg-listTtl {
    margin: 0 0 30px !important;
    padding: 0 0 0 40px !important;
    font-size: 24px;
}
.esg-listTtl:before {
	width: 25px;
}
.esg-list {
	padding-top: 28px;
}
.esg-list + .esg-list {
	margin-top: 30px;
}
.esg-listItem dt {
	margin: 32px 0 16px;
	font-size: 20px;
}
.esg-listItem dt.esg-multiple {
	margin: 24px 0 16px;
	font-size: 18px;
}
.esg-listItem--precedent {
    margin-top: 15px;
}
.esg-listItem--precedent ul {
    padding-left: 15px;
    }
.esg-iconSDGs {
    margin: 0 auto 20px;
}
.esg-iconSDGs-multiple .esg-iconSDGs {
    margin-bottom: 5px;
}
.is-adjustment {
    margin-bottom: 20px;
}
.esg-socialAppeal {
	margin-top: 20px;
	padding: 15px 15px 1px;
}
.esg-socialAppeal p {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 26px;
}
.esg-socialAppeal p + p:before {
	margin-bottom: 20px;
	width: 160px;
	height: 1px;
}
.esg-governanceAppeal {
	margin: 20px 0;
	font-size: 15px;
	line-height: 28px;
}
@media screen and (max-width: 325px) {
	.esg-list .btn02.large a {
		font-size: 15px;
	}
}
/* -------- esd-database ------- */
.database-contents {
    margin-bottom: 50px;
}
.database-contents + .database-contents {
    margin-top: 56px;
}
.database-Ttl {
    margin: 0 0 30px !important;
    padding: 0 0 0 40px !important;
    font-size: 24px;
}
.database-Ttl:before {
    width: 25px;
}
.database-suvTtl{
    margin: 32px 0 16px;
    font-size: 20px;
}
.database-contents table {
    display: block;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.database-contents th {
	white-space: normal;
}
.database-hasImageBox {
    display: block;
}
.database-hasImageBox img {
    width: 142px;
    margin: 15px 0 0 0;
}
/* ------------- */
.our-services-section {
}
	.our-services-section h2 {
		margin:		0 0 30px !important;
		padding:	0 0 0 40px !important;
		border:		none !important;
		background:		none !important;
		font-size:		24px;
		line-height: 30px;
	}
	.our-services-section h2:before {
		position:	absolute;
		left:		0;
		top:		50%;
		margin:		-1px 0 0;
		display:	block;
		width:		30px;
		height:		2px;
		content:	'';
		overflow:	hidden;
		background: 	#8DC21F;
	}
	.our-services-section h3 {
		margin:		0 !important;
		padding:	6px 0 4px 1em !important;
		font-size:		20px;
		line-height:	26px;
		position:		relative;
	}
	.our-services-section h3 span {
		font-size: 16px;
	}
	.our-services-section h3:before {
		position:	absolute;
		left:		0;
		top:		50%;
		margin-top:		2px;
		display:	block;
		width:		8px;
		height:		2px;
		content:	'';
		overflow:	hidden;
		background: 	#000;
	}
	.our-services-section h4 {
		margin:		0 0 30px  !important;
		padding:	10px 0 10px 15px !important;
		border:		none !important;
		background:		#F0F6E7 !important;
		font-size:		17px;
		line-height:	28px;
	}
	.our-services-section .text01 {
		margin:		0 0 32px;
		font-size:		16px;
		font-weight:	bold;
		text-align:		center;
	}
		.our-services-section .text01 strong {
			display:	block;
			margin:		0 0 16px;

			font-size:		23px;
			line-height:	42px;
		}
		.our-services-section .text01 u {
			display:	inline;
			text-decoration:	none;
			/* padding:		0 0 0.2em; */

			background:			url(../images/page/underline01.svg) left bottom repeat-x;
			background-size:		1px 0.4em;
		}
	.our-services-section .list01 {
		padding:		0 0 10px;
		margin:			0 0 40px;
		border-bottom: 1px solid #D4E0C3;
	}

		.our-services-section .list01 > ul > li:before {
			position:	absolute;
			left:		0;
			right:		0;
			top:		0;

			display:	block;
			width:		180px;
			height:		180px;
			padding:	0;
			margin:		0 auto;

			border-radius:		50%;
			content:		'';
			overflow:	hidden;

			background-color: #F4F8EE;
			background-position:	center center;
			background-repeat:		no-repeat;
		}
			.our-services-section .list01 > ul > li:nth-child(1):before { background-image: url(../images/page/our-services-icon01.svg); }
			.our-services-section .list01 > ul > li:nth-child(2):before { background-image: url(../images/page/our-services-icon02.svg); }
			.our-services-section .list01 > ul > li:nth-child(3):before { background-image: url(../images/page/our-services-icon03.svg); }

		.our-services-section .list01 dl {
			position:	relative;
			z-index:	2;

			text-align:	center;
		}
		.our-services-section .list01 dl dt {
			font-size:		20px;
			font-weight:	bold;
			line-height:	1;

			padding:		28px 0 100px;
		}
	.our-services-section .services {
		padding:		0;
		margin:			0 0 30px;
		border-bottom: 1px solid #D4E0C3;
	}
		.our-services-section .services:last-child {
			margin-bottom:		0 !important;
		}
		.our-services-section .service {
			margin-bottom: 46px;
		}
		.our-services-section .service .image {
			margin:		0 0 15px;
		}
			.our-services-section .service .image img {
				display:	block;
				width:		100%;
				height:		auto;
			}
		.our-services-section .service .text {
			font-size:		14px;
		}
		.our-services-section .service .banner {
			margin:		14px 0 0;
			width:		48%;
		}
		.banner.twoItems + .banner.twoItems {
			margin-left: 8px;
		}
			.our-services-section .service .banner img {
				display:	block;
				width:		100%;
				height:		auto;
			}
		.services-assessment {
			width: 100%;
			margin: 10px auto 40px;
		}
		.services-assessment .ttl {
			padding: 10px 0;
			font-size: 16px;
		}
		@media screen and (max-width: 325px) {
			.services-assessment .ttl {
				font-size: 13px;
			}
		}
		.services-assessment .name {
			padding: 20px 0 22px;
			font-size: 24px;
		}
.history-text {
	margin:		0 0 56px;
}
	.history-text h2 {
		margin-top:		0 !important;
	}
	.history-text .image {
		margin:		0 0 30px;
	}
.history-list {
}
	.history-list > h3 {
		margin-bottom:		33px !important;
	}
	.history-list > dl {
	}
	.history-list > dl > dt {
		font-size:		18px;
		font-weight:	bold;
		line-height:	1;
	}
	.history-list > dl > dd {
		padding:		28px 0 11px 25px;
		position:		relative;
	}
		.history-list > dl > dd:before {
			position:	absolute;
			left:		12px;
			top:		20px;
			bottom:		20px;

			display:	block;
			width:		1px;
			height:		auto;
			content:	'';
			overflow:	hidden;

			border-left:		1px solid #8DC21F;
		}
			.history-list > dl > dd dt {
				float:		left;
			}
			.history-list > dl > dd dd {
				margin:		0 0 17px 62px;
				position:	relative;
			}
			.history-list > dl > dd dd:before {
				position:	absolute;
				left:		-20px;
				top:		11px;

				display:		block;
				width:		10px;
				height:		1px;
				content:	'';
				overflow:	hidden;

				border-top:		1px solid #000;
			}
/* ------------ */
.board-members {
}
	/* PCのpost-tagsとほぼ同じだが、スマホが異なるので別に定義する */
	.board-members .tabs {
		margin:		-40px 0 0;
	}
		.board-members .tabs ul {
			width:			100%;
		}
		.board-members .tabs ul li {
			width: 100%;
			display: block;
		}
			.board-members .tabs ul li a ,
			.board-members .tabs ul li span {
				margin:		0 10px;
				padding:	18px 0;
				font-size:	14px;
			}
	.board-members .list {
		padding:	50px 0 0;
	}
	.board-members .list ul {
		width:		100%;
	}
	.board-members .list ul:last-of-type {
        margin:		0 0 -62px;
	}
		.board-members .list ul li {
			margin:		0 0 62px;
		}
			.board-members .list ul li .photo {
				margin:		0 auto 20px;
				width:		240px;
			}
				.board-members .list ul li .photo img {
					display:	block;
					width:		100%;
					height:		auto;
				}
			.board-members .list ul li .role {
				margin:		0 0 12px;

				font-size:		14px;
				line-height:	20px;
				text-align:		center;
			}
			.board-members .list ul li .name {
				margin:		0 0 20px;

				font-size:		20px;
				line-height:	1;
				text-align:		center;
			}
			.board-members .list ul li .text {
				font-size:		14px;
			}
.group-members-ttl {
    position: relative;
    margin: 50px 0 30px 0;
    padding: 0 0 0 40px;
    font-size: 22px;
    line-height: 30px;
    font-weight: normal;
    border: none !important;
    background: none !important;
}
.group-members-ttl:before {
    position: absolute;
    left: 0;
    top: 50%;
    margin: -1px 0 0;
    display: block;
    width: 1.2em;
    height: 2px;
    content: '';
    overflow: hidden;
    background: #8DC21F;
}
.group-members-ttl:first-of-type {
    margin-top: 0; 
}
.board-members .list ul.group-members {
    margin: 0;
}
.board-members .list ul.group-members li {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    margin: 30px 0 0 0;
}
.board-members .list ul.group-members li .photo {
    width: 116px;
    margin: 0 15px 0 0;
    flex-shrink: 0;
}
.board-members .list ul.group-members li .photo img {
    width: 100%;
    height: auto;
}
.board-members .list ul.group-members li .name,
.board-members .list ul.group-members li .role
 {
    text-align: left;
}
.text-members {
    margin-top: 30px;
    border-top: solid 1px #D4E0C3;
    display: inline-block;
    width: 100%;
}
.text-members dl {
    margin-top: 30px;
}
.text-members dt {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1;
}
.text-members dd {
    font-size: 14px;
    line-height: 27px;
}
@media screen and (max-width: 325px) {
    .group-members-ttl {
        font-size: 20px;
    }
    .board-members .list ul.group-members li .photo {
        width: 90px;
    }
}
/* ------------ */
.top-message-photo {
	margin:		0 0 40px;
}
.top-message-text {
	font-size:		20px;
	line-height:	37px;
	letter-spacing: .5px;

	margin:		0 0 50px;
}
	.top-message-text u {
		display:	inline;
		background:	url(../images/page/top-message-line.svg) left bottom no-repeat;
		background-size:		100% .5em;

		padding:		0 0 0 .08em;
		text-decoration:	none;
	}

.top-message-sign {
	margin:		0 0 0 30.5%;  /* 90/295 */
}
	.top-message-sign p {
		margin-bottom:		20px;
	}
	.top-message-sign p:last-child {
		margin-bottom:		0 !important;
	}

/* ------------ */
.company-profile {
}
	.company-profile .photo {
		margin:		0 0 20px;
	}
	.company-profile .profile > dl > dt {
		padding:		14px 0 0;

		font-size:		16px;
		font-weight:	bold;
		line-height:	28px;
	}
	.company-profile .profile > dl > dd {
		padding:		13px 0 17px;
		border-bottom:	1px solid #8DC21F;
	}
		.company-profile .profile > dl > dd ul {
			margin:		-.25em 0 0;
		}
		.company-profile .profile > dl > dd ul li {
			margin:		.25em 0 0;
		}
		.companyProfileOfficer dt {
			width: 100%;
		}
		.companyProfileOfficer dd {
			width: 100%;
			margin: 4px 0;
		}
	.company-profile .map {
		margin:		40px 0 0;

		position:	relative;
		padding:	1px 0 61%;
	}
		.company-profile .map iframe {
			position:	absolute;
			left:	0;
			right:	0;
			top:	0;
			bottom:	0;

			display:	block;
			width:		295px;
			height:		180px;
		}

/* --------------- */
.vision-way {
}
	.vision-way p:last-child {
		margin-bottom:		0 !important;
	}
	.vision-way-text {
		font-size:		16px;
		font-weight:	bold;
		line-height:	30px;
		letter-spacing:		-.6px;
		text-align:		center;

		margin:		0 -10px;
	}
	.vision-way .photo {
		margin:		40px 0 0;
	}
		.vision-way .photo p {
			margin:		0 !important;
		}
		.vision-way .photo img {
			display:	block;
			width:		100%;
			height:		auto;
		}
	.vision-way .subtitle {
		margin:		40px 0 32px;
	}
		.vision-way .subtitle p {
			margin:		0 !important;
		}
		.vision-way .subtitle .text {
			margin:		0 0 6px;
			display:	inline-block;

			font-size:		24px;
			font-weight:	bold;
			line-height:	34px;

			background:			url(../images/page/underline01.svg) left bottom repeat-x;
			background-size:		1px 0.4em;
		}
		.vision-way .subtitle .subtext {
			font-size:		16px;
			line-height:	1;
		}

/* --------------- */
.group-vision {
}
	.group-vision .head {
		margin:		0 0 56px;
		text-align:		center;
	}
		.group-vision .head p {
			margin:		0 !important;
		}
		.group-vision .head .text01 {
			margin:		0 0 36px;
		}
			.group-vision .head .text01 img {
				display:	block;
				margin:		0 auto;
			}
		.group-vision .head .text02 {
			margin:		0 -10px 40px;

			font-size:		17px;
			font-weight:	bold;
			line-height:	36px;
		}
			.group-vision .head .text02 .stress {
				color: #5CA800;

				font-size:		21px;
			}
		.group-vision .head .note {
			font-size:		14px;
			text-align:		left;
		}
	.group-vision .video {
		margin:		0 0 56px;
	}
		.group-vision .video .note {
			padding:	38px 0 0;
		}
	.group-vision .diagram {
	}
		.group-vision .diagram .image {
			margin:		0 0 56px;
		}
			.group-vision .diagram .image img {
				display:	block;
				width:		100%;
				height:		auto;
			}
		.group-vision .diagram h5 {
			margin:		0 0 30px;

			font-size:		19px;
			line-height:	1;
		}
		.group-vision .diagram .item {
		}
			.group-vision .diagram .item p {
				margin:		0 !important;
			}
			.group-vision .diagram .item+.item {
				border-top: 1px solid #D4E0C3;
				padding:	30px 0 0;
				margin:		30px 0 0;
			}



/* --------------- */
.company-name {
	max-width:		295px;
	margin:			0 auto;
}
	.company-name *:last-child {
		padding-bottom:		0 !important;
		margin-bottom:		0 !important;
	}
	.company-name .head {
		margin:		0 0 60px;

		background:		url(../images/page/company-name-image01.svg) right 260px no-repeat;
		background-size:		55% auto;

		font-size:		19px;
		line-height:	37px;
		font-weight:	bold;
	}
		.company-name .head-text {
			margin:			0 0 37px;
			text-align:		center;

			font-size:		27px;
			font-weight:	bold;
			line-height:	45px;

			font-family:	'M PLUS 1p', sans-serif;
		}
			.company-name .head-text .c0 {
				font-size:		35px;
			}
			.company-name .head-text .c1 {
				font-size:		38px;
			}
			.company-name .head-text .c2 {
				font-size:		38px;
			}
			.company-name .head-text .c3 {
				font-size:		30px;
			}
		.company-name .head .text {
			margin:			0 0 60px;
		}
			.company-name .head .text .stress {
				font-size:	24px;
				color:		#5CA800;
			}
		.company-name .head .note {
			font-size:		15px;
			line-height:	27px;
		}
	.company-name .item {
		padding:	30px 0 60px;
	}
	.company-name .item p {
		font-size: 14px;
	}
		.company-name .item h5 {
			margin:		0;

			font-size:		18px;
			line-height:	1;
		}
		.company-name .item .in {
			position:	relative;
		}
			.company-name .item .image img {
				display:	block;
				width:		85%;
				height:		auto;
				margin:		0 auto;
			}
			.company-name .item .text {
			}



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

.vision-tech-head {
	margin:		0 0 80px;
}
	.vision-tech-head h3 {
		background:		none !important;
		border:			none !important;
		padding:		0 !important;
		margin:			0 0 30px !important;

		font-size:		19px;
		line-height:	32px;

		text-align:		center;
	}
.vision-tech {
}
	.vision-tech section {
		margin:		0 0 50px;
	}
		.vision-tech section+section {
			margin:		80px 0 50px;
		}
		.vision-tech .image {
			margin:		0 0 30px;

			display:	block;
			position:	relative;
		}
			.vision-tech .image img {
				display:	block;
				width:		100%;
				height:		auto;
			}
.vision-tech-banners {
}
	.vision-tech-banners ul {
	}
		.vision-tech-banners li:first-child {
			margin-top:		0 !important;
		}
		.vision-tech-banners li {
			margin:		34px 0 0;
		}
		.vision-tech-banners a {
			display:	block;

			font-size:		13px;
			line-height:	1;
			color:			#000;

			text-decoration:	none;
		}
			.vision-tech-banners a .image {
				display:	block;
				position:	relative;
			}
				.vision-tech-banners .image img {
					display:	block;
					width:		100%;
					height:		auto;
				}

			.vision-tech-banners a .text {
				padding:		0 1.5em 0 0;
				margin:			12px 0 0;
				text-align:		right;
				position:		relative;
			}
			.vision-tech-banners a .text:after {
				position:	absolute;
				right:		0;
				top:		0;
				height:		1em;
				line-height:	1em;

				content:		'keyboard_arrow_right';
				font-size:		120%;
				font-weight:	normal;
				color:			#000;
				font-family:	"Material Icons";
				text-align:		right;
			}

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

.global-team-page {
}
	.global-team-page .map {
		margin:			0 0 40px;
	}
		.global-team-page .map .text {
			margin:			0 20px 20px;
			padding:		14px 18px;
			border-radius: 	10px;
			width:			auto;

			font-size:		15px;
			line-height:	25px;

			background:		url(../images/page/global-team-head-text-bg-sp.svg) center center no-repeat;
			background-size:	100% 100%;
		}
	.global-team-page section {
		padding:		12px;
		margin:			0 9px 30px;
	}
		.global-team-section-head {
			padding:	15px 0;
		}
			.global-team-section-head h3 {
				font-size:		130%;
				line-height:	1em;
			}
			.global-team-section-head .note {
				font-size:		14px;
				line-height:	20px;

				margin:			0 20px;
			}
			.global-team-section-head h3+.note {
				margin-top:		1.1em;
			}
		.global-team-page section > ul {
			margin:		-25px 0 0;
		}
		.global-team-page section > ul > li {
			margin:		25px 0 0;
		}
			.global-team-page section > ul > li .head {
				padding:	15px 0;
			}
				.global-team-page section > ul > li .head h4 {
					margin-bottom:			12px !important;

					font-size:		16px;
					line-height:	1.4em;
				}
				.global-team-page section > ul > li .head .area {
					font-size:		12px;
					line-height:	1em;
				}
					.global-team-page section > ul > li .head .area:before {
						margin:				0 .2em 0 0;
						vertical-align:		-.2em;

						font-size:		130%;
					}
			.global-team-page section > ul > li .in {
				padding:		30px 0 25px;
			}
			.global-team-page section > ul > li .head-text {
				font-size:		14px;
				line-height:	27px;

				margin:			0 5px 25px;
			}
			.global-team-page section > ul > li .text {
				margin:			0 10px;
			}
			.global-team-page section > ul > li .logo {
				margin:			0 auto;
				width:			190px;
			}
			.global-team-page section > ul > li .btn {
				width:		11em;
				margin:		2em auto 0;
			}
				.global-team-page section > ul > li .btn a {
					width:		auto;
					height:		2.5em;

					font-size:		95%;
					line-height:	1;

					background:		url(../images/page/global-team-btn-bg.svg) center center no-repeat;
					background-size:	100% 100%;
				}
					.global-team-page section > ul > li .btn a:before {
						width:		1em;
						height:		1em;
						margin:		0 .5em 0 0;

						font-size:		120%;
						line-height:	1em;
					}
	.global-team-page .section-wrap {
		margin-bottom:		-30px !important;
	}
	/* layout --- */
	.global-team-page .section01 {
	}
		.global-team-page .section01 > ul > li .head h4 {
			font-size:		18px;
		}
		.global-team-page .section01 .in {
		}
			.global-team-page .section01 .text {
				border-top:		1px solid #D4E0C3;
				padding:		25px 0 0;
				margin:			25px 10px 0;

				font-size:		14px;
				text-align:		left;
			}
.global-team-page .section03 > ul > li:first-of-type .text {
    border-top: 1px solid #F9E9C5;
    padding: 25px 0 0;
    margin: 25px 10px 0;
    font-size: 14px;
    line-height: 27px;
    text-align: left;
}
/* Challenge
---------------------------------------------*/
body.challenge {
}
body.challenge #contents {
	margin-top:		0 !important;
}
body.challenge .post-news-cat {
	padding-top:	2px !important;
}
body.challenge .entry {
}
.challenge-page-header {
	box-sizing:	border-box;
	padding:	0;
	margin:		0 0 20px;

	background:		#fff;

	flex-direction:		column;
}
	.challenge-page-header .inner {
		height:		125px;
		display:	flex;
		align-items:		center;
		justify-content: 	center;

		flex-direction:		column;
		text-align:		center;
	}
	.challenge-page-header h2 {
		margin:		0 0 20px!important;
		padding:	0 !important;
		border:		none !important;
		background:		none !important;

		font-size: 		28px;
		line-height:	1;
	}
	.challenge-page-header .sub {
		font-size: 		15px;
		line-height:	1;
	}
	.challenge-page-header .photo {
	}
		.challenge-page-header .photo .image {
		}
			.challenge-page-header .photo .image img {
				display:	block;
				width:		100%;
				height:		auto;
			}
		.challenge-page-header .photo .text {
			padding:		40px 20px;

			font-size:		15px;
			line-height:	27px;
		}
h3.challenge-head-title {
	clear:		both !important;
	padding:	30px 0 40px !important;
	margin:		0 !important;
	background:		none !important;

	font-size:			22px;
	line-height:		34px;
}
.challenge-main-photo {
	margin:		0 0 40px;
}
	.challenge-main-photo img {
		display:	block;
		width:		100%;
		height:		auto;
	}

.challenge-author {
	border: 		1px solid #D4E0C3;
	padding:	20px;
	margin:		50px 0 0;
}
	.challenge-author .photo {
		margin:		0 0 23px;
	}
		.challenge-author .photo img {
			display:	block;
			width:		100%;
			height:		auto;
		}
	.challenge-author .name {
		font-size:		15px;
		font-weight:	bold;
		line-height:		28px;

		margin:		0 0 13px;
	}
	.challenge-author .text {
		font-size:			13px;
		line-height:		23px;
	}
.challenge-articles {
	margin:		3em 5% 1px;
}
	.challenge-articles ul {
	}
	.challenge-articles li {
		margin:		0 0 3em;
	}
	.challenge-articles li a {
		display:	block;
		background:		#fff;
		box-shadow: 	0px 1px 15px #ECECEC;
		padding:		.5em;

		font-size:		110%;
		font-weight:	normal;
		line-height:	1.6em;
		color:		#000;

		text-decoration:	none;
	}
		.challenge-articles li .image {
		}
			.challenge-articles li .image img {
				display:	block;
				width:		100%;
				height:		auto;
			}
		.challenge-articles li .text {
			padding:	.5em;
		}

.challenge-footer {
	background:		#fff;
	padding:		1px 0;
}
.challenge-footer .post-pagination {
	margin:		30px 0 50px;
}

/* アンカーリンク
---------------------------------------------*/
.anchorLink-item {
	width: 46.5%;
}
.anchorLink-item a{
	padding: 12px 12px 12px 2px;
	font-size: 14px;
}
.anchorLinkTarget {
	padding-top: 48px;
    margin-top: -56px;
}

/* 優待ページ
---------------------------------------------*/
.contentBlock + .contentBlock {
    margin-top: 30px;
}
.contentBlock__ttlArea {
    background: #EBF4DE;
    padding: 16px;
}
.contentBlock__ttlImg {
    display: block;
	max-width: 160px;
	margin-right: 16px;
}

.contentBlock__ttl {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 0 0 !important;
}
.contentBlock__detail {
    margin-top: 20px;
}