﻿@charset "UTF-8";
/*------------------------------------------------------------
	基本設定
------------------------------------------------------------*/
html {
	height:100%;
	font-size:100%; /* =16px */
}
* {
	padding : 0;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}
a:link { color: #ac1c23; }
a:visited { color: #454545; }
a:hover { color: #ac1c23; }
a:active { color: #ac1c23; }

a img {
	border-style:none;
}
p img {
	vertical-align:bottom;
}
body {
	height:100%;
	width:100%;
	font-family: 'times new roman',georgia,serif;
	font-size:100%; /* =16px */
}
/* Reset CSS */
h1 {
	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
    font-size: 100%;
}
/*------------------------------------------------------------
	共通class
------------------------------------------------------------*/
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}
.a-left {
	text-align:left !important;
}
.a-right {
	text-align:right !important;
}
.font-Roboto {
	font-family: 'arial', sans-serif !important;
}
.clear {
	clear:both;
}
/* header固定で　アンカーリンクが隠れてしまうのを補正 */
.anchor {
    display: block;
    padding-top: 57px;
    margin-top: -57px;
}
.f-left {
	float:left;
}
.f-right {
	float:right;
}
.box {
	padding:10px 0px;
	}
.box p {
	line-height:1.3;
	font-size:115%;
}
.font-small {
	font-size:70%;
	font-weight:normal;
}
.decoration-none {
	text-decoration:none;
}
.p-top40 {
	padding-top:40px;
}
a.overwhite{ /* マウスオーバーで白っぽく */
    background-color:#ffffff;
    display:block;
}
a.overwhite:hover img{
    cursor:pointer;
    filter: alpha(opacity=80);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=80)";  /* ie 8 */
    -moz-opacity:0.8;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0.8;              /* Safari 1.x */
    opacity:0.8;
    zoom:1;
}
/* 以下レスポンシブナビ */
/* ------------------------------------------　
 RESPONSIVE NAV STYLES
--------------------------------------------- */

.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none;
}

.nav-collapse li {
  width: 100%;
  display: block;
}

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1;
}

.nav-collapse.opened {
  max-height: 9999px;
}

.disable-pointer-events {
  pointer-events: none !important;
}

.nav-toggle {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

@media screen and (min-width: 1023px) {
  .js .nav-collapse {
    position: relative;
  }
  .js .nav-collapse.closed {
    max-height: none;
  }
  .nav-toggle {
    display: none;
  }
}

/* ------------------------------------------
  FIXED HEADER
--------------------------------------------- */

header {
  background: #ffffff;
  position: fixed;
  z-index: 3;
  width: 100%;
  left: 0;
  top: 0;
  font: normal 100%/1.4 sans-serif;
  border-bottom:solid 2px #595757;
}

.logo {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  text-decoration: none;
  font-weight: bold;
  padding: 10px 20px;
  color: #fff;
  float: left;
  height:34px;
}


/* ------------------------------------------
  MASK
--------------------------------------------- */

.mask {
  -webkit-transition: opacity 300ms;
  -moz-transition: opacity 300ms;
  transition: opacity 300ms;
  background: rgba(0,0,0, .5);
  visibility: hidden;
  position: fixed;
  opacity: 0;
  z-index: 2;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0;
}

.android .mask {
  -webkit-transition: none;
  transition: none;
}

.js-nav-active .mask {
  visibility: visible;
  opacity: 1;
}

@media screen and (min-width: 1023px) {
  .mask {
    display: none !important;
    opacity: 0 !important;
  }
}


/* ------------------------------------------
  NAVIGATION STYLES
--------------------------------------------- */

.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
}

.nav-collapse,
.nav-collapse * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.nav-collapse,
.nav-collapse ul {
  list-style: none;
  width: 100%;
  float: left;
}

@media screen and (min-width: 1023px) {
  .nav-collapse {
    float: right;
    width: auto;
  }
}

.nav-collapse li {
  float: left;
  width: 100%;
}

@media screen and (min-width: 1023px) {
  .nav-collapse li {
    width: auto;
  }
}

.nav-collapse a {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  border-top: 1px solid #b1a8a8;
  text-decoration: none;
  background: #ffffff;
  padding: 0.7em 1em;
  color: #000000;
  font-weight:bold;
  width: 100%;
  float: left;
}

.nav-collapse a:active,
.nav-collapse a:hover,
.nav-collapse .active a {
  background: #e2e2e2;
}

@media screen and (min-width: 1023px) {
  .nav-collapse a {
    border-left: 1px solid #b1a8a8;
    padding: 1.02em 2em;
    text-align: center;
    border-top: 0;
    float: left;
    margin: 0;
  }
}

.nav-collapse ul ul a {
  background: #ca3716;
  padding-left: 2em;
}

@media screen and (min-width: 1023px) {
  .nav-collapse ul ul a {
    display: none;
  }
}


/* ------------------------------------------
  NAV TOGGLE STYLES
--------------------------------------------- */

@font-face {
  font-family: "responsivenav";
  src:url("../icons/responsivenav.eot");
  src:url("../icons/responsivenav.eot?#iefix") format("embedded-opentype"),
    url("../icons/responsivenav.ttf") format("truetype"),
    url("../icons/responsivenav.woff") format("woff"),
    url("../icons/responsivenav.svg#responsivenav") format("svg");
  font-weight: normal;
  font-style: normal;
}

.nav-toggle {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  text-indent: -300px;
  position: relative;
  overflow: hidden;
  width: 60px;
  height: 55px;
  float: right;
}

.nav-toggle:before {
  color: #000; /* Edit this to change the icon color */
  font: normal 28px/55px "responsivenav"; /* Edit font-size (28px) to change the icon size */
  text-transform: none;
  text-align: center;
  position: absolute;
  content: "\2261"; /* Hamburger icon */
  text-indent: 0;
  speak: none;
  width: 100%;
  left: 0;
  top: 0;
}

.nav-toggle.active:before {
  font-size: 24px;
  content: "\78"; /* Close icon */
}

/*------------------------------------------------------------
	footer
------------------------------------------------------------*/
#footer {
	width:100%;
	border-top: 2px #595757 solid;
	background-color:#ffffff;
}
#footer_right_wrap {
	min-height:408px;
	width:50%;
	float:right;
	background-color:#ffffff;
	position:relative;
}
#footer_right {
	margin-left:34px;
	padding-bottom:58px;
}
#footer_right h2{
	margin-bottom:22px;
	font-size:200%;
	padding-top:40px;
}

#footer_left_wrap {
	width:50%;
	float:left;
	overflow: hidden;
}
.ggmap {
	position: relative;
	overflow: hidden;
}
.ggmap object,
.ggmap embed
.ggmap iflame {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#pagetop {
	position:absolute;
	height:33px;
	bottom:25px;
	right:40px;
}
#copy {
	background-color:#595757;
	width:100%;
	color:#ffffff;
	text-align:center;
	padding:10px 0px;
	margin-top:0px;
	clear:both;
}
#copy p {
	font-size:80%;
}

/* 480px以下でfloat解除し、フッターレイアウト変更 */
@media only screen and (max-width: 480px) {
	#footer_right_wrap {
		width:100% !important;
		clear:both;
		margin-left:0px;
		padding:0px 3%;
	}
	#footer_left_wrap{
		width:100%;
		clear:both;
		height:200px !important;
		overflow:hidden;
	}
	#copy p{
		font-size: 1rem !important;
		line-height:1.2 !important;
		margin:0px 10px;
	}
}
