/*
Theme Name: haingraf2013
Version: 1.0
*/

/* =Reset
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
body {
	line-height: 1;
}
ol,
ul {
	list-style: none;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption,
th,
td {
	font-weight: normal;
	text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}
html {
	overflow-y: scroll;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
a:focus {
	outline: thin dotted;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
audio,
canvas,
video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
}
del {
	color: #333;
}
ins {
	background: #fff9c0;
	text-decoration: none;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin: 24px;
	margin-bottom: 1.714285714rem;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
small {
	font-size: smaller;
}
img {
	border: 0;
	-ms-interpolation-mode: bicubic;
}

/* Clearing floats */
.clear:after,
.wrapper:after,
.format-status .entry-header:after {
	clear: both;
}
.clear:before,
.clear:after,
.wrapper:before,
.wrapper:after,
.format-status .entry-header:before,
.format-status .entry-header:after {
	display: table;
	content: "";
}

/* clearfix
---------------------------------------*/

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* Common Styles
--------------------------------------------------------------------------------*/

/*.forPc{
	display:initial !important;
}*/
.forMb {
	display:none !important;
}

* {
	font-family:
		Verdana,
		Arial,
		Meiryo,
		"メイリオ",
		"Hiragino Kaku Gothic Pro",
		"ヒラギノ角ゴ Pro W3",
		Osaka,
		"MS P Gothic",
		"ＭＳ Ｐゴシック",
		sans-serif;
	margin: 0;
	padding: 0;
}

body {
	margin: 0;
	padding: 0;
	background: #fff;
/*	background: #fff url(images/bg.png);*/
	font-size: 0.8em;
}

#contentsWrapper {
/*	background: #e6e6e6;*/
}

#header,
#contents,
#footer {
	width: 955px;
	margin: 0 auto;
	padding: 0 12px;
}

#header {
	position:static;
	margin-bottom: 10px;
}
#headerLogo {
	display:inline-block;
	width:249px;
	margin: 0;
	padding-top: 10px;
}
#headerCatch {
	display: block;
	margin-bottom: 30px;
	font-size: 0.85em;
	font-weight: normal;
}
.headerLogo {
	display:block;
	height:41px;
	background:url(images/header_logo.svg) no-repeat;
}
.hiddenObj {
	display:none;
}

#headerNav {
	width:706px;
	display:inline-block;
	vertical-align:top;
	margin: 0;
	text-align:right;
}
#headerNav li {
	width:120px;
	height:90px;
	display:inline-block;
	vertical-align:top;
	position:relative;
	background:url(images/header_nav_bg.png) left bottom no-repeat;
	background-size:2px auto;
}
#headerNav li a{
	display:block;
	position:absolute;
	bottom:0px;
	left:10px;
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

/*
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
	text-align: right;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	display: inline-block;
	position: relative;
	color: #006835;
	margin:6px 22px;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	color: #006835;
	font-size:1.0em;
	line-height:2rem;
}
.main-navigation .contact a {
	background:#980012;
	color:#fff;
	padding-left:2.5rem;
	padding-right:1.0rem;
}
.main-navigation .contact a:before{
	position: absolute;
	display: block;
	left:0.8rem;
	content:'\f003';
	font-family: FontAwesome;
	color:#fff;
}
*/

.menu-toggle {
	position: absolute;
	right: 0;
	top: 0;
	background: none;
	border: none;
	border-radius: 0;
	padding: 0;
	width: 54px;
	/* letter-spacing: 0.1em; */
	cursor: pointer;
	z-index: 1001;
	text-align: center;
	outline: none;
}
.menu-toggle,
.main-navigation.toggled ul {
	display: none;
}
.main-navigation ul {
	display: block;
}
.menu-toggle span.bar {
	display: block;
	height: 3px;
	background-color: #000;
	margin: 8px 0;
	transition: all 0.2s;
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
}
.menu-toggle .close,
.menu-toggle .menu {
	font-size:0.8rem;
	font-weight:bold;
	line-height:0.85rem;
}
.menu-toggle .close {
	display: none;
}
.menu-toggle .menu {
	display: block;
}

.toggled .menu-toggle span.bar {
}
.toggled .menu-toggle .bar1 {
	margin-left:18px;
	width: 32px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
.toggled .menu-toggle .bar2 {
	opacity: 0;
}
.toggled .menu-toggle .bar3 {
	margin-left:17px;
	width: 30px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.toggled .menu-toggle .menu {
	display: none;
}
.toggled .menu-toggle .close {
	display: block;
}

.main-navigation {
	position:absolute;
}
.menuWrapper {
	visibility: hidden;
	opacity: 0;
	transition: 0.2s;
	width: 100%;
	position: absolute;
	right: -15px;
	top: 58px;
	background-color: rgba(255,255,255,1);
}

/* footer
--------------------------------------------------------------------------------*/

#footer {
	margin-top: 36px;
	margin-bottom: 20px;
	font-size: 0.9em;
}
#footerInfo {
	float: left;
	width: 235px;
}
#footerLogo {
	margin-bottom: 12px;
}
#footerAddress {
	margin-bottom: 7px;
	line-height: 1.5em;
}
#footerTel {
	margin-bottom: 20px;
	line-height: 1.5em;
}
#footerCopyright {
	margin-bottom: 15px;
}

#footerBanner li  {
	display: block;
	float: left;
	padding-right: 3px;
	height: 63px;
}

#footerNavWrapper {
	float: right;
	width: 700px;
}

.footerNavSubWrapper dl {
	float: left;
}
.footerNavSubWrapper dt {
	margin-bottom: 12px;
}
.footerNavSubWrapper dd {
/*
	background: url(images/footer_nav_arrow.png) left center no-repeat;
	padding-left: 12px;
*/
	margin-bottom: 12px;
}
.footerNavA {
	width: 140px;
}
.footerNavB {
	width: 160px;
}
.footerNavC {
	width: 240px;
}
.footerNavD {
	width: 150px;
}
#footerNavOther {
	margin-top: 20px;
	border-top: 1px solid #000;
	padding-top: 20px;
}
.fa {
	margin-right:0.5em;;
}

/* top
--------------------------------------------------------------------------------*/

.topCatName {
	margin-top: 20px;
	margin-bottom: 10px;
}
.topCatNameInfo a {
	display: block;
	float: right;
	background: url(images/footer_nav_arrow.png) left center no-repeat;
	padding-left: 12px;
	line-height: 24px;
}
.topItemWrapper,
.topItemWrapperR {
	display:inline-block;
	vertical-align:top;
	background: #fff url(images/top_item_bg.png) right bottom no-repeat;
	height: 264px;
	margin-right: 10px;
	box-shadow:1px 1px 2px 1px #999;
}
.topItemWrapper.noLink{
	background: #fff;
}
.topItemWrapper.noLink .topItem{
	opacity:1;
}

.topItemWrapperR {
	margin-right: 0px;
}
.topItemWrapper a,
.topItemWrapperR a {
	display: block;
}
.topItemWrapper img,
.topItemWrapperR img {
	padding: 11px 10px 3px 10px;
}
.topItem {
	display:block;
	text-decoration: none;
	height:100%;
}
.topItem img {
	width: 210px;
	height: 210px;
}
.topItemName {
	display: block;
	padding-left: 10px;
	font-weight: bold;
	font-size: 1.2em;
}

#topItemOtherWrapper,
#topItemLinkWrapper {
	display:inline-block;
	vertical-align:top;
}
#topItemLinkWrapper {
	width:475px;
}
.topBannerWrapper {
	display:inline-block;
	vertical-align:middle;
	padding-left: 10px;
	margin-bottom: 13px;
	text-align: center;
}
#topInfoList {
	
}
#topInfoList dt {
	margin-bottom: 15px;
}




a {
	color: #002060;
}
a:hover {
	opacity: 0.7;
}

/* info
--------------------------------------------------------------------------------*/

.infoTitle {
	font-size: 1.5em;
	padding-bottom: 10px;
}
.infoDate {
	font-size: 0.8em;
	font-weight: normal;
}


/* page
--------------------------------------------------------------------------------*/

#breadCrumbs {
	margin-top: 0;
	margin-bottom: 15px;
}
#breadCrumbs li {
	float: left;
	line-height: 25px;
	padding-right: 10px;
}
.breadCrumbsHome {
/*	background: url(images/page_home.png) left center no-repeat;
	padding-left: 33px;*/
}
.breadCrumbsItem {
/*	background: url(images/footer_nav_arrow.png) left center no-repeat;
	padding-left: 12px;*/
}
#mainVisualWrapper {
	display: table;
	margin-bottom: 20px;
}
#mainVisual {
	display: table-cell;
	vertical-align: middle;
	width: 935px;
	height: 290px;
}
#mainVisualName {
/*	background: url(images/page_main_marker_r.png) left center no-repeat;
	padding-left: 28px;*/
/*	color: #fff;*/
	font-size: 2.0em;
/*	line-height: 21px;*/
}
#mainVisualDesc {
/*	width: 400px;*/
/*	padding-top: 25px;*/
/*	color: #fff;*/
	line-height: 1.5em;
margin-bottom:20px;
}
#sideNavWrapper {
	float: left;
	width: 205px;
	background: #fff;
	margin-bottom: 20px;
}
#sideNavWrapper dl {
	padding-left: 0px;
}
.sideNavPage {
	margin-bottom: 30px;
}
#sideNavWrapper dt {
	margin-bottom: 10px;
}
.sideNavPage dt {
	background:#000;
	padding:8px 4px;
}
.sideNavPage dd {
	padding-left: 12px;
	margin-bottom: 12px;
}
.sideNavBanner dd{
	margin-bottom: 15px;
	text-align: center;
}
.sideNavBanner dd img{
	max-width:205px;
}

#mainContents {
	float: right;
	width: 715px;
}

*+html #pageDescWrapper {
	padding-bottom: 20px;
}
.pageDescItem {
	float: left;
	width: 348px;
	height: 168px;
	background: url(images/page_fukidashi.png) left center no-repeat;
	border-collapse: collapse;
	margin-right: 12px;
	margin-bottom: 20px;
}
.pageDescItem.x2 {
	background: url(images/page_fukidashi_x2.png) left center no-repeat;
}
.pageDescItem.rightEnd {
	margin-right: 0px;
}
.pageDesc {
	width: 166px;
	height: 166px;
	vertical-align: middle;
	color: #fff;
	padding: 0px 14px 0px 1px;
}
.pageDesc dt {
	display: block;
	border-bottom: 1px solid #fff;
	padding: 0 0 5px 8px;
	margin-bottom: 5px;
	font-size: 1.2em;
	font-weight: bold;
}
.pageDesc dd {
	display: block;
	padding: 0 0 0 8px;
	font-size: 0.8em;
	line-height: 1.4em;
}
.pageDescImg {
	width: 168px;
	padding: 0px;
}
.pageDescImg img {
	width: 168px;
	height: 168px;
}

/* ***********************************************
.pageDescItem {
	display: table;
	width: 370px;
	height: 178px;
	background: url(images/page_fukidashi.png) left center no-repeat;
	margin-right: 20px;
	margin-bottom: 20px;
}
.pageDescItem.rightEnd {
	margin-right: 0px;
}
.pageDesc {
	display: table-cell;
	width: 150px;
	height: 178px;
	vertical-align: middle;
	color: #fff;
	padding: 0px 25px 0px 10px;
}
.pageDesc dt {
	display: block;
	padding-bottom: 8px;
	font-size: 1.3em;
	font-weight: bold;
}
.pageDesc dd {
	display: block;
	line-height: 1.4em;
}
.pageDescImg {
	display: table-cell;
	width: 178px;
}
*********************************************** */

#pageExamples dt {
	float: left;
	width: 168px;
	height: 90px;
	background: #000 url(images/page_fukidashi_ex.png) left top no-repeat;
	padding-top: 78px;
	text-align: center;
	color: #fff;
	font-size: 1.3em;
	font-weight: bold;
	margin-right: 12px;
}
#pageExamples dd {
	float: left;
	width: 168px;
	height: 168px;
	margin-right: 10px;
	margin-bottom: 12px;
}
#pageExamples dd img {
	width: 168px;
	height: 168px;
}
#pageExamples dd.rightEnd {
	margin-right: 0px;
}

.pageTbl tr:not(:last-child) {
	border-bottom: 1px solid #808080;
}
.pageTbl th,
.pageTbl td {
	line-height: 1.5em;
	vertical-align: middle;
}
.pageTbl th {
	width: 125px;
	padding: 27px 10px;
}
.pageTbl td {
	width: 615px;
	padding: 27px 10px;
	font-size: 1.2em;
}
.pageSubList dt{
	margin-top: 15px;
	font-size: 0.8em;
}

.right {
	text-align: right;
}
.center {
	text-align: center;
}
.tbl {
	border-collapse: collapse;
	background: #fff;
}
.tbl th,
.tbl td {
	border: 1px solid #000;
	padding: 10px;
	line-height: 1.5em;
}
.tbl th {
	white-space: nowrap;
}
ol {
	list-style-type: decimal;
	margin-left: 2.0em;
}
ol.olI {
	list-style-type: lower-roman;
}
ol.olA {
	list-style-type: lower-alpha;
}
#mainContents h1 {
	margin-bottom: 20px;
}
#mainContents p {
	margin: 1.0em 0;
	line-height: 1.5em;
}
#mainContents li {
	margin: 1.0em 0;
	line-height: 1.5em;
}
.textList dt,
.textList dd {
	margin: 1.0em 0;
	line-height: 1.5em;
}
.textList dd {
	margin-left: 1.0em;
}
h2,
h3 {
	margin: 1.0em 0;
}

.contactTbl tr:not(:last-child) {
	border-bottom: 1px solid #808080;
}
.contactTbl th,
.contactTbl td {
	line-height: 1.5em;
	vertical-align: middle;
}
.contactTbl th {
	width: 290px;
	padding: 27px 10px;
}
.contactTbl td {
	width: 575px;
	padding: 27px 10px;
	font-size: 1.2em;
}
.require{
	background:#000;
	color:#fff;
	padding:2px;
	white-space:nowrap;
	border-radius:3px;
	font-size:0.8em;
	font-weight:normal;
}
.notice {
	font-size:0.8em;
}
.wpcf7-text {
	width: 450px;
	font-size: 1.5em;
	padding: 5px;
}
.wpcf7-textarea {
	width: 450px;
	height: 300px;
	font-size: 1.2em;
	padding: 5px;
}
.wpcf7-submit {
	border: 1px solid #000;
	background: #fff;
	width: 143px;
	height: 31px;
}

.recruitTbl {
	width: 100%;
	margin-bottom: 30px;

}
.recruitTbl th {
	width: 5.0em;
}
.recruitTbl td {
}

body {
	background: url(images/bg.png) 70% bottom no-repeat;
	background-attachment:fixed;
}

@media (max-width : 736px ){

	html,body{
		height:100%;
	}

	.forPc{
		display:none !important;
	}
	.forMb{
		display:initial !important;
	}
	img{
		max-width:100%;
	}

	#headerWrapper,
	#contentsWrapper,
	#footerWrapper{
		max-width:100%;
	}

	#header, #contents, #footer {
	    max-width:100%;
	    width:auto;
	}
	#header {
		position: relative;
	}
	#headerLogo{
		max-width:calc(100% - 100px);
		width:100%;
		margin-bottom:10px;
	}
	#headerCatch{
		margin-bottom:10px;
	}
	#headerNav{
		width:auto;
		padding:0;
		overflow:hidden;
		vertical-align:bottom;
		position:relative;
		text-align:left;
	}
	#headerNav li{
		width:110px;
		height:auto;
	}
	#headerNav li a{
		position:static;
		padding-left:10px;
	}
	.menuToggled {
/*		position:relative;*/
	}
	.menuToggled #headerWrapper {
		width:100%;
		position:fixed;
		height:100%;
		z-index:999;
		background:#fff;
		overflow:auto;
	}
	.menuToggled #contentsWrapper,
	.menuToggled #footerWrapper {
		pointer-events: none;
		transition: all .2s ease-out;
		-webkit-filter: blur(4px);
		-moz-filter: blur(4px);
		-ms-filter: blur(4px);
		filter: blur(4px);
		opacity:0.5;
	}
	.menu-toggle,
	.main-navigation.toggled ul {
		display: block;
	}
	.main-navigation.toggled .menuWrapper {
		visibility: visible;
		opacity: 1;
		z-index: 999;
	}
	.main-navigation{
		position: absolute;
		top:15px;
		right:15px;
	}
	.menuWrapper ul {
		padding: 10px 10px 0px 10px;
	}
	.menuWrapper li {
		display: inline-block;
		margin-bottom: 10px;
		margin-right: 10px;
	}
	.menuWrapper li img {
		margin-top:10px;
	}


	#topItemLinkWrapper,
	#topItemOtherWrapper {
		display:block;
		width:auto;
	}
	.topItemWrapper,
	.topItemWrapperR {
		background:none;
		box-shadow:none;
		width:calc(50% - 5px);
		margin-right:5px;
		height:auto;
		margin-bottom:5px;
		position:relative;
	}

	.topItemWrapper.noLink {
		background:none;
	}

	.topItem {
	}
	.topItem img {
		width: 100%;
		height: auto;
	}
	.topItemWrapper img,
	.topItemWrapperR img {
		padding: 0;
	}
	.topItemName{
		display:block;
		position:absolute;
		max-width:100%;
		width:100%;
		background:rgba(0,0,0,0.8);
		color:#fff;
		bottom:0;
		padding:5px;
		font-size:1.0em;
		font-weight:normal;
		box-sizing: border-box;
	}
	
	.topBannerWrapper{
		padding:0;
		margin-bottom:10px;
		float:left;
		width:48%;
		margin-right:2%;
	}
	.topBannerWrapper img{
		width:auto;
		max-width:100%;
	}

	#footer {
		margin-top:10px;
	}

	#footerInfo{
		float:none;
		width:auto;
/*		margin-top: 20px;*/
		border-top: 1px solid #000;
		padding-top: 20px;
		font-size:1.4em;
	}
	#footerNavWrapper{
		float:none;
		width:auto;
		margin-top: 20px;
		border-top: 1px solid #000;
		padding-top: 20px;
		font-size:1.4em;
	}
	.footerNavA,
	.footerNavB,
	.footerNavC,
	.footerNavD{
		width:50%;
	}
	.footerNavSubWrapper dd{
		padding-right:12px;
		margin-left:1.0em;
		text-indent:-0.5em;
		line-height:1.4em;
	}

	#mainVisualWrapper{
		width:100%;
		display:block;
	}
	#mainVisual{
		width:100%;
		display:block;
		height:auto;
		padding:0;
	}

	#mainContents{
		float:none;
		width:auto;
	}

	#sideNavWrapper {
		float: none;
		width: auto;
		margin-bottom: 10px;
	}
	.sideNavPage{
		display:none;
	}
	.sideNavPage dd {
	    padding-left: 0;
	    padding-right: 12px;
	    margin-bottom: 12px;
	}
	.sideNavBanner{
		border-top:1px solid #000;
		padding-top:10px;
	}
	.sideNavBanner dd{
		float:left;
		width:48%;
	}
	.sideNavBanner dd:nth-child(odd){
		margin-right:4%;
	}
	.sideNavBanner dd img{
		width:auto;
		max-width:100%;
	}
	.pageTbl th,
	.pageTbl td{
		display:block;
		width:100%;
		padding:0;
		margin-bottom:10px;
	}
	.pageTbl th{
		margin-top:10px;
	}
	.pageTbl td{
		font-size:1.0em;
	}
	iframe{
		max-width:100%;
	}

	.pageDescItem.x2 {
		background:none;
		width:100%;
		height: auto;
	}
	.pageDescItem {
		float:none;
		width:100%;
		background:none;
	}
	.pageDescItem td {
		display:block;
		width:100%;
		height: auto;
		color:#000;
	}
	.pageDesc dt,
	.pageDesc dd {
		padding-left:0;
	}
	.pageDesc dt {
		border-bottom: 1px solid #000;
		font-size:1.2em;
	}
	.pageDesc dd {
		font-size:1.0em;
	}
	.pageDescImg {
		padding-top:10px;
		text-align:center;
	}
	.pageDescImg img {
		max-width:100%;
		height:auto;
	}

	.contactTbl{
		width:100%;
		border-width:2px;
	}
	.contactTbl th,
	.contactTbl td{
		padding:5px;
		display:block;
		width:auto;
		max-width:100%;
		border:none;
		position:relative;
	}

	.contactTbl th{
	}
	.contactTbl input[type=text],
	.contactTbl input[type=email],
	.contactTbl input[type=tel],
	.contactTbl textarea{
		width:100%;
		box-sizing:border-box;
		margin:0;
		padding:0;
	}
	.contactTbl textarea{
		max-height:10em;
	}
	.contactTbl #email1,
	.contactTbl #email2{
		width:42%;
	}
	.contactTbl #zip1,
	.contactTbl #zip2{
		width:40%;
	}

	.contactTbl td .right{
		text-align:left;
	}


}