/*--------------------
	Mixin
--------------------*/
/* v1.0 | 20080212 */

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, font, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*--------------------
	common
--------------------*/
.clear{clear: both;}
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }
}
html, body {
  height: 100%;
}

body {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, MS PGothic, sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5em;
  color: #484848;
}

button {
  cursor: pointer;
}

.cf:after {
  content: "";
  clear: both;
  display: block;
}

.fll {
  float: left;
}

.flr {
  float: right;
}

.tbl {
  display: table;
}

.cell {
  display: table-cell;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#overlay {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 500;
  background: #fff;
  opacity: 0.5;
}

/*--------------------
	header
--------------------*/
header {
  width: 100%;
  position: relative;
  z-index: 999;
  padding: 3.90625% 0% 4.6875% 0%;
}
header h1 {
  width: 46.875%;
  margin: 0% 0% 0% 4.6875%;
  float: left;
}
header #menubtn {
  width: 9.375%;
  float: right;
  margin: 2.34375% 5.15625% 0% 0%;
}

/*--------------------
	navimenu
--------------------*/
#navimenu {
  width: 100%;
  margin: 0% 0% 3.125% 0%;
}
#navimenu tr td {
  width: 25%;
  background: #666;
  vertical-align: middle;
  border-left: 1px solid #fff;
}
#navimenu tr td:first-child {
  border-left: none;
}
#navimenu tr td a {
  display: block;
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 10% 0 10% 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4em;
  font-weight: bold;
}

#gnav {
  position: relative;
}
#gnav nav {
  display: none;
  position: absolute;
  background: #666666;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
}
#gnav nav ul li:first-child a {
  border-top: none;
}
#gnav nav ul li a {
  display: block;
  border-top: 2px solid #8e8e8e;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  width: 93.75%;
  margin: 0 auto;
  text-decoration: none;
  padding: 3.3333333333% 0% 3.3333333333% 0%;
  position: relative;
}
#gnav nav ul li a:after {
  display: block;
  content: url("../images/common/menu_arrow.jpg");
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 16px;
}

/*--------------------
	footer
--------------------*/
.bnr {
  width: 87.5%;
  margin: 0 auto;
  margin-bottom: 11.6%;
}
.bnr li {
  width: 49%;
  float: left;
  margin-bottom: 3.333%;
}
.bnr li:nth-child(even) {
  float: right;
}
.bnr img {
  vertical-align: bottom;
}

#pagetop {
  text-align: center;
  background: #efefef;
  padding: 6.25% 0% 7.03125% 0%;
}
#pagetop img {
  width: 19.6875%;
}

footer h2 {
  width: 37.5%;
  margin: 0 auto;
}
footer .copy {
  font-size: 10px;
  font-size: 0.625rem;
  text-align: center;
  margin: 6.25% 0% 0% 0%;
  padding: 0% 0% 1.5625% 0%;
}

footer nav {
  background: #666666;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  margin-bottom: 8.59375%;
}
footer nav ul li:first-child a {
  border-top: none;
}
footer nav ul li a {
  display: block;
  border-top: 2px solid #8e8e8e;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  width: 93.75%;
  margin: 0 auto;
  text-decoration: none;
  padding: 3.3333333333% 0% 3.3333333333% 0%;
  position: relative;
}
footer nav ul li a:after {
  display: block;
  content: url("../images/common/menu_arrow.jpg");
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 16px;
}

/*--------------------
	content
--------------------*/
.bg_border {
  background: #f2f2f2;
  border-top: 2px solid #cccccc;
  width: 100%;
  padding: 3.125% 0% 0% 0%;
  margin: 0% 0% 6.25% 0%;
}
