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

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

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

=======================================*/
body {
	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 only screen and (min-width:768px) {
	/* ---------------------------------------------------------
	1:body
	----------------------------------------------------------*/
	body {
		color: #131313;
		font-family: "Times New Roman", Times, serif;
		font-size: 13px;
		line-height: 1.5;
		min-width: 960px;
		width: 100%;
		background-color: #fff;
		height: 5000px;
		overflow: hidden;
	}
	
	img { vertical-align: top;}
	
	a {	color: #131313; text-decoration: none;}
	
	.sp { display: none !important;}


	#anime-wrapper {
		position: fixed;
		width: 100%;
		height: 100%;
	}
	
	#bar-red {
		position: fixed;
		width: 100%;
		height: 4px;
		top: 0;
		background-color: #d00235;
		z-index: 3;
		display: none;
	}

	#anime-bottom {
		position: absolute;
		width: 100%;
		top: 1200px;
	}

	
	/* ---------------------------------------------------------
	2:header
	----------------------------------------------------------*/
	header {
		position: fixed;
		width: 100%;
		height: 85px;
		background-color: #fff;
		border-top: 4px solid #d00235;
		z-index: 3;
	}

	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;}

	header {
		position: absolute;
		top: 0;
		z-index: 10;
	}
	
	h1 {
		position: absolute;
		top: 0;
		left: 50%;
		width: 544px;
		margin-left: -570px;
		width: 429px;
		margin-left: -432px;
	}
	.tagline {
		position: absolute;		
		top: 150px;
		left: 50%;
		width: 450px;
		margin-left: 19px;
		z-index: 2;
	}
	h1 .small,
	.tagline .small { display: none;}
	h1.small .big,
	.tagline.small .big { display: none; top: 0;}
	h1.small .small,
	.tagline.small .small{ display: block;}


	/* small */
/*
	h1 {
		width: 138px;
		margin-left: -610px;
	}
	.tagline {
		top: 48px;
		width: 138px;
		margin-left: -465px;
	}
*/

	h1 img,
	header .tagline img { width: 100%; height: auto;}
	
	article {
		width: 100%;
		margin: 4px auto 0;
		border-top: 4px solid #d00235;
		
		background: url(../../img/common/bg_contact.png) repeat-x bottom;
		background-color: #fff;
		padding-bottom: 4px;
		border-bottom: 4px solid #d00235;

		margin-bottom: 50px;
	}
	#contents {
		background-color: #f5f5f5;
	}

	#anime-inner {
		position: absolute;
		width: 100%;
		height: 600px;
		top: 259px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		overflow: hidden;
	}
	#anime-inner .txt-first {
		position: absolute;
		left: 50%;
		top: 93px;
		margin-left: -485px;
	}
	.icon-scroll {
		position: absolute;
		bottom: 28px;
		left: 50%;
		margin: 0 0 0 -25px;
	}
	
	.icon-current {
		position: absolute;
		bottom: 19px;
		left: 50%;
		width: 50px;
		height: 12px;
		margin-left: -614px;
		margin-left: -487px;
		z-index: 3;
		overflow: hidden;
	}
	.icon-current div {
		position: absolute;
		top: 0;
		left: 0;
		display: none;
	}
	.icon-current div:first-child { display: block;}

	#red-block {
		position: relative;
	}
	#red-block .txt {
		
		font-size: 20px;
		color: #fff;
		opacity: 0;
		display: none;
	}
	#red-block .txt .big {
		font-size: 36px;
	}
	#red-block .btn {
		padding-top: 20px;
		opacity: 0;
		display: none;
	}
	#red-block .btn a {
		display: block;
		width: 256px;
		height: 52px;
		font-size: 16px;
		color: #fff;
		line-height: 1;
		background: url(../../img/top/icon_red_arrow.png) no-repeat 232px center;
		background-size: 6px auto;
		text-align: center;
		padding-top: 16px;
		border: 2px solid #fff;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	.bg-red {
		position: relative;
		width: 55%;
		height: 100%;
		background: url(../../img/top/bg_red.png) no-repeat right top;
		background-size: cover;
		z-index:2;
	}

	.txt-red1,
	.txt-red2,
	.txt-red3 {
		position: absolute;
		top: 50%;
		left: 50%;
		margin-left: -487px;
		z-index: 3;
	}

	.pic-red1,
	.pic-red2,
	.pic-red3 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.pic-red1 .bg,
	.pic-red2 .bg,
	.pic-red3 .bg {
		width: 100%;
		height: 100%;
		background: url(../../img/top/pic_red_01.jpg) no-repeat right top;
		background-size: cover;
	}
	.pic-red2,
	.pic-red3 {
		display: none;
	}
	.pic-red2 .bg {
		background: url(../../img/top/pic_red_02.jpg) no-repeat right top;
		background-size: cover;
	}
	.pic-red3 .bg {
		background: url(../../img/top/pic_red_03.jpg) no-repeat right top;
		background-size: cover;
	}


	/* ---------------------------------------------------------
	1:#main
	----------------------------------------------------------*/
	#main {
		position: relative;
		width: 100%;
		height: 600px;
		background: url(../../img/top/bg_first.jpg) no-repeat 48% top;
		background-size: cover;
		overflow: hidden;
		z-index: 2;
	}
	#main.ie9 {
		width: 100%;
		height: 330px;
		background: url(../../img/top/bg_cookie.jpg) no-repeat center top;
	}
	#main h2 {
		line-height: 1;
	}
	#main .slide {
		position: absolute;
		width: 100%;
		top: 0;
		height: 600px;
		overflow: hidden;
		display: none;
		
		top: 200px;
	}
	#main .slide:first-child {
		display: block;
	}
	#main .slide .pic {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 600px;
	}
	#main .slide .pic img { width: 100%; height: auto; min-width: 1150px;}
	#main .txt {
		position: relative;
		background-color: rgba(255,255,255,0.72);
		margin-top: 218px;
		height: 262px;		
		margin-top: 400px;
	}
	#main .slide h2 {
		position: absolute;
		top: 28px;
		left: 50%;
		margin-left: -477px;
	}
	#main .slide:nth-child(2) h2 { margin-left: -468px;}
	#main .slide:nth-child(3) h2 { margin-left: -478px;}
	#main .slide:nth-child(4) h2 { margin-left: -478px;}
	#main .slide p {
		position: absolute;
		top: 128px;
		left: 50%;
		margin-left: -471px;
	}
	#main .btn-detail {
		position: absolute;
		bottom: 28px;
		left: 50%;
		z-index: 2;
		margin-left: -108px;
	}
	
	/* ---------------------------------------------------------
	2:#subnav
	----------------------------------------------------------*/
	#subnav {
		position: relative;
		width: 100%;
		height: 155px;
		background-color: #d00235;
		z-index: 2;
	}
	#subnav .block-box {
		width: 942px;
		margin: 0 auto;
		padding: 15px 0 14px;
	}
	#subnav .block {
		float: left;
		margin-left: 10px;
		cursor: pointer;
	}
	#subnav .block:first-child { margin: 0;}
	#subnav .block p {
		text-align: center;
		line-height: 1;
		padding-top: 13px;
	}
	#subnav .pic {
		background-color: #000;
	}
	#subnav .pic img { opacity: 0.6;}
	#subnav .cr .pic img { opacity: 1;}


	#contents h2 {
		font-size: 27px;
	}
	#contents h2 .eng-txt {
		font-family: "Times New Roman", Times, serif;
		display: block;
		font-size: 13px;
		color: #d00235;
	}
	#msg .eng-txt { letter-spacing: 0.08em;}

	
	/* ---------------------------------------------------------
	3:#supply
	----------------------------------------------------------*/
	#bg-supply {
		width: 100%;
		background-color: #fbfbfb;
	}
	#supply {
		max-width: 1200px;
		margin: 0 auto;
	}
	#supply a {
		width: 100%;
		display: table;
	}
	
	#msg,#voice { background-color: #fbfbfb;}
	
	#supply .pic,
	#corporate .pic,
	#msg .pic,
	#voice .pic,
	#recruit .pic,
	#corporate-top .pic {
		position: relative;
		display: table-cell;
		width: 50%;
		vertical-align: top;
		overflow: hidden;
	}
	#supply .pic img,
	#corporate .pic img,
	#msg .pic img,
	#voice .pic img,
	#recruit .pic img,
	#corporate-top .pic img  { width: 100%; height: auto;}	
	
	#supply .pic .tri,
	#corporate .pic .tri,
	#msg .pic .tri,
	#voice .pic .tri,
	#recruit .pic .tri,
	#corporate-top .pic .tri {
		position: absolute;
		display: block;
		width: 20px;
		height: 35px;
		top: 50%;
		right: 0;
		margin-top: -17px;
		background: url(../../img/top/icon_tri_white.png) no-repeat right center;
		background-size: 20px 35px;
		z-index: 2;
	}
	#supply .pic .tri {
		background: url(../../img/top/icon_tri_gray.png) no-repeat right center;
		background-size: 20px 35px;
	}
	#voice .pic .tri,
	#recruit .pic .tri,
	#corporate-top .pic .tri {
		right: inherit;
		left: 0;
		background: url(../../img/top/icon_tri_white_02.png) no-repeat right center;
		margin-left: -1px;
	}
	
	#supply .txt,
	#corporate .txt,
	#voice .txt,
	#recruit .txt,
	#corporate-top .txt  {
		display: table-cell;
		width: 50%;
		vertical-align: middle;
	}
	#msg .txt  {
		display: table-cell;
		width: 50%;
		padding-top: 52px;
	}
	#supply h2 {
		width: 505px;
		width: 85%;
		font-size: 37px;
		margin: 0 auto;
	}
	#supply .eng-txt { font-size: 15px;}
	#supply p {
		width: 505px;
		width: 85%;
		font-size: 18px;
		line-height: 1.56;
		margin: 0 auto;
	}
	
	/* ---------------------------------------------------------
	4:#corporate,#msg,#voice,#recruit
	----------------------------------------------------------*/
	#col2 {
		max-width: 1200px;
		background-color: #fff;
		margin: 0 auto;
	}
	#corporate a,
	#voice a,
	#corporate-top a {
		float: left;
		display: table;
		width: 50%;
	}
	#msg a,
	#recruit a {
		float: right;
		display: table;
		width: 50%;
	}
	#corporate .txt,
	#voice .txt,
	#recruit .txt,
	#corporate-top .txt {
		padding-top: 0;
	}
	#msg .txt {
		padding-top: 47px;
	}
	#corporate h2,
	#voice h2,
	#recruit h2,
	#corporate-top h2  {
		width: 79%;
		margin: 0 auto;
	}
	#msg h2  {
		width: 79%;
		border-bottom: 1px solid #ebebeb;
		padding-bottom: 27px;
		margin: 0 auto 28px;
	}
	#corporate p,
	#msg p,
	#voice p,
	#recruit p,
	#corporate-top p {
		width: 233px;
		width: 79%;
		font-size: 15px;
		line-height: 1.67;
		margin: 0 auto;
	}
	
	/* ---------------------------------------------------------
	5:#closeup
	----------------------------------------------------------*/
	#closeup {
		position: relative;
		clear: both;
		width: 100%;
		background-color: #ececec;
		padding-bottom: 80px;
	}
	#closeup .inner {
		max-width: 1200px;
		background: url(../../img/top/closeup_bg.png) no-repeat 128px top;
		margin:  0 auto;
	}
	#closeup h2 {
		text-align: center;
		padding: 65px 0 45px;
	}
	#closeup .wrapper {
		width: 942px;
		margin: 0 auto;
	}
	#closeup .left-col {
		float: left;
		position: relative;
		width: 456px;
	}
	#closeup .right-col {
		float: right;
		position: relative;
		width: 456px;
	}
	#closeup .pic {
		position: absolute;
		top: 0;
		width: 456px;
	}
	#closeup .pic img { width: 100%; height: auto;}
	#closeup .txt {
		position: relative;
		width: 372px;
		margin: 140px auto 0;
		color: #fff;
		background-color: rgba(0,0,0,0.68);
		padding: 23px 22px 25px;
	}
	#closeup h3 {
		font-size: 26px;
		font-weight: normal;
		line-height: 1.2;
		background: url(../../img/common/icon_arrow_red.png) no-repeat left 8px;
		background-size: 9px 13px;
		margin-bottom: 33px;
		padding-left: 22px;
	}
	#closeup p {
		font-size: 14px;
	}
	#closeup .btn-list a {
		position: absolute;
		left: 50%;
		top: 66px;
		line-height: 1;
		display: block;
		width: 160px;
		text-align: center;
		background: url(../../img/common/icon_arrow_black.png) no-repeat 137px 12px;
		padding: 11px 0 13px;
		background-size: 7px 12px;
		border: 2px solid #3a3a3a;
		margin-left: 311px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#closeup .btn-list a:hover {
		background-color: #9e9e9e;
		border-color: #9e9e9e;
	}
	
	/* ---------------------------------------------------------
	6:#info
	----------------------------------------------------------*/
	#info {
		position: relative;
		width: 100%;
		border-top: 1px solid #ececec;
	}
	#info h2 {
		font-size: 32px;
		color: #fff;
	}
	#info .eng-txt {
		font-family: "Times New Roman", Times, serif;
		display: block;
		font-size: 15px;
		color: #d4d4d4;
	}
	#info .bg-gray {
		position: absolute;
		left: 0;
		width: 30%;
		height: 100%;
		background-color: #8e8e8e;
		z-index: -1;
	}
	#info .inner {
		display: table;
		max-width: 1200px;
		margin: 0 auto;
	}
	#info .left-col {
		display: table-cell;
		width: 30.6%;
		background-color: #8e8e8e;
		text-align: center;
		padding: 82px 0 92px;
		vertical-align: middle;
	}
	#info .right-col {
		display: table-cell;
		width: 69.4%;
		vertical-align: middle;
		padding: 20px 0;
	}
	#info .btn-list a {
		
		font-size: 14px;
		color: #fff;
		line-height: 1;
		display: block;
		width: 158px;
		text-align: center;
		background: url(../../img/common/icon_arrow_white.png) no-repeat 137px 12px;
		padding: 11px 0 13px;
		background-size: 7px 12px;
		border: 2px solid #fff;
		margin: 56px auto 0;
	}
	#info .btn-list a:hover {
		background-color: #9e9e9e;
		border-color: #9e9e9e;
	}
	#info dl {
		width: 100%;
		padding: 20px 0 0 50px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#info dt {
		clear: left;
		float: left;
		width: 280px;
		font-size: 15px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	#info dt .date {
		display: inline-block;
		width: 140px;
		letter-spacing: 0;
	}
	#info .icon {
		
		display: inline-block;
		width: 99px;
		height: 25px;
		font-size: 13px;
		line-height: 2;
		background-color: #f0f0f0;
		margin: 0 0 0 15px;
		text-align: center;
	}
	#info dd {
		float: left;
		width: 500px;
		font-size: 16px;
		margin-bottom: 20px;
	}
	#info dd a {
		display: block;
		background: url(../../img/common/icon_arrow_red.png) no-repeat left 5px;
		background-size: 9px 13px;
		padding-left: 22px;
	}
	#info dd a:hover {
		text-decoration: underline;
	}

	/* ---------------------------------------------------------
	5:footer
	----------------------------------------------------------*/
	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:1024px){

	body {
		width: 1172px;
		height: auto;
		overflow: auto;
	}
	h1 {
		position: absolute;
		top: 0;
		left: 30px;
		background: url(../../img/common/logo.png) no-repeat;
		width: 139px;
		height: 74px;
		margin: 0;
	}
	.tagline {
		position: absolute;
		top: 44px;
		left: 175px;
		background: url(../img/common/tagline.png) no-repeat;
		background-size: 143px auto;
		width: 143px;
		height: 17px;
		margin: 0;
	}
	h1 img,
	.tagline img { display: none;}

	#anime-wrapper {
		position: relative;
		width: 100%;
		height: 100%;
	}
	#anime-inner {
		position: relative;
		width: 100%;
		height: 589px;
		top: 0;
		padding-top: 89px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		overflow: hidden;
	}

	#anime-bottom {
		position: relative;
		top: 0;
		width: 100%;
		z-index: 1;
	}

	#main { display: none;}

	.icon-current {
		width: 69px;
	}

	.bg-red {
		position: relative;
		width: 50%;
		height: 500px;
		background: url(../../img/top/bg_red.png) no-repeat right top;
		background-size: cover;
		z-index:2;
		opacity: 0;
	}

	article {
		letter-spacing: 0;
	}
	article h2,
	article h3 {
		letter-spacing: 0;
	}

	.txt-red0,
	.txt-red1,
	.txt-red2,
	.txt-red3 {
		position: absolute;
		top: 50%;
		left: 50%;
		margin-left: -460px;
		z-index: 3;
	}
	.txt-red0 { top: 26%; width: 300px;}
	
	.txt-red1,
	.txt-red2,
	.txt-red3 {
		display: none;
	}
	
	#red-block .txt {
		font-family: minmoji;
		font-size: 16px;
		color: #fff;
		opacity: 1;
		display: block;
		margin-top: -100px;
	}
	#red-block .txt .big {
		font-size: 28px;
	}
	#red-block .btn {
		padding-top: 20px;
		opacity: 1;
		display: block;
	}
	.icon-current {
		margin-left: -460px;
	}
	.pic-red0 {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 500px;
	}
	.pic-red0 .bg {
		width: 100%;
		height: 100%;
		background: url(../../img/top/pic_red_00_sp.jpg) no-repeat center top;
		background-size: cover;
	}
	.pic-red1,
	.pic-red2,
	.pic-red3 {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 500px;
	}
	
	#contents h2 {
		font-size: 23px;
	}

	#col2 .pic { overflow: hidden; height: 279px;}

	#corporate .txt {
		display: table-cell;
		width: 50%;
		padding-top: 20px;
	}

}


/* sp */
@media only screen and (max-width:767px) {
	/* ---------------------------------------------------------
	1:body
	----------------------------------------------------------*/
	html { font-size: 62.5%; }
	body {
		color: #131313;
		font-family: "Times New Roman", Times, serif,Roboto;
		line-height: 1.5;
		width: 100%;
		background-color: #fff;
	}
	
	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 img,
	.tagline img,
	header .btn-english img { width: 100%; height: auto;}

	body {
		height: auto;
	}
	
	h1 .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;
	}
	h1 img,
	.tagline img,
	header .btn-english img { width: 100%; height: auto;}
	
	#anime-block {
		position: relative;
		width: 100%;
		top: 0;
	}
	#anime-inner {
		position: relative;
		width: 100%;
		top: 0;
	}	
	
	/* ---------------------------------------------------------
	1:#red-block
	----------------------------------------------------------*/
	#red-block {
		position: relative;
		width: 100%;
		height: 349px;
		letter-spacing: 0;
	}
	.pic-red0,
	.pic-red1,
	.pic-red2,
	.pic-red3 {
		position: absolute;
		width: 100%;
		height: 205px;
		top: 0;
		left: 0;
	}
	.pic-red0 {
		background: url(../../img/top/pic_red_00_sp.jpg) no-repeat center top;
		background-size: cover;
	}
	.pic-red1 {
		background: url(../../img/top/pic_red_01_sp.jpg) no-repeat center top;
		background-size: cover;
		display: none;
	}
	.pic-red2 {
		background: url(../../img/top/pic_red_02_sp.jpg) no-repeat center top;
		background-size: cover;
		display: none;
	}
	.pic-red3 {
		background: url(../../img/top/pic_red_03_sp.jpg) no-repeat center top;
		background-size: cover;
		display: none;
	}
	.bg-red {		
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 174px;
		background:url(../../img/top/bg_red_sp.png) no-repeat center bottom;
		background-size: cover;
		z-index: 2;
	}
	.txt-red0,
	.txt-red1,
	.txt-red2,
	.txt-red3 {		
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		font-size: 1.2rem;
		color: #fff;
		background-size: cover;
		padding: 0 3%;
		z-index: 3;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.txt-red0 {
		font-size: 1.3rem;
		bottom: 22px;
	}
	.txt-red1,
	.txt-red2,
	.txt-red3 {
		display: none;
	}
	#red-block .big {
		font-size: 1.8rem;
	}
	#red-block .btn a {
		display: block;
		width: 168px;
		height: 31px;
		color: #fff;
		font-size: 1rem;
		text-align: center;
		background: url(../../img/top/icon_red_arrow_sp.png) no-repeat 157px center;
		background-size: 4px auto;
		border: 1px solid #fff;
		margin: 15px auto;
		padding-top: 7px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}


	article {
		width: 100%;
		margin: 5px auto 4px;
		border-top: 5px solid #d00235;		
		background: url(../../img/common/bg_contact_sp.png) repeat-x left bottom;
		background-size: 1px auto;
		border-bottom: 34px solid #fff;
		padding-bottom: 10px;
	}
	
	/* ---------------------------------------------------------
	2:#subnav
	----------------------------------------------------------*/
	#subnav { display: none;}
	
	/* ---------------------------------------------------------
	3:#supply
	----------------------------------------------------------*/
	#supply a,
	#corporate a,
	#corporate-top a,
	#msg a,
	#voice a,
	#recruit a {
		width: 100%;
		display: table;
	}
	
	#corporate,
	#corporate-top,
	#voice {
		background-color: #ececec;
	}
	
	#supply .pic,
	#corporate .pic,
	#corporate-top .pic,
	#msg .pic,
	#voice .pic,
	#recruit .pic {
		position: relative;
		display: table-cell;
		width: 31.4%;
	}
	#supply .txt,
	#corporate .txt,
	#corporate-top .txt,
	#msg .txt,
	#voice .txt,
	#recruit .txt {
		display: table-cell;
		width: 68.6%;
	}

	#contents h2 {
		font-size: 2.2rem;
		line-height: 1.2;
	}
	#contents h2 .eng-txt {
		font-family: "Times New Roman", Times, serif;
		display: block;
		font-size: 13px;
		color: #d00235;
		letter-spacing: 0;
		padding-top: 3px;
	}


	#supply h2 {
		margin-left: 8.1%;
		padding: 14.9% 0 12%;
	}
	#corporate-top h2,
	#corporate h2,
	#msg h2,
	#voice h2,
	#recruit h2 {
		margin-left: 8.1%;
		padding: 20% 0 17.3%;
	}
	#msg h2 {
		letter-spacing: 0;
	}
	
	#supply p,
	#corporate p,
	#msg p,
	#voice p,
	#recruit p { display: none;}
	
	#supply .pic img,
	#corporate .pic img,
	#corporate-top p,
	#corporate-top .pic img,
	#msg .pic img,
	#voice .pic img,
	#recruit .pic img { display: none;}
	
	#supply .pic {
		background: url(../../img/top/supply_pic.jpg) no-repeat center;
		background-size: cover;
	}
	#corporate .pic {
		background: url(../../img/top/corporate_pic.jpg) no-repeat center;
		background-size: cover;
	}	
	#corporate-top .pic {
		background: url(../../img/top/corporate_top_pic.jpg) no-repeat center;
		background-size: cover;
	}
	#msg .pic {
		background: url(../../img/top/msg_pic.jpg) no-repeat center;
		background-size: cover;
	}
	#voice .pic {
		background: url(../../img/top/voice_pic.jpg) no-repeat center;
		background-size: cover;
	}
	#recruit .pic {
		background: url(../../img/top/recruit_pic.jpg) no-repeat center;
		background-size: cover;
	}
	
	#supply .pic .tri,
	#corporate .pic .tri,
	#corporate-top .pic .tri,
	#msg .pic .tri,
	#voice .pic .tri,
	#recruit .pic .tri {
		position: absolute;
		display: block;
		width: 16px;
		height: 27px;
		top: 50%;
		right: 0;
		margin: -8px -1px 0 0;
		background: url(../../img/top/icon_tri_white.png) no-repeat right center;
		background-size: 16px 27px;
		z-index: 2;
	}
	#corporate .pic .tri,
	#corporate-top .pic .tri,
	#voice .pic .tri {
		background: url(../../img/top/icon_tri_gray.png) no-repeat right center;
		background-size: 16px 27px;
	}


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

	/* ---------------------------------------------------------
	4:footer
	----------------------------------------------------------*/
	footer {
		position: relative;
		width: 100%;
		padding: 7% 0 15%;
		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;
		text-align: center;
		color: #fff;
		font-size: 1.2rem;
		line-height: 1;
		font-style: normal;
		padding-bottom: 2.8%;
	}

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

	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; }
