@charset "utf-8";
/* CSS Document */


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

共通

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

body {
	width:100%;
	min-width:100%;
}
#all {
	position: relative;
	min-width:100%;
	padding-bottom: 22%;
}
article {
	padding-top: 0%;
}


img {
	width:100%;
}
br.spbr {
	display: inline;
}
br.pcbr {
	display: none;
}


.fixed {
	height: 100%;
	overflow: hidden;
}


#header {
	position: absolute;
	top: 0;
	width: 100%;
	padding: 0%;
	box-sizing: border-box;
	z-index: 9000;
}
#header:after {
	content:" ";
    display:block;
    clear:both;
}
#h_logo {
	float: left;
	width: 40%;
	padding-top: 3%;
	padding-left: 3%;
}
#gnav {
	display: none !important;
}
#sp_menu {
	display: block;
	width: 13%;
	float: right;
}
#sp_menu_logo {
	display: block;
	margin-bottom: 9%;
}
#sp_close {
	display: block;
	width: 13%;
	position: absolute;
	top: 0;
	right: 0;
}
#sp_menu_nav {
	float: none;
	width: 100%;
	position: absolute;
	top: -17px;
	
	background: #fff;
	padding: 12% 0 20%;

	z-index: 9999;
}
#sp_menu_nav ul {
	font-size: 0;
	text-align: right;
	margin: 0 6%;
	border-top: 1px solid #ccc;
}
#sp_menu_nav li {
	display: block;
	margin: 0 0px;
	border-bottom: 1px solid #ccc;
}
#sp_menu_nav li a {
	display: block;
	color: #000;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,0);
	padding: 15px 0;
}
.subpage #sp_menu_nav li a {
	color: #000;
}
#sp_menu_nav li a:hover {
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,1);
}
/*
#sp_menu {
	display: block;
	width: 13%;
	float: right;
}
#sp_menu_logo {
	display: block;
	margin-bottom: 9%;
}
#sp_close {
	display: block;
	width: 13%;
	position: absolute;
	top: 0;
	right: 0;
}
#gnav {
	float: none;
	width: 100%;
	position: absolute;
	top: 0;
	
	background: #fff;
	padding: 12% 0 20%;
	display: none;
	z-index: 9999;
}
#gnav ul {
	font-size: 0;
	text-align: right;
	margin: 0 6%;
	border-top: 1px solid #ccc;
}
#gnav li {
	display: block;
	margin: 0 0px;
	border-bottom: 1px solid #ccc;
}
#gnav li a {
	display: block;
	color: #000;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,0);
	padding: 15px 0;
}
.subpage #gnav li a {
	color: #000;
}
#gnav li a:hover {
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,1);
}
*/
#overlay {
	position: fixed;
	top: 0;
	bottom: inherit;
	left: 0;
	right: 0;
	z-index: 0;
}
.fixed #overlay {
	background: #fff;
	bottom: 0;
	z-index: 9000;
}



#flnav {
	display: none !important;
}
#fl_header {
	background: #fff;
	position: fixed;
	top: 0;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	z-index: 9000;
}
#fl_header:after {
	content:" ";
    display:block;
    clear:both;
}
#fl_logo {
	float: left;
	width: 40%;
	padding-top: 3%;
	padding-left: 3%;
}
#fl_sp_menu {
	display: block;
	width: 13%;
	float: right;
	line-height: 0;
}
#fl_sp_menu_logo {
	display: block;
	margin-bottom: 9%;
}
#fl_sp_close {
	display: block;
	width: 13%;
	position: absolute;
	top: 0;
	right: 0;
}
#flnav {
	float: none;
	position: absolute;
	top: 0;
	
	background: #fff;
	padding: 12% 0 20%;
	display: none;
}
#flnav ul {
	font-size: 0;
	text-align: right;
	margin: 0 6%;
	border-top: 1px solid #ccc;
}
#flnav li {
	display: block;
	margin: 0 0px;
	border-bottom: 1px solid #ccc;
}
#flnav li a {
	display: block;
	color: #000;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,0);
	padding: 15px 0;
}












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

TOP

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

#main {
	position: relative;
	height: 100%;
}
#main .main_inner {
	position: relative;
	background: none;
	background-size: 100% 100%;
	height: auto;
	line-height: 0;
}
#main .main_bg {
	font-size: 0;
}
#main .main_bg img {
	width: 100%;
}
#main h1 {
	position: absolute;
	top: 57%;
	left: 50%;
	transform: translate(-50%,-50%);
	
	width: 100%;
}
#scroll_wrap {
	display: none;
	position: absolute;
	bottom: 0;
	right: 30px;
}



#top_section {
	padding-top: 15%;
	background: url(../img/top_section_bg.jpg) no-repeat center top;
}
#top_section ul {
	max-width: 1360px;
	margin: 0 auto;
}
#top_section li {
	margin-bottom: 20%;
}
#top_section li:after {
	content:" ";
    display:block;
    clear:both;
}
#top_section li .img {
	margin-bottom: 3%;
}
#top_section li:nth-child(odd) .img {
	width: 84%;
	float: none;
	margin-right: 0px;
}
#top_section li:nth-child(even) .img {
	width: 84%;
	float: right;
	margin-left: 0px;
}
#top_section li:nth-child(odd) .title_wrap {
	width: 100%;
	padding-top: 3%;
	padding-left: 16%;
	padding-right: 4%;
	box-sizing: border-box;
	float: none;
}
#top_section li:nth-child(even) .title_wrap {
	width: 100%;
	padding-top: 3%;
	padding-left: 16%;
	padding-right: 4%;
	box-sizing: border-box;
	float: none;
	clear: both;
}
#top_section li .title_wrap h2 {
	font-size: 30px;
	font-weight: bold;
	line-height: 100%;
	background: url(../img/top_title_bar01.png) no-repeat left bottom;
	margin-bottom: 6%;
}
#top_section li .title_wrap h2 span {
	display: block;
	font-size: 18px;
	line-height: 100%;
	padding: 3% 0 5%;
}
#top_section li .title_wrap h3 {
	font-size: 15px;
	margin-bottom: 7%;
}
#top_section li .title_wrap p.link {
	display: inline-block;
	width: 75%;
	background: #b60005;
	transform: skewX(-10deg);
	position: relative;
	transition: .3s;
}
#top_section li .title_wrap p.link:before {
	display: inline-block;
	width: 80px;
	height: 1px;
	content: '';
	background: url(../img/top_link_bar01.png);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateX(50%);
	vertical-align: middle;
}
#top_section li .title_wrap p.link:hover {
	opacity: .8;
	transition: .3s;
}
#top_section li .title_wrap p.link a {
	display: block;
	color: #fff;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	padding: 10px 0;
}
#top_section li .title_wrap p.link a:hover {
	opacity: 1;
}



#bottom_contact {
	background: #b60005;
	padding: 15% 0;
}
#bottom_contact h2 {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 6%;
}
#bottom_contact h2 span {
	display: block;
	color: #fff;
	font-size: 16px;
}
#bottom_contact .contact_tel {
	width: 80%;
	margin: 0 auto;
	background: #fff;
	box-shadow: 10px 10px rgb(250,190,0);
	padding: 6% 0;
	text-align: center;
	transform: skewX(-20deg);
}
#bottom_contact .contact_tel .tel {
	display: inline-block;
	color: #b60005;
	font-size: 16px;
	font-weight: bold;
}
#bottom_contact .contact_tel .tel a {
	color: #b60005;
	font-size: 22px;
	font-weight: bold;
	text-decoration: none;
}
#bottom_contact .contact_tel .tel:after {
	content: '/';
	font-size: 16px;
	font-weight: bold;
}
#bottom_contact .contact_tel .fax {
	display: inline-block;
	color: #b60005;
	font-size: 16px;
	font-weight: bold;
}
#bottom_contact .contact_tel .fax a {
	color: #b60005;
	font-size: 22px;
	font-weight: bold;
	text-decoration: none;
}
#bottom_contact .time {
	color: #000;
	font-size: 10px;
	text-align: center;
	letter-spacing: 0;
}



#footer {
	padding: 10% 0;
	text-align: center;
}
#f_logo {
	margin-bottom: 6%;
}
#fnav {
	
}
#fnav ul {
	
}
#fnav li {
	display: inline-block;
	margin: 3% 10%;
}
#fnav li a {
	color: #000;
	font-size: 16px;
	text-decoration: none;
}
#copyright {
	color: #fff;
	font-size: 10px;
	text-align: center;
	background: #313131;
	padding: 20px 0;
}




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

下層共通

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

#bread_crumb {
	background: #f5f5f5;
}
#bread_crumb ul {
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
}
#bread_crumb li {
	display: inline-block;
	color: #000;
	font-size: 12px;
}
#bread_crumb li:before {
	content: '>';
	display: inline-block;
	margin: 0 10px;
}
#bread_crumb li:first-child:before {
	content: '';
}
#bread_crumb li a {
	color: #b60005;
	font-size: 12px;
	text-decoration: none;
}

.subpage h1 {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
}
.subpage h1 span {
	display: block;
	color: #fff;
	font-size: 20px;
	line-height: 100%;
}
.subpage h2 {
	width: 94%;
	margin: 0 auto;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	background: url(../img/top_title_bar01.png) no-repeat center bottom;
	padding-bottom: 3%;
	margin-bottom: 6%;
}



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

アクセス

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

#main.access .main_inner {
	background:url(../img/access/access_main_bg_pc.png) no-repeat center center;
	background-size:cover;
}
#access01 {
	padding: 15% 0;
}
#map {
	max-width: 100%;
	height: 300px;
	margin: 0 auto 30px;
}
#map iframe {
	width: 100%;
	height: 100%;
}
#access01 h3 {
	width: 88%;
	margin: 0 auto 3%;
	font-size: 18px;
	text-align: center;
}
#access01 p {
	width: 88%;
	margin: 0 auto 3%;
	font-size: 16px;
	text-align: left;
}




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

会社概要

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

#main.company .main_inner {
	background:url(../img/company/company_main_bg_pc.png) no-repeat center center;
	background-size:cover;
}
#company01 {
	padding: 15% 0;
}

.greeting_wrap {
	width: 100%;
	margin: 0 auto;
}
.greeting_wrap:after {
	content:" ";
    display:block;
    clear:both;
}
.greeting_wrap .img {
	float: none;
	width: 88%;
	margin: 0 auto;
}
.greeting_wrap .greeting_left {
	float: none;
	width: 88%;
	margin: 0 auto 6%;
	padding-top: 6%;
}
.greeting_wrap h3 {
	color: #b60005;
	font-size: 20px;
	font-weight: bold;
	transform: skewX(-5deg);
	margin-bottom: 4%;
}
.greeting_wrap .text {
	font-size: 16px;
	line-height: 200%;
	text-align: left;
	margin-bottom: 4%;
}
.greeting_wrap .name {
	font-size: 18px;
}
.greeting_wrap .name span {
	font-size: 16px;
}


#company02 {
	padding: 15% 0;
	background: #f5f5f5;
}
#company02 table {
	width: 88%;
	margin: 0 auto;
	border-top: 1px solid #ccc;
}
#company02 tr {
	
}
#company02 th {
	display: block;
	width: 100%;
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	padding: 3% 4%;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}
#company02 td {
	display: block;
	width: 100%;
	font-size: 16px;
	font-weight: normal;
	text-align: left;
	padding: 4%;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}
#company02 td span {
	font-size: 16px;
	font-weight: bold;
}




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

業務内容

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

#main.business .main_inner {
	background:url(../img/business/business_main_bg_pc.png) no-repeat center center;
	background-size:cover;
}
#business_lead {
	padding: 15% 0;
}
#business_lead h2.lead_title {
	width: 88%;
	margin: 0 auto;
	color: #b60005;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
	transform: skewX(-5deg);
	margin-bottom: 4%;
	background: none;
	padding-bottom: 0;
}
#business_lead p.lead_text {
	width: 88%;
	margin: 0 auto;
	font-size: 16px;
	text-align: left;
	line-height: 200%;
}
#business01 {
	background: #f5f5f5;
	padding: 15% 0;
}
#business01 ul {
	width: 100%;
	margin: 0 auto;
}
#business01 li {
	background: #fff;
	margin-bottom: 40px;
	padding: 6%;
}
#business01 li:after {
	content:" ";
    display:block;
    clear:both;
}
#business01 li .img {
	width: 100%;
	float: none;
	font-size: 0;
}
#business01 li:nth-child(even) .img {
	float: none;
}
#business01 li .text_wrap {
	float: none;
	width: 100%;
	padding: 6% 0%;
	box-sizing: border-box;
}
#business01 li .text_wrap h3 {
	font-size: 20px;
	font-weight: bold;
	line-height: 100%;
	background: url(../img/top_title_bar02.png) no-repeat left bottom;
	padding-bottom: 3%;
	margin-bottom: 3%;
}
#business01 li .text_wrap .text {
	font-size: 16px;
}

#business02 {
	padding: 15% 0;
}
#business02 ul {
	font-size: 0;
	text-align: center;
}
#business02 li {
	display: inline-block;
	width: 94%;
	margin: 0 auto 6%;
	vertical-align: top;
}
#business02 li .img {
	margin-bottom: 4%;
}
#business02 li .img img {
	width: 60%;
}
#business02 li h3 {
	color: #b60005;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4%;
}
#business02 li .text {
	font-size: 16px;
	line-height: 200%;
	text-align: left;
}





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

採用情報

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

#main.recruit .main_inner {
	background:url(../img/recruit/recruit_main_bg_pc.png) no-repeat center center;
	background-size:cover;
}
#recruit_lead {
	padding: 15% 6%;
}
.subpage #recruit_lead h2 {
	color: #b60005;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	transform: skewX(-10deg);
	background: none;
	padding-bottom: 0;
	margin-bottom: 20px;
}
#recruit_lead .lead_text {
	font-size: 16px;
	line-height: 200%;
	text-align: left;
}

#recruit01 {
	background: #f5f5f5;
	padding: 15% 0;
}
#recruit01 .img {
	width: 90%;
	margin: 0 auto;
	text-align: center;
	line-height: 0;
}
#recruit01 ul {
	max-width: 1200px;
	width: 88%;
	margin: -10% auto 0;
	font-size: 0;
	text-align: center;
	border: 8px solid #ddd;
	padding: 15% 0px 3%;
	box-sizing: border-box;
}
#recruit01 li {
	display: inline-block;
	width: 80%;
	max-width: 80%;
	margin: 0 auto 6%;
	vertical-align: top;
}
#recruit01 li h3 {
	background: #b60005;
	padding: 15px 0;
	transform: skewX(-20deg);
	margin-bottom: 3%;
}
#recruit01 li h3 span {
	display: inline-block;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 100%;
	transform: skewX(10deg);
}
#recruit01 li p {
	font-size: 16px;
	line-height: 200%;
}


#recruit02 {
	padding: 15% 0;
}
#recruit02 .recruit02_box {
	position: relative;
	max-width: 1350px;
	margin: 0 auto 15%;
}
#recruit02 .recruit02_box:after {
	content:" ";
    display:block;
    clear:both;
}
#recruit02 .recruit02_box .img {
	float: none;
}
#recruit02 .recruit02_box:nth-child(odd) .img {
	float: none;
}
#recruit02 .recruit02_box .recruit02_box_textwrap {
	width: 88%;
	position: relative;
	bottom: 0;
	right: 0;
	background: #fff;
	padding: 10% 6% 6%;
	box-sizing: border-box;
	box-shadow: 10px 10px rgb(250,190,0);
	margin: 0 auto;
}
#recruit02 .recruit02_box:nth-child(odd) .recruit02_box_textwrap {
	position: relative;
	bottom: 0;
	right: inherit;
	left: 0;
}
#recruit02 .recruit02_box h3 {
	color: #b60005;
	font-family: 'Roboto', sans-serif;
	font-size: 42px;
	font-weight: bold;
	text-align: right;
	transform: skewX(-10deg) translateY(-50%);
	position: absolute;
	top: 0;
	right: 6%;
}
#recruit02 .recruit02_box:nth-child(odd) h3 {
	text-align: right;
	position: absolute;
	top: 0;
	right: 6%;
	left: inherit;
}
#recruit02 .recruit02_box h4 {
	color: #b60005;
	font-size: 22px;
	font-weight: bold;
	transform: skewX(-5deg);
	margin: 6% 0 3%;
}
#recruit02 .recruit02_box p.text {
	font-size: 14px;
	text-align: left;
	line-height: 200%;
}


#recruit03 {
	background: #f5f5f5;
	padding: 15% 0;
}
#recruit03 p {
	text-align: center;
}









