/********************************
COMMON
********************************/

@font-face{
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: 300;
}

@font-face{
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: 500;
}

@font-face{
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: bold;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}

/* upper ie10 */
@media all and (-ms-high-contrast: none)	{
	html {
		font-family: Verdana, Meiryo, sans-serif;
	}
}
@media all and (-ms-high-contrast: active) {
	html {
		font-family: Verdana, Meiryo, sans-serif;
	}
}

html {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	height: 100%;
}

body {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;	font-size: 100%;
	font-size: 100%;
	-webkit-font-smoothing: antialiased;
	background: #ffffff;
	color: #333333;
}

p {
	display: block;
	-webkit-font-feature-settings: normal;
	-moz-font-feature-settings: normal;
	-ms-font-feature-settings: normal;
	-o-font-feature-settings: normal;
	font-feature-settings: normal;
	-webkit-margin-before: 0px;
	-webkit-margin-after: 0px;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	margin: 0;
	padding: 0;
}

dl, menu, ol, ul {
	margin: 0;
}

a, a:visited {
	color: #333333;
	text-decoration: none;
}

a:hover, a:focus, a:visited:hover, a:visited:focus {
	color: #333333;
	text-decoration: none;
}

a:link, a:visited:link {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

hr {
	border: 1px solid #333333;
	margin: 30px 0px;
}

img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

#container {
	background: url("../images/border_back.png") center top #ffffff;
}

#content {
	margin-top: 0;
}

#page_content {
	padding: 110px 0 0 0;
}

.wrap {
	max-width: 1140px;
	width: 100%;
	padding: 20px;
}

.entry-content {
	padding: 10px;
}

.entry-fullwidth {
	padding: 10px 0px;
}

.entry-content img {
	padding: 0;
	margin: 0;
}

.hentry {
	background-color: transparent;
	margin: 0;
	border: none;
}

.align_left {
	text-align: left;
	margin-right: auto;
}
.align_center {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.align_right {
	text-align: right;
	margin-left: auto;
}

.fluid_image img {
	max-width: 100%;
	height: auto;
}

.caution {
	color: #ff0000;
}

.back_yellow {
	background: #ffce00;
}


/********************************
HEADER
********************************/
.header {
	position: fixed;
	z-index: 99;
	width: 100%;
	background: rgba(255,255,255,0.9);
}

#inner-header {
	max-width: 1140px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}

#header_logo {
	float: left;
	width: 12.27%;
	height: 100px;
	line-height: 100px;
	vertical-align: middle;
}
#header_logo img {
	vertical-align: middle;
}

#header_navigation {
	float: left;
	width: 84.09%;
	text-align: center;
	height: 100px;
	line-height: 100px;
	vertical-align: middle;
}

#header_sns_linker {
	float: left;
	width: 3.64%;
	height: 100px;
	line-height: 100px;
	vertical-align: middle;
	font-size: 0;
}

#header_sns_linker img {
	vertical-align: middle;
	width: 100%;
	height: auto;
}
#header_sns_linker a {
	width: 100%;
	max-width: 40px;
	margin: 0;
}

/********************************
NAVIGATION
********************************/
.nav {
	height: 90px;
}

.nav li {
	height: 90px;
	margin: 0 0 0 10%;
}

.nav li a {
	display: inline;
	padding: 0;
}

.nav li a img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

ul.sub-menu li {

}
ul.sub-menu li a {

}



/********************************
SLIDER
********************************/


/********************************
SIDE BAR
********************************/
#blog_sidebar {
	padding: 0 0 0 30px;
}

.blog_monthly_archive {

}
ul.blog_monthly_archive li {
	text-align: center;
	padding: 20px;
}
ul.blog_monthly_archive li:nth-child(even) {
}
ul.blog_monthly_archive li:nth-child(odd),
ul.blog_monthly_archive li:nth-child(odd) a {
	background: #b81c22;
	color: #ffffff;
}


/********************************
WIDGET
********************************/
.top_bottom_widget_title {
	display: none;
	visibility: hidden;
}

.top_link_widget_outer {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}

.top_bottom_widget {
	float: left;
	max-width: 200px;
	width: 18.18%;
	margin: 0 0 2.275% 2.275%;
	background: #ffffff;
}
.top_link_widget_outer div:first-child,
.top_link_widget_outer div:nth-child(5n+1) {
	margin: 0 0 2.275% 0;
}
.top_bottom_widget a {
	display: block;
	border: 2px solid #b1b1b1;
}
.top_bottom_widget a:hover {
	border: 2px solid #ffce00;
}

/********************************
FOOTER
********************************/
.footer {
	width: 100%;
	background: url("../images/footer_back.png") center top no-repeat;
	background-size: cover;
}
#inner-footer {
	padding: 120px 0 50px 0;
}

.footer_sns_linker {
	text-align: right;
}
.footer_sns_linker a {
	margin: 0 0 0 20px;
	font-size: 0;
}

p.copyright {
	margin: 40px 0 0 0;
	text-align: center;
}

#inner-footer .nav {
	height: auto;
	margin: 40px 0 0 0;
}
#inner-footer ul.nav {
	height: auto;
}
#inner-footer .nav li {
	float: right;
	height: auto;
	margin: 0 0 0 5%;
	text-align: right;
}

.footer_privacy {
	width: 100%;
	text-align: right;
	color: #ffffff;
	margin: 40px 0 0 0;
}
.footer_privacy a {
	color: #ffffff;
}

.footer_address_outer {
	width: 100%;
	margin: 40px 0 0 0;
}
.footer_logo {
	float: left;
	max-width: 130px;
	width: 11.82%;
}
.footer_address {
	float: left;
	padding: 20px 0 0 40px;
}
p.footer_address_text {
	margin: 10px 0 0 0;
}

/********************************
TOP
********************************/
.top_head_image {
	width: 100%;
	padding: 100px 0 0 0;
}

.top_head_image img {
	width: 100%;
	height: auto;
}
#top_business {
	width: 100%;
	background: url("../images/top_business_back.png") center top no-repeat;
	background-size: cover;
	padding: 250px 0;
	margin: -170px 0 0 0;
}

p.top_business_title {
	text-align: center;
	margin: 0 auto;
}

p.top_business_linker {
	width: 100%;
	text-align: center;
	margin: 100px auto 0 auto;
}

a.top_linker {
	display:  block;
	max-width: 370px;
	width: 100%;
	padding: 20px;
	margin: 0 auto;
	color: #ffffff;
	text-align: center;
	font-size: 14pt;
	font-weight: bold;
}
a.top_linker:hover {
	color: #ffffff;
}

#top_company {
	position: relative;
	z-index: 1;
	width: 100%;
	background: url("../images/top_company_back.png") center top no-repeat;
	background-size: cover;
	padding: 500px 0;
	margin: -170px 0 0 0;
}
a.top_business_linker {
	display:  block;
	max-width: 370px;
	width: 100%;
	padding: 20px;
	margin: 0 auto;
	color: #727171;
	text-align: center;
	font-size: 14pt;
	font-weight: bold;
	background: #ffffff;
	border: 1px solid #727171;
}
a.top_business_linker:hover {
	color: #727171;
}

#top_recruit {
	position: relative;
	z-index: 0;
	width: 100%;
	background: url("../images/top_recruit_back.png") center top no-repeat;
	background-size: cover;
	padding: 500px 0;
	margin: -170px 0 0 0;
}

#top_news {
	position: relative;
	z-index: 1;
	width: 100%;
	background: url("../images/top_information_back.png") center top no-repeat;
	background-size: contain;
	padding: 500px 0 800px 0;
	margin: -230px 0 0 0;
}

.top_news_outer {
	max-width: 1100px;
	width: 100%;
	margin: 100px auto 0 auto;
}
.top_news_inner {
	float: left;
	max-width: 310px;
	width: 28.18%;
	margin: 0 0 0 7.73%;
}
.top_news_outer div.top_news_inner:first-child {
	margin: 0 0 0 0;
}
p.top_news_date {
	color: #ffffff;
	margin: 0 0 5px 0;
}

.top_news_inner_box {
	width: 100%;
	min-height: 310px;
	padding: 20px;
	background: url("../images/blog_read_back_01.png") right bottom no-repeat #ffffff;
}

.top_news_inner a:hover > div.top_news_inner_box {
	background: url("../images/blog_read_back_02.png") right bottom no-repeat #ffffff;
}

p.top_news_category {
	width: 130px;
	padding: 5px 10px;
	background: #ffce00;
	font-weight: bold;
	text-align: center;
	color: #b81c22;
}

p.top_news_title {
	color: #b81c22;
	font-weight: bold;
	text-align: center;
	font-size: 16pt;
	margin: 80px auto;
}

#top_blog {
	position: relative;
	z-index: 0;
	width: 100%;
	background: url("../images/top_blog_back.png") center top no-repeat;
	background-size: cover;
	padding: 550px 0 500px 0;
	margin: -550px 0 0 0;
}
.top_blog_linker {
	text-align: right;
	padding: 0 15% 0 0;
}

/* sns */
.top_sns_outer {
	max-width: 1100px;
	width: 100%;
	margin: 50px auto 0 auto;
	padding: 50px 0 100px 0;
}
.top_sns_outer_left {
	float: left;
	max-width: 500px;
	width: 45.45%;
}
.top_sns_outer_right {
	float: left;
	max-width: 500px;
	width: 45.46%;
	margin: 0 0 0 9.0%;
	border: 1px solid #dddddd;
	background: #ffffff;
}

/********************************
CONTENTS
********************************/

.page_contents_outer {
	padding: 60px 20px 130px 20px;
}

.page_contents_full {
	padding: 60px 0 130px 0;
}

.page_title_area {
	padding: 120px;
	text-align: center;
	font-size: 20pt;
	font-weight: bold;
	color: #b81c22;
}

/* privacy */
.privacy_wrap {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}
p.privacy_establishment {
	text-align: right;
}
p.privacy_title {
	font-size: 13pt;
	font-weight: bold;
	color: #b81c22;
	margin: 0 0 10px 0;
}
p.privacy_text {
	font-size: 12pt;
}

ul.privacy_text_list {
	margin: 0 0 0 1em;
	list-style: none;
	text-indent: -2.1em;
	padding-left: 2.1em;
}
ul.privacy_text_list li {
	margin: 0 0 10px 0;
}
ul.privacy_text_list_inner {
	margin: 0;
	list-style: none;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
ul.privacy_text_list_inner li {
	margin: 0 0 0 0;
}


/* contact */
.contact_privacy_box {
	overflow: auto;
	max-width: 900px;
	height: 250px;
	padding: 20px;
	border: 1px solid #e6e6e6;
	line-height:1.5em;
	margin: 0 auto;
	font-size: 10pt;
}

.contact_outer {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}
.contact_privacy {
	text-align: center;
	margin: 40px auto;
}

table.contact_form {
	width: 100%;
	margin: 0 auto;
}
table.contact_form td {
	padding: 10px 20px;
}
table.contact_form td.contact_form_title {
	width: 30%;
}
table.contact_form td.contact_form_input {
	width: 70%;
}

.contact_submit_outer {
	margin: 40px 0 0 0;
	width: 100%;
	text-align: center;
}
.contact_submit_outer input {
	margin: 0 20px;
	padding: 10px 30px;
}

p.contact_thanx_doll {
	text-align: center;
	margin: 40px auto 0 auto;
}

p.contact_thanx_title {
	font-size: 20pt;
	font-weight: bold;
	text-align: center;
	color: #b81c22;
	margin: 40px auto 0 auto;
}

p.contact_thanx_text {
	text-align: center;
	margin: 40px auto 0 auto;
}

p.management_text {
	text-align: center;
}

/* 404 not found */
.not_found_outer {
	width: 100%;
}

p.not_found_image {
	margin: 0 auto;
	padding: 150px 20px;
	text-align: center;
}
p.not_found_text {
	margin: 0 auto;
	padding: 0 20px 20px 20px;
	text-align: center;
}

/* archive */
.blog_archive article {
	border: 3px solid #b81c22;
	margin: 0 0 60px 0;
	padding: 30px 50px 50px 50px;
}

.hentry header {
	border-bottom: 3px solid #b81c22;
	padding: 0 0 10px 0;
}

p.blog_date {
	font-size: 50pt;
	font-weight: bold;
	color: #b81c22;
}

.blog_title {

}
.blog_title a {
	font-size: 16pt;
	font-weight: bold;
	color: #b81c22;
}

.blog_body {
	padding: 20px 0;
}

/* company */
table.company_summary {
	max-width: 1100px;
	width: 100%;
	margin: 60px auto 0 auto;
}
table.company_summary td {
	border: none;
	padding: 20px 40px;
}
table.company_summary td.company_summary_title {
	background: #b81c22;
	color: #ffce00;
}
table.company_summary td.company_summary_text {
	background: #f0d5c7;
}

/* business */
p.business_eyecatch {
	margin: 150px auto 0 auto;
}

p.business_sub_title {
	font-size: 16pt;
	line-height: 1.8em;
	text-align: center;
	margin: 100px auto 0 auto;
}
p.business_text {
	max-width: 780px;
	width: 100%;
	line-height: 1.8em;
	margin: 100px auto 0 auto;
}

p.business_title {
	margin: 100px auto 0 auto;
}



/********************************
MEDIA QUERY
********************************/

@media (max-width: 767px) {
	#container {
		background: #ffffff;
	}

	/********************************
	HEADER
	********************************/


	/********************************
	FOOTER
	********************************/
	.footer {
		width: 100%;
		background: url("../images/footer_back.png") center top no-repeat;
		background-size: cover;
	}
	#inner-footer {
		padding: 170px 10px 50px 10px;
	}

	.footer_sns_linker {
		text-align: center;
	}
	.footer_sns_linker a {
		margin: 50px 0 0 20px;
		font-size: 0;
	}
	.footer_sns_linker a:first-child {
		margin: 50px 0 0 0;
		font-size: 0;
	}
	p.copyright {
		margin: 40px 0 0 0;
		text-align: center;
		font-size: 8pt;
	}

	#inner-footer .nav {
		height: auto;
		margin: 40px 0 0 0;
	}
	#inner-footer ul.nav {
		height: auto;
	}
	#inner-footer .nav li {
		float: right;
		height: auto;
		margin: 0 0 0 5%;
		text-align: right;
	}

	.footer_privacy {
		width: 100%;
		text-align: center;
		color: #ffffff;
		margin: 40px 0 0 0;
	}
	.footer_privacy a {
		color: #ffffff;
	}

	.footer_address_outer {
		width: 100%;
		margin: 40px 0 0 0;
	}
	.footer_logo {
		float: none;
		max-width: none;
		width: 50%;
		text-align: center;
		margin: 0 auto;
	}
	.footer_address {
		float: none;
		padding: 10px 0 0 0;
	}
	p.footer_address_text {
		margin: 10px 0 0 0;
	}


	/********************************
	NAVIGATION
	********************************/


	/********************************
	SLIDER
	********************************/


	/********************************
	SIDE BAR
	********************************/


	/********************************
	WIDGET
	********************************/


	/********************************
	TOP
	********************************/


	#header_logo {
		float: left;
		width: 25%;
		height: 100px;
		line-height: 100px;
		vertical-align: middle;
	}

	#header_navigation {
		display: none;
		visibility: hidden;
	}

	#header_sns_linker {
		display: none;
		visibility: hidden;
	}

	p.top_business_linker {
		margin: 40px auto 0 auto;
	}


	#top_business {
		width: 100%;
		background: none;
		padding: 50px 10px;
		margin: 0 0 0 0;
	}

	#top_company {
		background-size: cover;
		padding: 100px 10px;
		margin: 0 0 0 0;
	}
	a.top_business_linker {
		display:  block;
		max-width: 370px;
		width: 100%;
		padding: 20px;
		margin: 0 auto;
		color: #727171;
		text-align: center;
		font-size: 14pt;
		font-weight: bold;
		background: #ffffff;
		border: 1px solid #727171;
	}

	#top_recruit {
		width: 100%;
		background: none;
		padding: 50px 10px;
		margin: 0 0 0 0;
	}

	#top_news {
		position: relative;
		z-index: 1;
		width: 100%;
		background: #bf232c;
		padding: 50px 10px;
		margin: 0 0 0 0;
	}

	.top_news_outer {
		max-width: 1100px;
		width: 100%;
		margin: 40px auto 0 auto;
	}
	.top_news_inner {
		float: none;
		max-width: none;
		width: 100%;
		margin: 20px 0 0 0;
	}
	.top_news_outer div.top_news_inner:first-child {
		margin: 0 0 0 0;
	}
	p.top_news_date {
		color: #ffffff;
		margin: 0 0 5px 0;
	}

	.top_news_inner_box {
		width: 100%;
		min-height: 310px;
		padding: 20px;
		background: url("../images/blog_read_back_01.png") right bottom no-repeat #ffffff;
	}

	.top_news_inner a:hover > div.top_news_inner_box {
		background: url("../images/blog_read_back_02.png") right bottom no-repeat #ffffff;
	}

	#top_blog {
		background: none;
		background-size: cover;
		padding: 40px 10px;
		margin: 0 0 0 0;
	}
	.top_blog_linker {
		text-align: center;
		padding: 0 0 0 0;
	}

	#top_link_widget {
		width: 100%;
		padding: 40px 10px;
	}
	.top_link_widget_outer div:nth-child(5n+1) {
		margin: 0 0 6% 6%;
	}

	.top_link_widget_outer div:first-child,
	.top_link_widget_outer div:nth-child(2n+1) {
		margin: 0 0 2.275% 0;
	}

	.top_bottom_widget {
		float: left;
		max-width: none;
		width: 47%;
		margin: 0 0 6% 6%;
	}

	/* sns */
	.top_sns_outer {
		max-width: 1100px;
		width: 100%;
		margin: 0 auto;
		padding: 0 10px 20px 10px;
	}
	.top_sns_outer_left {
		float: none;
		max-width: none;
		width: 100%;
	}
	.top_sns_outer_right {
		float: none;
		max-width: none;
		width: 100%;
		margin: 20px 0 0 0;
		border: 1px solid #dddddd;
	}


	/********************************
	PAGE
	********************************/

	#blog_sidebar {
		padding: 0 0 0 0;
	}
	.blog_archive article {
		border: 3px solid #b81c22;
		margin: 0 0 60px 0;
		padding: 20px;
	}
	p.blog_date {
		font-size: 28pt;
		font-weight: bold;
		color: #b81c22;
	}
	.blog_title a {
		font-size: 14pt;
		font-weight: bold;
		color: #b81c22;
	}

	.page_title_area {
		padding: 40px 20px;
		text-align: center;
		font-size: 20pt;
		font-weight: bold;
		color: #b81c22;
	}

	/* company */
	table.company_summary {
		width: 100%;
		margin: 60px auto 0 auto;
	}
	table.company_summary td {
		border: none;
		padding: 10px;
		font-size: 10pt;
	}
	table.company_summary td.company_summary_title {
		width: 30%;
	}
	table.company_summary td.company_summary_text {
		width: 70%;
	}

	table.contact_form td {
		padding: 5px;
		font-size: 10pt;
	}
	table.contact_form td.contact_form_title {
		width: 30%;
	}
	table.contact_form td.contact_form_input {
		width: 70%;
	}
	.contact_tel {
		width: 30px;
	}


}

@media (min-width: 768px) and (max-width: 1029px) {
	/********************************
	HEADER
	********************************/


	/********************************
	FOOTER
	********************************/
	#inner-footer {
		padding: 120px 10px 50px 10px;
	}

	.footer_address {
		float: left;
		padding: 0 0 0 40px;
	}



	/********************************
	NAVIGATION
	********************************/
	.nav li {
		height: 90px;
		margin: 0 0 0 5%;
	}

	/********************************
	SLIDER
	********************************/


	/********************************
	SIDE BAR
	********************************/


	/********************************
	WIDGET
	********************************/



	/********************************
	TOP
	********************************/
	#top_company {
		padding: 500px 20px;
	}

	#top_news {
		position: relative;
		z-index: 1;
		width: 100%;
		background: #bf232c;
		background-size: contain;
		padding: 100px 20px;
		margin: -230px 0 0 0;
	}

	.top_news_outer {
		max-width: 1100px;
		width: 100%;
		margin: 100px auto 0 auto;
	}


	#top_blog {
		padding: 550px 0 500px 0;
		margin: -200px 0 0 0;
	}
	.top_blog_linker {
		text-align: right;
		padding: 0 15% 0 0;
	}

	.top_link_widget_outer {
		padding: 0 20px;
	}

	/* sns */
	.top_sns_outer {
		margin: 100px auto 0 auto;
		padding: 0 20px 100px 20px;
	}
	.top_sns_outer_left {
		float: left;
		max-width: 500px;
		width: 45.45%;
	}
	.top_sns_outer_right {
		float: left;
		max-width: 500px;
		width: 45.46%;
		margin: 0 0 0 9.0%;
		border: 1px solid #dddddd;
	}


	/********************************
	PAGE
	********************************/
	/* company */
	table.company_summary {
		max-width: 1100px;
		width: 100%;
		margin: 60px auto 0 auto;
	}
	table.company_summary td {
		border: none;
		padding: 20px;
	}
}

@media (min-width: 1030px) {
	/********************************
	HEADER
	********************************/


	/********************************
	NAVIGATION
	********************************/


	/********************************
	SLIDER
	********************************/


	/********************************
	SIDE BAR
	********************************/


	/********************************
	WIDGET
	********************************/
}
