@charset "UTF-8";

/* =============================================================================
   Layout
============================================================================= */
body {
	background-color: #546cc4;
}
.wrap {
	position: relative;
	z-index: 20;
	background: url(../img/main_bg.jpg);
}

/* -----------------------------------------------------------------
   Header
----------------------------------------------------------------- */
.head {
	min-height: 150px;
	background: url(../img/head_bg.jpg) 0 102px  repeat-x;
}
.head-cont {
	position: relative;
	margin: 0 auto;
	max-width: 940px;
}
.head .title {
	position: absolute;
	top: 13px;
	left: 0;
	font-size: 70%;
	font-weight: normal;
}
.head .logo {
	position: absolute;
	top: 32px;
	left: 0;
}
.head .tel {
	position: absolute;
	top: 9px;
	right: 0;
	font-size: 145%;
	font-weight: bold;
	color: #6e3502;
	text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff;
}
.head .tel .icon {
	display: inline-block;
	overflow: hidden;
	width: 43px;
	height: 33px;
}
.head .tel .icon:before {/*CSSスプライト*/
 	content: url(../img/head_icon.png);
}

.head .fax {
	position: absolute;
	top: 46px;
	right: 0;
	font-size: 145%;
	font-weight: bold;
	color: #6e3502;
	text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff;
}
.head .fax .icon {
	display: inline-block;
	overflow: hidden;
	width: 43px;
	height: 35px;
}
.head .fax .icon:before {/*CSSスプライト*/
 	content: url(../img/head_iconF.png);
}
/* gnav */
.head .gnav {
	padding-top: 102px;
	min-height: 48px;
}
.head .gnav p {
	float: left;
	width: 16.66666%;
}
.head .gnav a {
	display: block;
	padding-left: 14px;
	border-left: 3px solid #c272af;
	line-height: 48px;
	font-size: 98%;
	text-decoration: none;
	color: #6e3502;
}
.head .gnav a:hover,
.head .gnav .active {
	color: #a6652a;
}
#gNavM {
	display: none;
}

/* -----------------------------------------------------------------
   Cont
----------------------------------------------------------------- */
.cont {
	position: relative;
	margin: 0 auto;
	max-width: 940px;
}

/* -----------------------------------------------------------------
   Footer
----------------------------------------------------------------- */
.foot {
	min-height: 103px;
	background:#546cc4;
}
.foot-cont {
	position: relative;
	margin:  0 auto;
	padding-top: 28px;
	max-width: 940px;
	min-height: 103px;
	font-size: 90%;
	/*background: url(../img/foot_bg2.png) right 0 no-repeat;*/
}
.foot-cont p {
	float: left;
	color: #fff;
}
.foot-cont a {
	display: inline-block;
	padding:10px;
	text-decoration: none;
	color: #fff;
}
.foot-cont a:first-child {
	padding-left: 0;
}
.foot-cont a:hover,
.foot-cont .active {
	text-decoration: underline;
}
#pageTop {
	z-index: 100;
	position: fixed;
	bottom: 18px;
	right: 14px;
}
#pageTop a {
	display: block;
	overflow: hidden;
	width: 56px;
	height: 56px;
}
#pageTop a:before {/*CSSスプライト*/
 	content: url(../img/pagetop.png);
}

/* =============================================================================
   Responsive
============================================================================= */

/* -----------------------------------------------------------------
   940px 以下
----------------------------------------------------------------- */
@media screen and (max-width: 940px) {
/* -----------------------------------------------------------------
   Header
----------------------------------------------------------------- */
.head .title,
.head .logo {
	left: 10px;
}
.head .tel .fax {
	right: 10px;
}
/* gnav */
.head .gnav a {
	padding-left: 10px;
}

/* -----------------------------------------------------------------
   Footer
----------------------------------------------------------------- */
.foot-cont a:first-child {
	padding-left: 10px;
}

} /*end 940px */

/* -----------------------------------------------------------------
   860px 以下
----------------------------------------------------------------- */
@media screen and (max-width: 860px) {
/* -----------------------------------------------------------------
    Header
----------------------------------------------------------------- */
/* gnav */
.head .gnav a {
	padding-left: 8px;
}

} /*end 860px */

/* -----------------------------------------------------------------
   768px 以下
----------------------------------------------------------------- */
@media screen and (max-width: 768px) {
.wrap {
	box-shadow: 6px 0 5px -5px #000;
	-webkit-box-shadow: 6px 0 5px -5px #000;
	-moz-box-shadow: 6px 0 5px -5px #000;
}

/* -----------------------------------------------------------------
   Header
----------------------------------------------------------------- */
.head {
	min-height: 86px;
}
.head-cont {
	background: none;
}
.head .title .mobile,
.head .tel,
 .head .fax {
	display: none;
}
.head .logo img {
	width: 75%;
	height: 75%;
}
/* gnav */
.head .gnav {
	display: none;
}
#gNavTtl {
	display: block;
	position: absolute;
	top: 0;
	right: 10px;
	width: 66px;
	height: 66px;
	background: url(../img/gnav.png);
	cursor: pointer;
}
#gNavM {
	display: block;
	position: absolute;
	z-index: 10;
	top: 0;
	right: 0;
	width: 265px;
}
#gNavM a {
	display: block;
	padding: 12px;
	border-bottom: 1px dotted #cce8cc;
	text-decoration: none;
	color: #fff;
}
#gNavM a:hover,
#gNavM a.active {
	background-color: #697fc8;
}

/* -----------------------------------------------------------------
    Footer
----------------------------------------------------------------- */
.foot {
	background-position: 0 0;
	background-color: #546cc4;
}
.foot-cont {
	padding-top: 76px;
	max-width: 100%;
	background-position: right 0;
}
.foot-cont p {
	float: inherit;
	border-bottom: 1px dotted #cce8cc;
}
.foot-cont p:first-child {
	margin-top: -30px;
}
.foot-cont a {
	display: block;
	padding: 12px;
}
.foot-cont .mobile {
	display: none;
}
#pageTop {
	right: 6px;
}

} /*end 768px */
