@charset "utf-8";


/*共通*/

#header {
	position: absolute;
	top: 0;
	width: 100%;
	padding: 40px;
	box-sizing: border-box;
	z-index: 9000;
}
#header:after {
	content:" ";
    display:block;
    clear:both;
}
#h_logo {
	float: left;
}
#sp_menu,
#sp_menu_logo,
#sp_close {
	display: none;
}
#gnav {
	float: right;
}
#gnav ul {
	font-size: 0;
	text-align: right;
}
#gnav li {
	display: inline-block;
	margin: 0 20px;
}
#gnav li a {
	display: inline-block;
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,0);
	padding: 5px 0;
}
.subpage #gnav li a {
	color: #fff;
}
#gnav li a:hover {
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,1);
}
.subpage #gnav li a:hover {
	color: #fff;
}



#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 8999;
}


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

TOP

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

#main {
	position: relative;
	height: 100%;
}
#main .main_inner {
	background: url(../img/main_bg_pc_poligon.png) no-repeat center center;
	background-size: cover;
	height: 100vh;
}
#main .main_bg {
	font-size: 0;
}
#main .main_bg img {
	width: 100%;
}
#main h1 {
	position: absolute;
	top: 57%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#scroll_wrap {
	position: absolute;
	bottom: 0px;
	right: 30px;
	font-size: 0;
	overflow: hidden;
}
#scroll_wrap .scroll {
	display: inline-block;
	margin-bottom: 0px;
	position: relative;
	z-index: 20;
}
#scroll_wrap .scroll_bar_wrap {
	position: relative;
	text-align: center;
}
#scroll_wrap .scroll_bar_wrap .scroll_bar {
	display: inline-block;
	position: relative;
	
}
#scroll_wrap .scroll_bar_wrap .scroll_bar img {
	display: inline-block;
	position: relative;
	animation: scroll_move 2s linear infinite;
}
@keyframes scroll_move {
    0% {
        top: -104px;
    }
	90% {
		opacity: 1;
	}
    100% {
		top:104px;
		opacity: .3;
    }
}


#top_section {
	padding-top: 150px;
	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: 120px;
}
#top_section li:after {
	content:" ";
    display:block;
    clear:both;
}
#top_section li:nth-child(odd) .img {
	width: 55%;
	float: left;
	margin-right: 60px;
}
#top_section li:nth-child(even) .img {
	width: 55%;
	float: right;
	margin-left: 60px;
}
#top_section li .img img {
	width: 100%;
}
#top_section li:nth-child(odd) .title_wrap {
	width: 31%;
	float: left;
	padding-top: 70px;
}
#top_section li:nth-child(even) .title_wrap {
	width: 31%;
	float: right;
	padding-top: 70px;
}
#top_section li .title_wrap h2 {
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 52px;
	font-weight: bold;
	font-style: italic;
	line-height: 100%;
	background: url(../img/top_title_bar01.png) no-repeat left bottom;
	margin-bottom: 40px;
}
#top_section li .title_wrap h2 span {
	display: block;
	font-size: 18px;
	line-height: 100%;
	padding: 20px 0 30px;
}
#top_section li .title_wrap h3 {
	font-size: 16px;
	letter-spacing: 2px;
	margin-bottom: 50px;
}
#top_section li .title_wrap p.link {
	display: inline-block;
	width: 320px;
	background: #b60005;
	transform: skewX(-10deg);
	position: relative;
	transition: .3s;
	border: 1px solid #b60005;
	
}
#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;
	z-index: 30;
	margin-right: 0;
	transition: .3s;
}
#top_section li .title_wrap p.link:hover:before {
	margin-right: -10px;
}
#top_section li .title_wrap p.link:after {
	content: '';
	display: inline-block;
	width: 0%;
	height: 100%;
	background: #fff;
	transition: .3s;
	border: 1px solid #b60005;
	position: absolute;
	top: -1px;
	left: -1px;
	
}
#top_section li .title_wrap p.link:hover:after {
	width: 100%;
}
#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-family: 'Roboto Condensed', sans-serif;
	font-size: 16px;
	font-weight: bold;
	font-style: italic;
	text-align: center;
	text-decoration: none;
	letter-spacing: 2px;
	padding: 20px 0;
	position: relative;
	z-index: 20;
}
#top_section li .title_wrap p.link a:hover {
	opacity: 1;
	color: #b60005;
}



#bottom_contact {
	background: #b60005;
	padding: 100px 0;
}
#bottom_contact h2 {
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 52px;
	font-weight: bold;
	font-style: italic;
	text-align: center;
	margin-bottom: 40px;
	background: none;
	transform: skewX(0);
}
#bottom_contact h2 span {
	display: block;
	color: #fff;
	font-size: 18px;
	padding-top: 20px;
}
#bottom_contact .contact_tel {
	width: 88%;
	max-width: 920px;
	margin: 0 auto;
	background: #fff;
	box-shadow: 10px 10px rgb(250,190,0);
	padding: 40px 0;
	text-align: center;
	transform: skewX(-20deg);
}
#bottom_contact .contact_tel .tel {
	display: inline-block;
	color: #b60005;
	font-size: 24px;
	font-weight: bold;
	transform: skewX(20deg);
}
#bottom_contact .contact_tel .tel a {
	display: inline-block;
	color: #b60005;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 42px;
	font-weight: bold;
	text-decoration: none;
	transform: skewX(5deg);
}
.subpage #bottom_contact .contact_tel .tel a {
	transform: skewX(0deg);
}
#bottom_contact .contact_tel .tel:after {
	content: '/';
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 42px;
	transform: skewX(0deg);
	display: inline-block;
	margin: 0 10px;
}
#bottom_contact .contact_tel .fax {
	display: inline-block;
	color: #b60005;
	font-size: 24px;
	font-weight: bold;
	transform: skewX(20deg);
}
#bottom_contact .contact_tel .fax a {
	display: inline-block;
	color: #b60005;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 42px;
	font-weight: bold;
	text-decoration: none;
	transform: skewX(5deg);
}
.subpage #bottom_contact .contact_tel .fax a {

}
#bottom_contact .time {
	color: #000;
	font-size: 16px;
	text-align: center;
	transform: skewX(20deg);
}


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




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

下層共通

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

#fl_header {
	display: none;
	
	background: #fff;
	position: fixed;
	top: 0;
	width: 100%;
	padding: 15px 40px;
	box-sizing: border-box;
	z-index: 9000;
}
#fl_header:after {
	content:" ";
    display:block;
    clear:both;
}
#fl_logo {
	float: left;
}
#flnav {
	float: right;
	padding-top: 5px;
}
#flnav ul {
	font-size: 0;
	text-align: right;
}
#flnav li {
	display: inline-block;
	margin: 0 20px;
}
#flnav li a {
	display: inline-block;
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,0);
	padding: 5px 0;
}
#flnav li a:hover {
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 1px solid rgba(182,0,5,1);
}

#fl_sp_menu,
#fl_sp_close,
#fl_sp_menu_logo {
	display: none;
}


.subpage #main .main_inner {
	background: none;
	background-size: cover;
	height: auto;
}



#bread_crumb {
	background: #f5f5f5;
}
#bread_crumb ul {
	max-width: 1200px;
	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-family: 'Roboto Condensed', sans-serif;
	font-size: 68px;
	font-weight: bold;
	font-style:italic;
	text-align: center;
}
.subpage h1 span {
	display: block;
	color: #fff;
	font-size: 22px;
}
.subpage h2 {
	width: 94%;
	margin: 0 auto;
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	background: url(../img/top_title_bar01.png) no-repeat center bottom;
	padding-bottom: 20px;
	margin-bottom: 50px;
	transform: skewX(-5deg);
}



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

アクセス

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

#access01 {
	padding: 100px 0;
}
#map {
	max-width: 1200px;
	height: 450px;
	margin: 0 auto 30px;
}
#map iframe {
	width: 100%;
	height: 100%;
}
#access01 h3 {
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
}
#access01 p {
	font-size: 16px;
	text-align: center;
}



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

会社概要

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

#company01 {
	padding: 100px 0;
}

.greeting_wrap {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
}
.greeting_wrap:after {
	content:" ";
    display:block;
    clear:both;
}
.greeting_wrap .img {
	width: 41%;
	float: right;
}
.greeting_wrap .img img {
	width: 100%;
}
.greeting_wrap .greeting_left {
	float: left;
	width: 52%;
	padding-top: 40px;
}
.greeting_wrap h3 {
	color: #b60005;
	font-size: 26px;
	font-weight: bold;
	transform: skewX(-5deg);
	margin-bottom: 30px;
}
.greeting_wrap .text {
	font-size: 16px;
	line-height: 200%;
	text-align: left;
	margin-bottom: 30px;
}
.greeting_wrap .name {
	font-size: 18px;
}
.greeting_wrap .name span {
	font-size: 16px;
}


#company02 {
	padding: 100px 0 140px;
	background: #f5f5f5;
}
#company02 table {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	border-top: 1px solid #ccc;
}
#company02 tr {
	
}
#company02 th {
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	padding: 30px;
	border-bottom: 1px solid #ccc;
}
#company02 td {
	font-size: 16px;
	font-weight: normal;
	text-align: left;
	padding: 30px;
	border-bottom: 1px solid #ccc;
}
#company02 td span {
	font-size: 16px;
	font-weight: bold;
}




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

業務内容

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

#business_lead {
	padding: 100px 0;
}
#business_lead h2.lead_title {
	color: #b60005;
	font-size: 26px;
	font-weight: bold;
	transform: skewX(-5deg);
	margin-bottom: 30px;
	background: none;
	padding-bottom: 0;
}
#business_lead p.lead_text {
	font-size: 16px;
	text-align: center;
	line-height: 200%;
}
#business01 {
	background: #f5f5f5;
	padding: 120px 0;
}
#business01 ul {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
}
#business01 li {
	background: #fff;
	margin-bottom: 40px;
}
#business01 li:after {
	content:" ";
    display:block;
    clear:both;
}
#business01 li .img {
	width: 50%;
	float: left;
	font-size: 0;
}
#business01 li:nth-child(even) .img {
	float: right;
}
#business01 li .img img {
	width: 100%;
}
#business01 li .text_wrap {
	float: left;
	width: 50%;
	padding: 50px 45px;
	box-sizing: border-box;
}
#business01 li .text_wrap h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 100%;
	background: url(../img/top_title_bar02.png) no-repeat left bottom;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
#business01 li .text_wrap .text {
	font-size: 16px;
}

#business02 {
	padding: 120px 0;
}
#business02 ul {
	font-size: 0;
	text-align: center;
}
#business02 li {
	display: inline-block;
	width: 25%;
	max-width: 335px;
	margin: 0 30px;
	vertical-align: top;
}
#business02 li .img {
	margin-bottom: 30px;
}
#business02 li .img img {
	width: 100%;
}
#business02 li h3 {
	color: #b60005;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
#business02 li .text {
	font-size: 16px;
	line-height: 200%;
	text-align: left;
}







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

採用情報

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


#recruit_lead {
	padding: 100px 0;
}
.subpage #recruit_lead h2 {
	color: #b60005;
	font-size: 26px;
	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: center;
}

#recruit01 {
	background: #f5f5f5;
	padding: 100px 0;
}
#recruit01 .img {
	text-align: center;
	line-height: 0;
}
#recruit01 .img img {
	max-width: 80%;
}
#recruit01 ul {
	width: 94%;
	max-width: 1200px;
	margin: -70px auto 0;
	font-size: 0;
	text-align: center;
	border: 8px solid #ddd;
	padding: 120px 0px 70px;
}
#recruit01 li {
	display: inline-block;
	width: 25%;
	max-width: 285px;
	margin: 0 3%;
	vertical-align: top;
}
#recruit01 li h3 {
	background: #b60005;
	padding: 15px 0;
	transform: skewX(-20deg);
	margin-bottom: 25px;
}
#recruit01 li h3 span {
	display: inline-block;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	line-height: 100%;
	transform: skewX(10deg);
}
@media screen and (max-width: 1040px) {
#recruit01 li h3 span {
	font-size: 20px;
}
}
#recruit01 li p {
	font-size: 18px;
	font-weight: bold;
	line-height: 200%;
}


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


#recruit03 {
	background: #f5f5f5;
	padding: 100px 0;
}
#recruit03 p {
	text-align: center;
}

























#sp_menu_wrap {
	display: none;
}
















