@charset "UTF-8";

@media screen and (min-width: 781px){
/* PC */
#main{
	margin: 0 auto;
	padding: 274px 0 0;
	width: 100%;
	text-align: center;
}
#main h2{
	font-family: ro-nikkatsu-sei-kai-std, serif;
	margin: auto;
	padding: 0;
	width: 100%;
	font-size: 45px;
	line-height: 100%;
	display: flex;
	align-items: center;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
#main .comp{
	font-family: source-han-serif-japanese, serif;
	margin: 0 auto;
	padding: 52px 0 150px;
	width: 100%;
	font-size: 26px;
	text-align: center;
}
#main .comp span{
	font-size: 27px;
}
#main .mainImg{
	width: 100%;
	height: 600px;
	background-image: url(../images/main.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}


#concept{
	margin: 0 auto;
	padding: 140px 0 0;
	width: 100%;
}
#concept .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 45px;
	width: 1000px;
	font-size: 28px;
	text-align: left;
	color: #808080;
}
#concept h3{
	margin: 0 auto;
	padding: 0 0 60px;
	width: 1000px;
	font-size: 55px;
	text-align: left;
	font-weight: bold;
}
#concept p{
	margin: 0 auto;
	padding: 0 0 100px;
	width: 1000px;
	font-size: 24px;
	line-height: 58px;
	text-align: left;
}


#message{
	margin: 0 auto;
	padding: 60px 0 0;
	width: 100%;
}
#message .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 45px;
	width: 1000px;
	font-size: 28px;
	text-align: left;
	color: #808080;
}
#message h3{
	margin: 0 auto;
	padding: 0 0 60px;
	width: 1000px;
	font-size: 55px;
	text-align: left;
	font-weight: bold;
}
#message p{
	margin: 0 auto;
	padding: 0 0 140px;
	width: 1000px;
	font-size: 24px;
	line-height: 58px;
	text-align: left;
}


#services{
	margin: 0 auto;
	padding: 60px 0 0;
	width: 100%;
}
#services .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 45px;
	width: 1000px;
	font-size: 28px;
	text-align: left;
	color: #808080;
}
#services h3{
	margin: 0 auto;
	padding: 0 0 75px;
	width: 1000px;
	font-size: 55px;
	text-align: left;
	font-weight: bold;
}
#services h3 span{
	padding: 0 0 0 20px;
	font-size: 20px;
	font-weight: normal;
}
#services img{
	margin: 0 auto 45px;
	padding: 0;
	width: 1060px;
}
#services h4{
	margin: 0 auto;
	padding: 0 0 25px;
	width: 1000px;
	font-size: 24px;
	text-align: left;
	font-weight: bold;
}
#services p{
	margin: 0 auto;
	padding: 0 0 30px;
	width: 1000px;
	font-size: 17px;
	line-height: 35px;
	text-align: left;
	font-weight: normal;
}
#services .bt{
	margin: 0 auto;
	padding: 0 0 145px;
	width: 1000px;
	text-align: left;
}
#services .bt a{
	margin: 0;
	padding: 5px 0 5px 65px;
	width: 350px;
	font-size: 15px;
	line-height: 100%;
	text-align: left;
	font-weight: normal;
	display: block;
	background-image: url(../common/images/arrow.png);
	background-position: left center;
	background-size: 50px auto;
	background-repeat: no-repeat;
}
#services .bt a:hover{
	padding: 5px 0 5px 75px;
	background-position: left 10px center;
	opacity:1;
	filter: alpha(opacity=100);
}


#news{
	margin: 0 auto 90px;
	padding: 150px 0 145px;
	width: 100%;
	background-color: #333;
}
#news .inner{
	margin: 0 auto;
	width: 1000px;
}
#news .inner .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 45px;
	width: 100%;
	font-size: 28px;
	text-align: left;
	color: #fff;
}
#news .inner h3{
	margin: 0 auto;
	padding: 0 0 60px;
	width: 100%;
	font-size: 55px;
	text-align: left;
	font-weight: bold;
	color: #fff;
}
#news .inner .view{
	float: right;
	margin: -70px 0 0;
	padding: 0;
	width: 135px;
}
#news .inner .view a{
	font-family: 'Roboto';
	margin: 0;
	padding: 5px 0 5px 65px;
	width: 100%;
	font-size: 16px;
	line-height: 100%;
	text-align: left;
	font-weight: normal;
	color: #fff;
	display: block;
	background-image: url(../common/images/arrowW.png);
	background-position: left center;
	background-size: 50px auto;
	background-repeat: no-repeat;
}
#news .inner .view a:hover{
	padding: 5px 0 5px 65px;
	background-position: left 10px center;
	opacity:1;
	filter: alpha(opacity=100);
}
#news .inner ul{
	margin: 0;
	padding: 0;
	width: 100%;
}
#news .inner li{
	float: left;
	margin: 0 50px 0 0;
	padding: 0;
	width: 300px;
}
#news .inner li:nth-child(3){
	margin: 0;
}
#news .inner li:nth-child(4){
	display: none;
}
#news .inner li a{
	width: 100%;
	display: block;
}
#news .inner li a img{
	width: 100%;
	height: auto;
}
#news .inner li a p{
	margin: 0;
	padding: 25px 0 0;
	width: 100%;
	font-size: 17px;
	line-height: 35px;
	text-align: left;
	font-weight: normal;
	color: #fff;
}


#company{
	margin: 0 auto;
	padding: 60px 0 150px;
	width: 1000px;
}
#company .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 45px;
	width: 100%;
	font-size: 28px;
	text-align: left;
	color: #333;
}
#company h3{
	float: left;
	margin: 0;
	padding: 0 0 75px;
	width: 50%;
	font-size: 55px;
	text-align: left;
	font-weight: bold;
}
#company .rBox{
	float: left;
	width: 50%;
}
#company .rBox .tb{
	margin: -10px 0 0;
	width: 100%;
}
#company .rBox .tb th,
#company .rBox .tb td{
	padding: 0 0 35px;
	font-size: 17px;
	line-height: 30px;
	text-align: left;
}
#company .rBox .tb th{
	width: 135px;
	font-weight: bold;
}
#company .bt{
	margin: 75px auto 0;
	padding: 0;
	width: 748px;
}
#company .bt a{
	margin: 0;
	padding: 33px 0;
	width: 100%;
	font-size: 17px;
	line-height: 100%;
	text-align: center;
	font-weight: bold;
	color: #333;
	display: block;
	border: 1px solid #333;
	background-image: url(../common/images/arrow.png);
	background-position: left 215px center;
	background-size: 50px auto;
	background-repeat: no-repeat;
}
#company .bt a:hover{
	color: #fff;
	background-color: #333;
	background-image: url(../common/images/arrowW.png);
	background-position: left 225px center;
	opacity: 1;
	filter: alpha(opacity=100);
}




}



@media screen and (max-width: 780px){
/* SP */

#main{
	margin: 0 auto;
	padding: 14vw 0 0;
	width: 100%;
	text-align: center;
}
#main h2{
	font-family: ro-nikkatsu-sei-kai-std, serif;
	margin: auto;
	padding: 0;
	width: 100%;
	font-size: 7.2vw;
	line-height: 100%;
	display: flex;
	align-items: center;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
#main .comp{
	font-family: source-han-serif-japanese, serif;
	margin: 0 auto;
	padding: 7vw 0 13vw;
	width: 100%;
	font-size: 4vw;
	text-align: center;
}
#main .comp span{
	font-size: 4.2vw;
}
#main .mainImg{
	width: 100%;
	height: 78vw;
	background-image: url(../images/main.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}


#concept{
	margin: 0 auto;
	padding: 12vw 0 0;
	width: 100%;
}
#concept .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 2vw;
	width: 88%;
	font-size: 4.8vw;
	text-align: left;
	color: #808080;
}
#concept h3{
	margin: 0 auto;
	padding: 0 0 6vw;
	width: 88%;
	font-size: 8vw;
	line-height: 135%;
	text-align: left;
	font-weight: bold;
}
#concept p{
	margin: 0 auto;
	padding: 0 0 6vw;
	width: 88%;
	font-size: 3.4vw;
	line-height: 200%;
	text-align: left;
}


#message{
	margin: 0 auto;
	padding: 16vw 0 0;
	width: 100%;
}
#message .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 2vw;
	width: 88%;
	font-size: 4.8vw;
	text-align: left;
	color: #808080;
}
#message h3{
	margin: 0 auto;
	padding: 0 0 6vw;
	width: 88%;
	font-size: 8vw;
	line-height: 135%;
	text-align: left;
	font-weight: bold;
}
#message p{
	margin: 0 auto;
	padding: 0 0 6vw;
	width: 88%;
	font-size: 3.4vw;
	line-height: 200%;
	text-align: left;
}


#services{
	margin: 0 auto;
	padding: 16vw 0 0;
	width: 100%;
	overflow: hidden;
}
#services .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 2vw;
	width: 88%;
	font-size: 4.8vw;
	text-align: left;
	color: #808080;
}
#services h3{
	margin: 0 auto;
	padding: 0 0 6vw;
	width: 88%;
	font-size: 8vw;
	line-height: 135%;
	text-align: left;
	font-weight: bold;
}
#services h3 span{
	margin: -1vw 0 0;
	padding: 0;
	font-size: 3.1vw;
	font-weight: normal;
	display: block;
}
#services img{
	margin: 0 0 6vw -15%;
	padding: 0;
	width: 130%;
}
#services h4{
	margin: 0 auto;
	padding: 0 0 3vw;
	width: 88%;
	font-size: 4.4vw;
	text-align: left;
	font-weight: bold;
}
#services p{
	margin: 0 auto;
	padding: 0 0 4vw;
	width: 88%;
	font-size: 3.4vw;
	line-height: 200%;
	text-align: left;
	font-weight: normal;
}
#services .bt{
	margin: 0 auto;
	padding: 0 0 20vw;
	width: 88%;
	text-align: left;
}
#services .bt a{
	margin: 0;
	padding: 1vw 0 1vw 15%;
	width: 100%;
	font-size: 3.2vw;
	line-height: 100%;
	text-align: left;
	font-weight: normal;
	display: block;
	background-image: url(../common/images/arrow.png);
	background-position: left center;
	background-size: 10% auto;
	background-repeat: no-repeat;
}
#services .bt a:hover{
	padding: 1vw 0 1vw 20%;
	background-position: left 5% center;
	opacity:1;
	filter: alpha(opacity=100);
}


#news{
	margin: 0 auto 6vw;
	padding: 19vw 0 12vw;
	width: 100%;
	background-color: #333;
}
#news .inner{
	margin: 0 auto;
	width: 88%;
}
#news .inner .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 2vw;
	width: 100%;
	font-size: 4.8vw;
	text-align: left;
	color: #808080;
}
#news .inner h3{
	margin: 0 auto;
	padding: 0 0 6vw;
	width: 100%;
	font-size: 8vw;
	line-height: 135%;
	text-align: left;
	font-weight: bold;
	color: #fff;
}
#news .inner .view{
	float: right;
	margin: -13vw 0 0;
	padding: 0;
	width: 30%;
}
#news .inner .view a{
	font-family: 'Roboto';
	margin: 0;
	padding: 1vw 0 1vw 0;
	width: 100%;
	font-size: 3vw;
	line-height: 100%;
	text-align: right;
	font-weight: normal;
	color: #fff;
	display: block;
	background-image: url(../common/images/arrowW.png);
	background-position: left center;
	background-size: 35% auto;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#news .inner .view a:hover{
	padding: 1vw 0 1vw 0;
	background-position: left 10% center;
	opacity:1;
	filter: alpha(opacity=100);
}
#news .inner ul{
	margin: 0;
	padding: 0;
	width: 100%;
}
#news .inner li{
	float: left;
	margin: 0 7vw 0 0;
	padding: 0 0 8vw;
	width: 38.5vw;
}
#news .inner li:nth-child(2n){
	margin: 0;
}
#news .inner li a{
	width: 100%;
	display: block;
}
#news .inner li a img{
	width: 100%;
	height: auto;
}
#news .inner li a p{
	margin: 0;
	padding: 2vw 0 0;
	width: 100%;
	font-size: 3.2vw;
	line-height: 180%;
	text-align: left;
	font-weight: normal;
	color: #fff;
}


#company{
	margin: 0 auto;
	padding: 12vw 0 20vw;
	width: 88%;
}
#company .sub{
	font-family: 'Roboto';
	margin: 0 auto;
	padding: 0 0 2vw;
	width: 100%;
	font-size: 4.8vw;
	text-align: left;
	color: #808080;
}
#company h3{
	float: none;
	margin: 0;
	padding: 0 0 6vw;
	width: 100%;
	font-size: 8vw;
	line-height: 135%;
	text-align: left;
	font-weight: bold;
}
#company .rBox{
	float: none;
	width: 100%;
}
#company .rBox .tb{
	margin: 2vw 0 0;
	width: 100%;
}
#company .rBox .tb th,
#company .rBox .tb td{
	padding: 0 0 6vw;
	font-size: 3.6vw;
	line-height: 150%;
	text-align: left;
	width: 100%;
	display: block;
}
#company .rBox .tb th{
	padding: 0 0 0.5vw;
	width: 100%;
	font-weight: bold;
}
#company .bt{
	margin: 5vw auto 0;
	padding: 0;
	width: 100%;
}
#company .bt a{
	margin: 0;
	padding: 4vw 0;
	width: 100%;
	font-size: 3.4vw;
	line-height: 100%;
	text-align: center;
	font-weight: bold;
	color: #333;
	display: block;
	border: 1px solid #333;
	background-image: url(../common/images/arrow.png);
	background-position: left 18% center;
	background-size: 11% auto;
	background-repeat: no-repeat;
}
#company .bt a:hover{
	color: #fff;
	background-color: #333;
	background-image: url(../common/images/arrowW.png);
	background-position: left 20% center;
	opacity: 1;
	filter: alpha(opacity=100);
}



}



@media screen and (max-width: 370px){


}
