@charset "UTF-8";
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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

html {
  font-size: 62.5%;
  background-color: #fff;
  overflow-y: scroll;
}

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  background-color: #fff;
}

p {
  line-height: 1.5;
  color: #333;
  word-wrap: break-word;
  margin-bottom: 1em;
}

table, th, td {
  border-collapse: collapse;
}

img {
  -ms-interpolation-mode: bicubic;
  /* IE7で画像拡大縮小時の荒さを軽減する */
  vertical-align: middle;
  /* img要素のディセンダー削除 */
  height: auto !important;
}

/* =FONT
-------------------------------------------------- */
.fwN {
  font-weight: normal !important;
}

.fwB {
  font-weight: bold   !important;
}

.fsSS {
  font-size: 12px !important;
}

.fsS {
  font-size: 14px !important;
}

.fsM {
  font-size: 16px !important;
}

.fsL {
  font-size: 18px !important;
}

.fsLL {
  font-size: 22px !important;
}

.fsLLL {
  font-size: 26px !important;
}

sup {
  font-size: 78%;
  vertical-align: top;
}

sub {
  font-size: 78%;
  vertical-align: baseline;
}

.tdU {
  text-decoration: underline    !important;
}

.tdN {
  text-decoration: none         !important;
}

.tdO {
  text-decoration: overline     !important;
}

.tdLT {
  text-decoration: line-through !important;
}

/* =ALIGN
--------------------------------------------------*/
.taL {
  text-align: left   !important;
}

.taC {
  text-align: center !important;
}

.taR {
  text-align: right  !important;
}

.vaT {
  vertical-align: top    !important;
}

.vaM {
  vertical-align: middle !important;
}

.vaB {
  vertical-align: bottom !important;
}

/* インデント */
.indent {
  text-indent: -1em;
  padding-left: 1em;
}

ul.indent {
  padding: 0;
}

ul.indent li {
  text-indent: -1em;
  padding-left: 1em;
  margin: 0;
  list-style: none;
  margin-bottom: 0.5em;
}

ul.indent li:last-child {
  margin-bottom: 0 !important;
}

ul.indent li p {
  margin: 0 !important;
}

/* =FLOAT
--------------------------------------------------*/
.fltL {
  float: left  !important;
}

.fltR {
  float: right !important;
}

.ofH {
  overflow: hidden !important;
}

/* =POSITION
--------------------------------------------------*/
.posR {
  position: relative;
}

.posA {
  position: absolute;
}

/* =ETC
--------------------------------------------------*/
.clear {
  clear: both !important;
}

.block {
  display: block !important;
}

.none {
  display: none !important;
}

.bgN {
  background: none !important;
}

.bdN {
  border: none !important;
}

/* clearfix */
.cf:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

/* IE6 */
* html .cf {
  zoom: 1;
}

/* IE7 */
*:first-child + html .cf {
  zoom: 1;
}

/* 印刷を区切る */
.pbBefore {
  page-break-before: always !important;
}

.pbAfter {
  page-break-after: always !important;
}
