@charset "utf-8";
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * CSS Information
 * ===============================================================
 *
 * Site URL:  http://
 * File name: module.css
 * Summary:   モジュール用スタイル
 * Author:    CrEa., Inc.
 *
 * -----------------------------------
 *
 * TOC:
 *     =1    modules
 *
 * ===============================================================
*/



/** =1
 * ========================================
 * modules
 * ========================================
 */


h1 img{
	width: 155px;
}

.l-header .contact{
	right: 0;
	top: 10px;
}
.l-header .contact li{
	border-bottom: 1px dotted #b6100e;
}
.l-header .contact li a{
	padding: 5px 0;
}
.l-header .contact img{
	width: 187px;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 735px) {
		h1.mb20{
			margin-top: 10px;
			margin-bottom: 15px;
			text-align: left !important;
		}
		h1 img{
			width: 120px;
		}
		.l-header .contact{
			right: 10px;
			top: 27px;
		}
		.l-header .contact li.tel{
			padding-bottom: 2px;
			line-height: 1.3;
		}
		.l-header .contact li a{
			padding: 0;
		}
		.l-header .contact img{
			width: 140px;
			vertical-align: middle;
		}
		
		.l-header .tel i{
			vertical-align: middle;
			font-size: 18px;
			font-size: 1.8rem;
		}
		.l-header .tel .phone{
			margin-right: 3px;
			vertical-align: middle;
		}
		.l-header .tel .phone .arrow{
			margin-left: 2px;
			font-size: 12px;
			font-size: 1.2rem;
		}
	}


.navHandler {
display: none;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 735px) {
		.navHandler {
			display: block;
			position: relative;
			z-index: 16;
		}
		.navHandler a{
			padding: 0 20px 2px;
			background: #b6100e;
			-webkit-border-radius: 50px;
			-moz-border-radius: 50px;
			border-radius: 50px;
		}
		.navHandler a span.close{
			display: none;
		}
		.navHandler a.active span.close{
			display: inline;
		}
		.navHandler a.active span.open{
			display: none;
		}
	}



.nav {
	margin-top: -4px;
}

.nav li {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}
.nav li a {
	display: inline-block;
	padding: 5px 12px;
	letter-spacing: 1.2px;
	color: #555555;
}
.nav li a:hover,
.nav li a.current {
	color: #b6100e;
}
.nav li .mincho{
	display: block;
	margin-bottom: -6px;
}
		
	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 735px) {
		.nav {
			display: none;
			position: relative;
			z-index: 20;
			margin-top: 0;
		}
		.nav li {
			display: block;
			margin-bottom: 5px;
			background: rgba(255,255,255,1);
		}
		.nav li a {
			display: block;
		}
		.nav li.red {
			display: none;
		}
	}

	

.onRed{
	right: 30px;
	top: -58px;
}
#home .onRed{
	right: 43px;
	top: -58px;
}
#service .onRed{
	right: 40px;
	top: -60px;
}
#news .onRed{
	right: 55px;
	top: -60px;
}
#contact .onRed{
	right: 40px;
	top: -60px;
}
#faq .onRed{
	right: 34px;
}
#voice .onRed{
	right: 33px;
}
#privacy .onRed{
	right: 38px;
	top: -65px;
}
#equipment .onRed{
	right: 55px;
	top: -60px;
}
#blog .onRed{
	right: 63px;
	top: -60px;
}
#recruit .onRed{
	right: 55px;
	top: -60px;
}
.onRed .border{
	width: 60%;
	margin-top: 2px;
	border-top: 1px dotted #fff;
	border-bottom: 1px dotted #fff;
}
#blog .onRed .border,
#privacy .onRed .border,
#equipment .onRed .border,
#recruit .onRed .border{
	width: 100%;
}


h3{
	padding: 2px 10px;
	background: #000;
}

.pageLink li{
	display: inline-block;
	margin-left: 10px;
}

.newIcon{
	padding: 1px 3px;
	margin-left: 8px;
	background: #b6100e;
	vertical-align: 6%;
}
.pdfIcon{
	margin-left: 8px;
	vertical-align: -2%;
}
#home .pdfIcon{
	vertical-align: top;
}

h4{
	padding: 0 15px 5px;
	border-bottom: 3px double #999999;
}

	/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 735px) {
			h2 img{
				height: 25px;
			}
			h2.mb40{
				margin-bottom: 10px;
			}

			h3.fs12{
				font-size:10px;
				font-size: 1.0rem;
			}
			
			.pageLink.mb25{
				margin-bottom: 5px;
			}
			.pageLink li{
				display: block;
				margin-left: 0;
				margin-bottom: 3px;
				text-align: right;
			}
			.pageLink li.spNone{
				display: none;
			}

			h4.fs22.mb40{
				margin-bottom: 20px;
				padding: 0 0 5px;
				font-size:16px;
				font-size: 1.6rem;
			}
			h4.fs22{
				padding: 0 0 5px;
				font-size:16px;
				font-size: 1.6rem;
			}

		}



.pager li{
	display: inline-block;
	margin: 0 2px;
}
.pager li a{
	display: block;
	padding: 5px;
	border: 1px solid #ccc;
	box-sizing: border-box;
}
.pager li a:hover,
.pager li a.current{
	border: 1px solid #b6100e;
	color: #b6100e;
}


.btn a,
.btn input{
	display: inline-block;
	padding: 10px 40px;
	border: 1px solid #b6100e;
}
.btn input.borderBlack{
	border: 1px solid #555555;
}
.btn .noBorder a{
	padding: 10px 0;
	border: none;
}


	/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 735px) {
			.btn input.borderBlack{
				display: inline-block;
				padding: 5px 20px;
				margin-bottom: 8px;
			}
		}


.link4{
	width: 100%;
	padding: 20px 0;
	background: url(/src/image/common/link4/link4_bg.png) center 0 ;
}
.link4 ul{
	margin-left: -2%;
}
.link4 li{
	width: 48%;
	margin-left: 2%;
	border-bottom: 1px solid #fff;
	background: url(/src/image/common/link4/link4_redBlock.gif) 0 bottom no-repeat;
}
.link4 li a{
	padding: 11px 20px 10px ;
}
.link4 li .mincho{
	margin-bottom: -10px;
}
.link4 li.voice a{
	background: url(/src/image/common/link4/voice.png) right top no-repeat;
}
.link4 li.faq a{
	background: url(/src/image/common/link4/faq.png) right top no-repeat;
}
.link4 li.contact a{
	background: url(/src/image/common/link4/contact.png) right top no-repeat;
}
.link4 li.recruit a{
	background: url(/src/image/common/link4/recruit.png) right top no-repeat;
}

	/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 735px) {
			.link4.mb70{
				margin-bottom: 40px;
			}
			.link4 ul{
				margin-left: 0;
				padding: 0 10px;
			}
			.link4 li{
				width: 100%;
				margin-left: 0;
				margin-bottom: 10px;
				border-bottom: 1px solid #fff;
				background: url(/src/image/common/link4/link4_redBlock.gif) 0 bottom no-repeat;
			}
			.link4 li:last-child{
				margin-bottom: 0;
			}
			.link4 li a{
				padding: 11px 20px 10px 10px;
			}
			.link4 li.voice a,
			.link4 li.faq a,
			.link4 li.contact a,
			.link4 li.recruit a{
				background-position: right 50%;
			}
		}


.rightArea{
	width: 250px;
}
.rightArea .sideBox{
	padding: 20px 10px 25px;
}
.rightArea h4{
	padding: 0 0 5px;
}
.rightArea .sideBox li:last-child{
	margin-bottom: 0;
}

.leftArea{
	width: 600px;
}

	/* -- >>> styles for narrow layout ----- */
		@media screen and (max-width: 735px) {
			.rightArea.flo_right{
				float: none;
				width: 100%;
				margin-bottom: 30px;
			}
			.rightArea h4 .close{
				display: none;
			}
			.rightArea h4.active .close{
				display: inline;
			}
			.rightArea h4.active .open{
				display: none;
			}
			.rightArea .sideBox{
				display: none;
			}

			.leftArea.flo_left{
				float: none;
				width: auto;
			}
		}




.formLabel {
	font-weight: bold;
}

.formField {
	border-bottom: 1px dotted;
}

.formButtons {
	padding: 10px;
	text-align: center;
}

.required {
	margin-left: 5px;
	color: #F33;
	font-size: 80%;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 735px) {
		form {
			padding: 0 10px;
		}

		.formLabel {
			padding: 5px 0;
		}

		.formField {
			margin-bottom: 10px;
			padding: 5px 0;
		}
	}

	/* -- >>> styles for wide layout ----- */
	@media screen and (min-width: 736px) {
		form {
			padding: 0 20px;
		}

		.formLabel {
			float: left;
			width: 180px;
			padding: 5px 0;
		}

		.formField {
			width: 100%;
			padding: 5px 0 5px 180px;
			box-sizing: border-box;
		}
	}



/*
* pagetop
* ----------------------------------
*/

.pagetop {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 30px;
	z-index: 10;
	width: 60px;
}
.pagetop img{
	width: 100%;
}
.pagetop a {
	display: block;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 735px) {
		.pagetop {
			width: 30px;
		}
		.pagetop a{
			padding-bottom: 5px;
			background: rgba(255,255,255,0.8);
		}
	}

	/* -- >>> styles for wide layout ----- */
	@media screen and (min-width: 736px) {
		#pagetop {
		}
	}




/*
* sidepanel
* ----------------------------------
*/

.sidepanel {
}

.sidepanel li a {
	display: block;
	padding: 5px;
}

	/* -- >>> styles for narrow layout ----- */
	@media screen and (max-width: 735px) {
		.sidepanel {
			position: fixed;
			top: 0;
			right: -250px;
			z-index: -10;
			overflow-y: auto;
			width: 250px;
			height: 100%;
			background: #09A159;
			-moz-transition: all 300ms ease-in-out;
			-webkit-transition: all 300ms ease-in-out;
			transition: all 300ms ease-in-out;
		}

		.is-panelopened .sidepanel {
			display: block;
			z-index: 1;
			right: 0;
		}
		
		.sidepanel .navHandler {
			position: static;
		}
	}

	/* -- >>> styles for wide layout ----- */
	@media screen and (min-width: 736px) {
		.sidepanel {
			display: none;
		}
	}