@charset "utf-8";

/* clearfix */
.cf{
	zoom: 1;
}
.cf:before, .cf:after{
	content: "";
	display: table;
}
.cf:after{
	clear: both;
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
全デバイス共通のスタイルとスマートフォンおよび小型タブレット向けレイアウトの指定
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/*==================================================
body
====================================================*/

body{
	width: 100%;
	background-color: #fff;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
	font-size: 16px;
}

a{
	color: #000;
	text-decoration: underline;
}

a:hover{
	color: #333;
	text-decoration: underline;
}

img{
	vertical-align: middle;
}

.kaig2{
	display: none;
}

.bold{
	font-weight: bold;
}

.red{
	color: #ff0000;
}


/*==================================================
header
====================================================*/
header{
	line-height: 1.5;
}

header .finfo{
	background-color: #cf0000;
	color: #ffffff;
	padding: 5px;
}

header h1, header .logo{
	margin: 15px;
	text-align: center;
}

header h1 img, header .logo img{
	width: 100%;
	max-width: 466px;
}

header .forpc{
	display: none;
}

header .formb{
	margin: 15px;
	padding: 15px;
	border: solid 2px #cf0000;
	border-radius: 10px;        /* CSS3草案 */  
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 10px;   /* Firefox用 */
	text-align: center;
}

header .formb span a{
	color :#cf0000;
	font-weight: bold;
	font-size: 22px;
}

/*==================================================
nav
====================================================*/
nav#nav ul#menu{
	display: none;
}

nav#nav ul#menu li{
	width: 100%;
	background-color: #ffffff;
	border-bottom: dotted 1px #cf0000;
	padding-left: 15px;
	line-height: 2;
}

nav#nav ul#menu li a{
	display: block;
	width: 100%;
	padding: 7px 0 3px 0;
	color: #cf0000;
	text-decoration: none;
}

nav#nav div#toggle{
	display: block;
	position: relative;
	width: 100%;
	background-color: #cf0000;
	color: #ffffff;
}

nav#nav div#toggle a{
	display: block;
	position: relative;
	padding: 10px 0 10px;
	text-align: center;
	text-decoration: none;
	background: url(../img/menu_icon.png) center left no-repeat;
	color: #ffffff;
}

/*==================================================
topimg
====================================================*/
#topimg{
	border-bottom: solid 2px #cf0000;
	margin-bottom: 15px;
}

#topimg .forpc{
	display: none;
}

#topimg .formb img{
	width: 100%;
	max-width: 770px;
}

#topimg ul li{
	list-style-type: none;
}

/*==================================================
stage
====================================================*/
#stage{
	padding: 15px;
}

/*==================================================
subcont
====================================================*/
#subcont #left_tel img{
	width: 100%;
	max-width: 770px;
}

#subcont #subnav{
	display: none;
}

#subcont #bns{
	display: none;
}


/*==================================================
contents
====================================================*/
.contents #orderflow{
	margin-top: 30px;
}

.contents #orderflow h2{
	background-color: #001c78;
	padding: 10px;
	color: #ffffff;
	margin-bottom: 15px;
}

.contents #orderflow ul li{
	list-style-type: none;
	margin-bottom: 30px;
}

.contents #orderflow ul li h3{
	background-color: #efefef;
	padding: 5px;
	margin-bottom: 5px;
}

.contents #orderflow ul li p img{
	width: 100%;
	max-width: 770px;
	margin-bottom: 5px;
}

.contents #orderflow ul li p{
	line-height: 1.5;
}

.contents #serviceinfo{
	margin-top: 30px;
}

.contents #serviceinfo h2{
	background-color: #001c78;
	padding: 10px;
	color: #ffffff;
	margin-bottom: 15px;
}

.contents #serviceinfo .infotxt{
	line-height: 1.5;
	margin-bottom: 30px;
}

.contents #serviceinfo .infotxt p{
	margin-bottom: 15px;
}

.contents #serviceinfo ul li{
	list-style-type: none;
	margin-bottom: 30px;
}

.contents #serviceinfo ul li h3{
	background-color: #efefef;
	padding: 5px;
	margin-bottom: 5px;
}

.contents #serviceinfo ul li p img{
	width: 100%;
	max-width: 770px;
	margin-bottom: 5px;
}

.contents #serviceinfo ul li p{
	line-height: 1.5;
}

.contents #topnews{
	margin-bottom: 60px;
}

.contents #topnews h2{
	background-color: #001c78;
	padding: 10px;
	color: #ffffff;
	margin-bottom: 15px;
	margin-top: 30px;
}

.contents #topnews article{
	line-height: 1.5;
	margin-bottom: 30px;
}

.contents #topnews article h3{
	background-color: #efefef;
	padding: 5px;
	margin-bottom: 5px;	
}

.contents #bnbx .forpc{
	display: none;
}

.contents #bnbx .formb li{
	list-style-type: none;
	margin-bottom: 10px;
}

.contents #bnbx .formb li img{
	width: 100%;
	max-width: 770px;
}

/****************************************
footer
*****************************************/
footer #foot_nav li{
	list-style-type: none;
	margin-left: 15px;
	line-height: 1.5;
}

footer #footer{
	background-color: #cf0000;
	color: #ffffff;
	line-height: 1.5;
	padding: 15px;
	margin-top: 15px;
}

footer #footer a{
	color: #ffffff;
}

footer #footer .footlogo{
	margin-bottom: 15px;
}

footer #footer .footlogo img{
	width: 100%;
	max-width: 466px;
}

footer #cor{
	background-color: #001c78;
	color: #ffffff;
	line-height: 1.5;
	padding: 5px;
}

/****************************************
page-top
*****************************************/
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 20px;
}
#page-top a {
	background: #cf0000;
	border: solid 1px #ffffff;
	text-decoration: none;
	color: #ffffff;
	width:40px;
	height:40px;
    line-height: 40px;
	text-align: center;
	display: block;
    border-radius: 50%;
	filter:alpha(opacity=4);
	-moz-opacity:0.5;
	-khtml-opacity: 0.5;
	opacity:0.5;
}
#page-top a:hover {
	text-decoration: none;
	background: #cf0000;
}




/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
メディアクエリによる切り替え
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* PC向けおよび大型タブレット向けのレイアウトの指定：769px～1280px */
@media only screen and (min-width: 769px){
	
	.kaig2{
		display: block;
	}
	
	header .formb{
		display: none;
	}
	
	header h1, header .logo{
		width: 50%;
		float: left;
		text-align: left;
	}
	
	header .forpc{
		display: block;
		width: 45%;
		max-width: 260px;
		float: right;
		margin: 15px;
	}
	
	header .forpc img{
		width: 100%;
		max-width: 260px;
	}
	
	/* nav */
	
	nav#nav{
		background-color: #cf0000;		
	}
	
	nav#nav div#toggle{
		display: none;
	}
	
	nav#nav ul#menu{
		display: block;
		padding: 5px 0 5px 0;
	}
	
	nav#nav ul#menu li{
		float: left;
		width: 14%;
		height: 40px;
		border-right: solid 1px #b80d0d;
		font-weight: bold;
		background-color: #cf0000;
		padding-left: 0;
		text-align: center;
		line-height: 1.5;
		border-bottom: none;
		font-size: 14px;
	}
	
	nav#nav ul#menu li.g1{
		line-height: 3;
	}
	
	nav#nav ul#menu li.last{
		border-right: none;
	}
	
	nav#nav ul#menu li a{
		display: block;
		color: #ffffff;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
	}
	
	nav#nav ul#menu li a:hover{
		background-color: #e12222;
	}
	
	/* topimg */
	
	#topimg{
		margin-bottom: 0;
	}
	
	#topimg .formb{
		display: none;
	}
	
	#topimg .forpc{
		display: block;
		overflow: hidden;
		background: url(../img/jq/jq_pc_01_01.png) top left no-repeat;
		background-size: contain;
		height: calc(100vw * 400 / 1240);
	}
	
	/* stage */
	
	#subcont{
		width: 30%;
		float: left;
	}
	
	.contents{
		width: 67%;
		float: right;
	}
	
	/* subcont */
	#subcont #subnav{
		display: block;
	}
	
	#subcont #subnav p{
		padding: 5px;
		background-color: #001c78;
		color: #ffffff;
		text-align: center;
		margin-top: 15px;
	}
	
	#subcont #subnav ul li{
		border: solid 1px #cf0000;
		border-radius: 3px;        /* CSS3草案 */  
		-webkit-border-radius: 3px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 3px;   /* Firefox用 */
		margin-top: 5px;
		line-height: 3.5;
		padding-left: 50px;
		font-size: 13px;
	}
	
	#subcont #subnav ul li.line2{
		line-height: 1.8;
	}
	
	#subcont #subnav ul li#sn_souji{
		background: url(../img/leftnav/leftnav01.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_ihin{
		background: url(../img/leftnav/leftnav02.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_ohaka{
		background: url(../img/leftnav/leftnav03.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_nimotsu{
		background: url(../img/leftnav/leftnav04.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_katei{
		background: url(../img/leftnav/leftnav06.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_kaishu{
		background: url(../img/leftnav/leftnav11.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_jyutaku{
		background: url(../img/leftnav/leftnav09.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_sonota{
		background: url(../img/leftnav/leftnav10.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_denki{
		background: url(../img/leftnav/leftnav12.png) left top no-repeat;
	}
	
	#subcont #subnav ul li#sn_kusa{
		background: url(../img/leftnav/leftnav13.png) left top no-repeat;
	}
	
	#subcont #subnav ul li a{
		text-decoration: none;
		display: block;
	}
	
	#subcont #subnav ul li a:hover{
		color: #cf0000;
	}
	
	#subcont #bns{
		display: block;
	}
	
	#subcont #bns li{
		list-style-type: none;
		margin-top: 5px;
	}
	
	#subcont #bns li img{
		width: 100%;
		max-width: 372px;
	}
	
	/* contents */
	.contents #orderflow{
		margin-top: 0;
	}
	
	.contents #orderflow ul li{
		width: 47%;
		float: left;
		margin-right: 2%;
	}
	
	.contents #orderflow ul li p.txt{
		height: 80px;
	}
	
	.contents #serviceinfo{
		margin-top: 60px;
	}
	
	.contents #serviceinfo ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.contents #serviceinfo ul li{
		width: 49%;
	}
	
	.contents #serviceinfo ul li h3{
		line-height: 1.5;
	}
	
	.contents #bnbx .formb{
		display: none;
	}
	
	.contents #bnbx .forpc{
		display: block;
	}
	
	.contents #bnbx .forpc li{
		list-style-type: none;
		margin-bottom: 10px;
	}
	
	.contents #bnbx .forpc li img{
		width: 100%;
		max-width: 850px;
	}
	
	/* footer */
	footer #foot_nav li{
		float: left;
		margin-right: 15px;
		margin-top: 30px;
	}
	
	footer #footer{
		text-align: center;
		margin-top: 5px;
	}
	
	footer #cor{
		text-align: center;
	}
	
	

	
}

/* PC向けレイアウトの指定：961px以上では固定レイアウト */
@media only screen and (min-width: 1281px){
	
	body{
		font-size: 14px;
	}
	
	.kaig{
		display: none;
	}
	
	header{
		background: url(../img/header_bg.png) left bottom repeat-x; 
	}
	
	header h1, header .logo{
		background: url(../img/chara.png) left top no-repeat;
		padding: 5px 0 65px 180px;
		margin-bottom: 0;
	}
	
	nav#nav ul#menu{
		width: 1240px;
		margin: 0 auto;
	}
	
	/* topimg */
	
	#topimg .forpc{
		width: 1240px;
		margin: 0 auto;
		height: 400px;
	}
	
	/* stage */
	#stage{
		width: 1240px;
		margin: 0 auto;
		padding: 15px 0;
	}
	
	#subcont{
		width: 372px;
	}
	
	#subcont #subnav ul li.line2{
		line-height: 3.5;
	}
	
	.contents{
		width: 850px;
		float: right;
	}
	
	/* contents */

	.contents #orderflow ul li{
		width: 23%;
	}
	
	.contents #orderflow ul li p.txt{
		height: 100px;
	}
	


	
}
