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

/*======================================

1: body
2: header
3: #contact
4: footer
5: #pagetop
6: .clearfix

=======================================*/

body {
	word-break: keep-all !important;
	letter-spacing: 0.08em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: auto | grayscale;
}
h1,h2,h3,h4,h5,h6 {
	letter-spacing: 0.1em;
	font-weight: normal;
}

/* pc */
@media print, screen and (min-width:768px) {
	/* ---------------------------------------------------------
	1:body
	----------------------------------------------------------*/
	body {
		position: relative;
		color: #131313;
		font-family: "Times New Roman", Times, serif;
		font-size: 13px;
		line-height: 1.5;
		min-width: 1073px;
		width: 100%;
		background-color: #fff;
		padding-top: 89px;
		word-break: break-all;
	}
	
	img { vertical-align: top;}
	
	a {	color: #131313; text-decoration: none;}
	
	.sp { display: none !important;}
	
	/* ---------------------------------------------------------
	2:header
	----------------------------------------------------------*/
	header {
		position: absolute;
		top: 0;
		width: 100%;
		min-width: 1073px;
		height: 85px;
		background-color: #fff;
		border-top: 4px solid #d00235;
		z-index: 3;
	}

	#logo .pc {
		position: absolute;
		top: 0;
		left: 30px;
	}
	.tagline .pc {
		position: absolute;
		top: 44px;
		left: 50%;
		left: 175px;
	}

	header .btn-recruit,
	header .btn-english {
		position: absolute;
		top: 14px;
		right: 35px;
		text-align: center;
		background-color: #000;
		z-index: 3;
	}
	header .btn-recruit a,
	header .btn-english a {
		display: block;
		width: 90px;
		height: 22px;
		font-size: 12px;
		color: #fff;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 2px 0 0;
	}
	header .btn-recruit a:hover,
	header .btn-english a:hover {
		background-color: #9e9e9e;
	}
	header .btn-recruit {
		
		right: 127px;
	}
	header .btn-english {
		font-family: "Times New Roman", Times, serif;
	}
	header nav {
		position: relative;
		width: 100%;
		padding-top: 37px;
		z-index: 2;
	}
	header nav ul {
		position: absolute;
		right: 35px;
	}
	header nav li {		
		font-size: 13px;
		float: left;
		line-height: 1;
		background: url(../img/common/nav_border.png) no-repeat left 20px;
	}
	header nav li a {
		display: block;
		padding: 8px 0;
	}
	
	header nav li.cr a,
	header nav li a:hover {
		color: #d00235;
		border-bottom: 1px solid #d00235;
	}
	header nav li:nth-child(2) a:hover img {
		padding-bottom: 5px;
		border-bottom: 1px solid #d00235;
	}
	header nav li:first-child {
		background: none;
		padding: 8px 17px;
	}
	header nav li:first-child { background: none;}
	header nav li:nth-child(2) {	padding: 8px 16px 8px 18px;}
	header nav li:nth-child(3) {	padding: 8px 16px 8px 19px;}
	header nav li:nth-child(4) {	padding: 8px 15px 8px 16px;}
	header nav li:nth-child(5) {	padding: 8px 14px 8px 15px;}
	header nav li:nth-child(6) {	padding: 8px 0 8px 14px;}

	/* ---------------------------------------------------------
	3:#breadcrumb
	----------------------------------------------------------*/
	#breadcrumb {
		width: 100%;
		background-color: #ececec;
		padding-right: 35px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#breadcrumb .inner {
		width: 100%;
		height: 50px;
		font-size: 12px;
		line-height: 1;
		background: url(../img/common/bg_breadcrumb.png) no-repeat right top;
		padding: 20px 0 0 28px;
		margin: 0 auto;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#breadcrumb a {
		color: #d00235;
		margin-right: 16px;
		margin-left: 16px;
	}	
	#breadcrumb a:first-child {
		margin-left: 0;
	}
	#breadcrumb span { margin-left: 16px;}


	h1 {		
		width: 100%;
		font-size: 43px;
		line-height: 0;
		text-align: center;
		color: #d00235;
		line-height: 1;
	}
	#page-index h1 {
		font-size: 66px;
	}
	.eng-ttl {
		width: 100%;
		text-align: center;
		font-size: 22px;
		color: #fff;
		opacity: 0;
	}
	.eng-ttl .txt {
		padding: 0px 15px 30px;
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	h1.no-visual {
		text-align: center;
		padding: 38px 0;
	}
	.lead {
		font-size: 22px;
		text-align: center;
		line-height: 1;
		color: #fff;
	}
	#page-index .lead {
		font-size: 24px;
	}

	#wrapper {
		position: relative;
		min-width: 1172px;
		background-color: #fff;
		border-top: 4px solid #d00235;
		box-shadow: 0 -4px #fff;
		overflow: hidden;
	}

	#page-index #wrapper {
		background-color: #f5f5f5;
	}

	#col2 {
		position: relative;
		max-width: 1172px;
		margin: 0 auto;
		background-color: #fff;
	}
	#wrapper .bg-gray {
		position: absolute;
		top: 0;
		left: 50%;
		width: 278px;
		height: 100%;
		margin-left: 309px;
		background-color: #ececec;
	}
	#col2 article {
		float: left;
		width: 100%;
		padding-top: 60px;
		margin-right: -278px;
	}
	#col2 #section-box {
		padding-right: 278px;
	}
	#col2 article section {
		width: 700px;
		margin: 0 auto;
	}
	aside {
		float: right;
		position: relative;
		width: 278px;
		height: 100%;
		background-color: #ececec;
	}
	aside.fixed .border {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		border-top: 4px solid #d00235;
		z-index: 3;
	}
	aside.fixed .inner {
		position: fixed;
		top: 0;
		width: 278px;
		border-top: 4px solid #d00235;
	}
	aside.abs .inner {
		position: absolute;
		width: 278px;
		border-top: 4px solid #d00235;
	}
	aside .inner {
		background: url(../../img/common/localnav_bg.png) no-repeat left top;
	}
	aside h3 {		
		height: 103px;
		font-size: 20px;
		color: #131313;
		padding: 45px 0 0 40px;
		border-bottom: 1px solid #fff;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	body.service h3 {
		padding: 25px 0 0 40px;
	}
	.service aside h3 {
		letter-spacing: 0.01em;
	}
	aside .on {
		position: absolute;
		display: none;
	}
	aside ul {
		list-style: none;
		padding: 24px 0 27px 35px;
	}
	aside li a {		
		display: block;
		font-size: 14px;
		color: #131313;
		line-height: 1;
		position: relative;
		padding: 15px 0;
		letter-spacing: 0.04em;
	}
	aside h3 a:hover,
	aside li a:hover,
	aside li.cr a {
		color: #d00235;
	}
	aside .btn-tel {
		height: 60px;
		background-color: #fbfbfb;
		padding: 13px 0 0 33px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	aside .btn-tel p {
		
		font-size: 22px;
		color: #d00235;
		line-height: 1;
		background: url(../img/common/icon_tel.png) no-repeat left top;
		background-size: 29px auto;
		padding: 5px 0 10px 41px;
	}
	aside .btn-mail {
		padding: 20px 0;
		background-color: #d00235;
	}
	aside .btn-mail a {		
		display: block;
		width: 239px;
		height: 60px;
		background: url(../img/common/icon_mail.png) no-repeat 31px 18px;
		background-size: 38px auto;
		font-size: 16px;
		line-height: 1;
		color: #fff;
		border: 1px solid #fff;
		margin: 0 auto;
		padding: 22px 0 0 84px;
		text-align: left;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	aside .btn-mail a:hover {
		color: #d00235;
		background: url(../img/common/icon_mail_on.png) no-repeat 31px 18px;
		background-size: 38px auto;
		background-color: #fff;
	}

	/* ---------------------------------------------------------
	5:footer
	----------------------------------------------------------*/
	.bar-footer {
		padding-bottom: 50px;
		background: url(../img/common/bar_footer.png) repeat-x left top;
		background-color: #fff;
	}

	footer {
		position: relative;
		height: 70px;
		background-color: #d00235;
		border-top: 4px solid #fff;
	}
	footer:after {
		content: "."; 
		display: block; 
		height: 0; 
		clear: both; 
		visibility: hidden;
	}
	footer { min-height: 1px; }
	footer #pagetop {
		text-align: center;
		margin-top: -26px;
	}
	footer ul {
		float: left;
		padding: 8px 0 0 28px;
	}
	footer li {
		float: left;
		list-style: none;
		margin-right: 51px;
	}
	footer li a {
		color: #fff;
		background: url(../../img/common/icon_arrow_white.png) no-repeat left 2px;
		padding-left: 17px;
		background-size: 5px 8px;
	}
	footer li a:hover {
		text-decoration: underline;
	}
	footer address {
		font-family: "Times New Roman", Times, serif;
		float: right;
		text-align: right;
		color: #fff;
		font-style: normal;
		padding: 8px 35px 0 0;
	}
}

/* tablet */
@media only screen and (min-width:768px) and (max-width:959px){
	body {
		position: relative;
		width: 1172px;
		height: auto;
	}
	
}

/* sp */
@media only screen and (max-width:767px) {
	/* ---------------------------------------------------------
	1:body
	----------------------------------------------------------*/
	html { font-size: 62.5%; }
	body {
		position: relative;
		color: #131313;
		font-family: "Times New Roman", Times, serif,Roboto;
		line-height: 1.5;
		width: 100%;
		background-color: #fff;
		word-break: break-all;
	}
	
	img { vertical-align: top;}
	
	a {	color: #131313; text-decoration: none;}
	
	.pc { display: none !important;}
	
	/* ---------------------------------------------------------
	2:header
	----------------------------------------------------------*/
	header {
		position: relative;
		width: 100%;
		background-color: #fff;
		border-top: 2px solid #d00235;
	}
	header nav,
	header .btn-recruit { display: none;}
	header .btn-english {
		position: absolute;
		top: 26.6%;
		right: 0;
		text-align: center;
	}
	header .btn-english a {
		font-family: "Times New Roman", Times, serif;
		display: block;
		width: 60px;
		font-size: 1.2rem;
		line-height: 1;
		color: #fff;
		background-color: #000;
		padding: 9px 0 8px;
	}
	#logo .sp {
		position: relative;
		left: inherit;
		width: 26.6%;
		padding: 0 0 1.4% 1.9%;
		margin: 0;
	}
	.tagline {
		position: absolute;
		width: 33%;
		top: 55.7%;
		left: 30.7%;
		margin: 0;
	}
	#logo img,
	.tagline img,
	header .btn-english img { width: 100%; height: auto;}

	/* ---------------------------------------------------------
	3:#breadcrumb
	----------------------------------------------------------*/
	#breadcrumb {
		width: 100%;
		background-color: #ececec;
		letter-spacing: 0;
	}
	#breadcrumb .inner {
		font-size: 0.9rem;
		line-height: 1;
		background: url(../img/common/bg_breadcrumb.png) no-repeat right top;
		background-size: auto 100%;
		padding: 9px 0 9px 2.5%;
		margin: 0 auto;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#breadcrumb a {
		color: #d00235;
		margin-right: 12px;
		margin-left: 12px;
	}
	#breadcrumb a:first-child {
		margin-left: 0;
	}
	#breadcrumb span { margin-left: 12px;}

	h1 {
		
		width: 100%;
		font-size: 2rem;
		line-height: 1;
		text-align: center;
		color: #d00235;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#page-index h1 {
		font-size: 3.3rem;
	}
	.eng-ttl {
		position: relative;
		width: 100%;
		text-align: center;
		font-family: "Times New Roman", Times, serif;
		font-size: 1rem;
		line-height: 1;
		color: #fff;
		padding: 12px 0 15px;
		opacity: 0;
		z-index: 2;
	}
	.eng-ttl .txt {
		display: inline-block;
		padding: 0 0 15px;
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	.lead {
		
		font-size: 1.1rem;
		color: #fff;
		text-align: center;
	}

	h1.no-visual {
		text-align: center;
		padding: 5% 0 4%;
	}
	
	#wrapper {
		width: 100%;
		background: url(../../img/common/bg_contact_sp.png) repeat-x left bottom;
		background-size: 1px auto;
		border-bottom: 34px solid #fff;
		padding-bottom: 10px;
		margin-bottom: 4px;
	}

	#col2 {
		width: 100%;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#col2 article {		
		border-top: 4px solid #d00235;
		box-shadow: 0 -4px #fff;
		margin-top: 4px;
	}

	#col2 section {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding-top: 5%;
		padding-bottom: 5%;
	}
	section p {
		line-height: 1.7;
	}

	aside {
		width: 100%;
		background: url(../../img/common/localnav_bg_sp.png) no-repeat left top;
		background-size: 6.6% auto;
		background-color: #ececec;
		border-top: 4px solid #fff;		
		box-shadow: 0 -4px #d00235;
		margin-top: 4px;
	}
	aside h3 a {
		display: block;
		font-size: 1.8rem;
		padding: 11px 0 11px 10.5%;
		border-bottom: 4px solid #fff;
	}
	
	aside li { display: table; width: 100%;}
	aside li a {
		display: table-cell;
		font-size: 1.2rem;
		background-color: #ececec;
		vertical-align: middle;
		height: 36px;
		padding: 0 0 0 10.5%;
		border-bottom: 1px solid #fff;
	}
	aside li:last-child a {
		border-bottom: 2px solid #fff;
	}
	aside li.cr a {
		color: #d00235;
	}
	aside .inner { border-bottom: 4px solid #fff;}	
	aside li .on { display: none;}
	aside li.cr img { display: none;}
	aside li.cr .on { display: inline;}
	aside li.cr .on img { display: block;}
	aside li.cr a .on img,
	aside li a img { height: 35%; width: auto; vertical-align: bottom;}
	aside .btn-tel,
	aside .btn-mail { display: none;}


	/* ---------------------------------------------------------
	3:#contact
	----------------------------------------------------------*/
	#contact { display: none;}

	/* ---------------------------------------------------------
	4:footer
	----------------------------------------------------------*/
	footer {
		position: relative;
		width: 100%;
		padding: 7% 0 0;
		background-color: #d00235;
		border-top: 4px solid #fff;
	}
	footer #pagetop {
		position: absolute;
		top: 0;
		width: 100%;
		text-align: center;
		margin-top: -26px;
	}
	footer #pagetop + ul {
		display: table;
		width: 100%;
		padding-bottom: 7%;
	}
	footer #pagetop + ul li {
		display: table-cell;
		width: 50%;
		list-style: none;
		text-align: center;
	}
	footer #pagetop + ul li a {
		color: #fff;
		font-size: 1.4rem;
		line-height: 1;
		background: url(../../img/common/icon_arrow_white.png) no-repeat left 2px;
		padding-left: 17px;
		background-size: 5px 8px;
	}
	footer address {
		font-family: "Times New Roman", Times, serif;
		width: 100%;
		text-align: center;
		color: #fff;
		font-size: 1.2rem;
		line-height: 1;
		font-style: normal;
		padding-bottom: 20%;
	}

	footer #nav-sp {
		position: fixed;
		width: 100%;
		bottom: 0;
		z-index: 2;
	}

	footer .slide-nav {
		position: absolute;
		bottom: 100%;
		width: 100%;
		background-color: #d00235;
		padding: 0 5% 20px;
		list-style: none;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		
		display: none;
	}
	footer .slide-nav li a {		
		display: block;
		font-size: 1.9rem;
		color: #fff;
		padding: 15px 0;
		border-bottom: 1px solid #fff;
	}
	footer .slide-nav li:nth-child(4) a {
		border: none;
	}
	footer .btn-box {
		position: relative;
		width: 100%;
		background-color: #424242;
	}
	footer .btn-menu {
		width: 50px;
		padding: 13.5px 0;
		text-align: center;
		vertical-align: middle;
	}
	footer .btn-menu { background-color: #000;}	
	footer .close { background-color: #d00235;}
	footer .btn-close {
		background-color: #d00235;
		display: none;
	}
	footer .btn-menu img { width: 50%; height: auto;}
}

/* ---------------------------------------------------------
4:clearfix
----------------------------------------------------------*/
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}

.clearfix { min-height: 1px; }