@charset "UTF-8";
@font-face {
  font-family: 'fontello';
  src: url("/font/fontello.eot?56320663");
  src: url("/font/fontello.eot?56320663#iefix") format("embedded-opentype"), url("/font/fontello.woff?56320663") format("woff"), url("/font/fontello.ttf?56320663") format("truetype"), url("/font/fontello.svg?56320663#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}

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

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
}

[hidden] {
  display: none;
}

html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-size: 100%;
  line-height: 1.231;
  font-family: "Hiragino Kaku Gothic ProN",'meiryo','メイリオ','ms pgothic','ms pゴシック','osaka',sans-serif;
}

body, button, input, select, textarea {
  font-family: sans-serif;
  color: #222;
}

a {
  color: #00e;
}

a:visited {
  color: #00e;
}

a:hover {
  color: #06e;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

/* =============================================================================
   テキスト編集
   ========================================================================== */
abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

ins {
  background: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background: #ff0;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

pre, code, kbd, samp {
  font-family: monospace, monospace;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

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

small {
  font-size: 85%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul, ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

nav ul, nav ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: middle;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

label {
  cursor: pointer;
}

legend {
  border: 0;
  *margin-left: -7px;
  padding: 0;
}

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button, input {
  line-height: normal;
  *overflow: visible;
}

table button, table input {
  *overflow: auto;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

input:invalid, textarea:invalid {
  background-color: #f0dddd;
}

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

td {
  vertical-align: top;
}

/* ==|== プライマリスタイル =====================================================
   ========================================================================== */
#contentbox {
  border: 1px solid #eee;
  -webkit-box-shadow: #999 0px 0px 7px;
  -moz-box-shadow: #999 0px 0px 7px;
  box-shadow: #999 0px 0px 7px;
  background-color: #fff;
}

h1 {
  font-size: 12px;
  color: #999;
}

h2 {
  position: relative;
  font-size: 26px;
  line-height: 1.2;
  margin: 30px 0px 10px 0px;
  padding: 15px 0px 15px 0px;
}

h3 {
  position: relative;
  font-size: 24px;
  line-height: 1.2;
  margin: 30px 0px 10px 0px;
  padding: 10px 0px 10px 0px;
}

/* == リボン見出し（モバイル用設定） == */
.ribbon-black, .ribbon-red, .ribbon-blue, .ribbon-green, .ribbon-orange {
  margin: 30px -20px 30px -20px;
  padding: 15px 20px 15px 20px;
}

/* == リボン見出し（黒） == */
.ribbon-black {
  position: relative;
  color: #fff;
  background: #363636;
  font-size: 26px;
  line-height: 1.2;
  box-shadow: 0 1px 3px #777;
}

.ribbon-black:after, .ribbon-black:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top: 5px solid #222222;
}

.ribbon-black:after {
  left: 0;
  border-right: 5px solid #222222;
}

.ribbon-black:before {
  right: 0;
  border-left: 5px solid #222222;
}

/* == リボン見出し（赤） == */
.ribbon-red {
  position: relative;
  color: #fff;
  background: #da4f49;
  font-size: 26px;
  line-height: 1.2;
  box-shadow: 0 1px 3px #777;
}

.ribbon-red:after, .ribbon-red:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top: 5px solid #bd362f;
}

.ribbon-red:after {
  left: 0;
  border-right: 5px solid #bd362f;
}

.ribbon-red:before {
  right: 0;
  border-left: 5px solid #bd362f;
}

/* == リボン見出し（青） == */
.ribbon-blue {
  position: relative;
  color: #fff;
  background: #006dcc;
  font-size: 26px;
  line-height: 1.2;
  box-shadow: 0 1px 3px #777;
}

.ribbon-blue:after, .ribbon-blue:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top: 5px solid #0044cc;
}

.ribbon-blue:after {
  left: 0;
  border-right: 5px solid #0044cc;
}

.ribbon-blue:before {
  right: 0;
  border-left: 5px solid #0044cc;
}

/* == リボン見出し（緑） == */
.ribbon-green {
  position: relative;
  color: #fff;
  background: #5bb75b;
  font-size: 26px;
  line-height: 1.2;
  box-shadow: 0 1px 3px #777;
}

.ribbon-green:after, .ribbon-green:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top: 5px solid #51a351;
}

.ribbon-green:after {
  left: 0;
  border-right: 5px solid #51a351;
}

.ribbon-green:before {
  right: 0;
  border-left: 5px solid #51a351;
}

/* == リボン見出し（橙） == */
.ribbon-orange {
  position: relative;
  color: #fff;
  background: #faa732;
  font-size: 26px;
  line-height: 1.2;
  box-shadow: 0 1px 3px #777;
}

.ribbon-orange:after, .ribbon-orange:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top: 5px solid #f89406;
}

.ribbon-orange:after {
  left: 0;
  border-right: 5px solid #f89406;
}

.ribbon-orange:before {
  right: 0;
  border-left: 5px solid #f89406;
}

/* == 吹出し見出し（黒） == */
.fukidashi-black {
  position: relative;
  color: #fff;
  background: #363636;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #363636;
  margin: 30px 0px 10px 0px;
  padding: 15px 5px 12px 10px;
  border-radius: 3px;
}

.fukidashi-black:after, .fukidashi-black:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
}

.fukidashi-black:after {
  left: 33px;
  border: 11px solid transparent;
  border-top: 11px solid #363636;
}

.fukidashi-black:before {
  left: 30px;
  border: 14px solid transparent;
  border-top: 14px solid #363636;
}

/* == 吹出し見出し（赤） == */
.fukidashi-red {
  position: relative;
  color: #fff;
  background: #da4f49;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #da4f49;
  margin: 30px 0px 10px 0px;
  padding: 15px 5px 12px 10px;
  border-radius: 3px;
}

.fukidashi-red:after, .fukidashi-red:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
}

.fukidashi-red:after {
  left: 33px;
  border: 11px solid transparent;
  border-top: 11px solid #da4f49;
}

.fukidashi-red:before {
  left: 30px;
  border: 14px solid transparent;
  border-top: 14px solid #da4f49;
}

/* == 吹出し見出し（青） == */
.fukidashi-blue {
  position: relative;
  color: #fff;
  background: #006dcc;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #006dcc;
  margin: 30px 0px 10px 0px;
  padding: 15px 5px 12px 10px;
  border-radius: 3px;
}

.fukidashi-blue:after, .fukidashi-blue:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
}

.fukidashi-blue:after {
  left: 33px;
  border: 11px solid transparent;
  border-top: 11px solid #006dcc;
}

.fukidashi-blue:before {
  left: 30px;
  border: 14px solid transparent;
  border-top: 14px solid #006dcc;
}

/* == 吹出し見出し（緑） == */
.fukidashi-green {
  position: relative;
  color: #fff;
  background: #5bb75b;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #5bb75b;
  margin: 30px 0px 10px 0px;
  padding: 15px 5px 12px 10px;
  border-radius: 3px;
}

.fukidashi-green:after, .fukidashi-green:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
}

.fukidashi-green:after {
  left: 33px;
  border: 11px solid transparent;
  border-top: 11px solid #5bb75b;
}

.fukidashi-green:before {
  left: 30px;
  border: 14px solid transparent;
  border-top: 14px solid #5bb75b;
}

/* == 吹出し見出し（橙） == */
.fukidashi-orange {
  position: relative;
  color: #fff;
  background: #faa732;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #faa732;
  margin: 30px 0px 10px 0px;
  padding: 15px 5px 12px 10px;
  border-radius: 3px;
}

.fukidashi-orange:after, .fukidashi-orange:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
}

.fukidashi-orange:after {
  left: 33px;
  border: 11px solid transparent;
  border-top: 11px solid #faa732;
}

.fukidashi-orange:before {
  left: 30px;
  border: 14px solid transparent;
  border-top: 14px solid #faa732;
}

/* == チェックリスト == */
#pagebox li {
  list-style: none;
  border-bottom: 1px dotted #999;
}

/* == チェックリスト（黒） == */
.checklist-black:before {
  font-family: 'fontello';
  content: '\6d';
  color: #333;
  margin: 0 10px 0 0;
}

/* == チェックリスト（赤） == */
.checklist-red:before {
  font-family: 'fontello';
  content: '\6d';
  color: #d25c5a;
  margin: 0 10px 0 0;
}

/* == チェックリスト（青） == */
.checklist-blue:before {
  font-family: 'fontello';
  content: '\6d';
  color: #468bbf;
  margin: 0 10px 0 0;
}

/* == チェックリスト（緑） == */
.checklist-green:before {
  font-family: 'fontello';
  content: '\6d';
  color: #88b12b;
  margin: 0 10px 0 0;
}

/* == チェックリスト（橙） == */
.checklist-orange:before {
  font-family: 'fontello';
  content: '\6d';
  color: #e98106;
  margin: 0 10px 0 0;
}

/* == ボタン（黒） == */
.button-black:before {
  font-family: 'fontello';
  content: '\e0cc';
  color: #fff;
  margin: 0 20px 0 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.button-black:hover:before {
  color: #666666;
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
}

.button-black, .button-black a, .button-black a:visited, .button-black:active {
  text-align: center;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 30px;
  display: block;
  border: 1px solid #222222;
  background: #363636;
  background: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#222222));
  background: -webkit-linear-gradient(top, #444444, #222222);
  background: -moz-linear-gradient(top, #444444, #222222);
  background: -ms-linear-gradient(top, #444444, #222222);
  background: -o-linear-gradient(top, #444444, #222222);
  padding: 15px 22px;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  -webkit-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  -moz-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
  color: #fff!important;
  font-size: 24px;
  text-decoration: none;
  vertical-align: middle;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  overflow: hidden;
}

.button-black:hover {
  border-color: #444444;
  background: #d5d5d5;
  background: -webkit-gradient(linear, left top, left bottom, from(#d7d7d7), to(white));
  background: -webkit-linear-gradient(top, #d7d7d7, white);
  background: -moz-linear-gradient(top, #d7d7d7, white);
  background: -ms-linear-gradient(top, #d7d7d7, white);
  background: -o-linear-gradient(top, #d7d7d7, white);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #666666!important;
}

/* == ボタン（赤） == */
.button-red:before {
  font-family: 'fontello';
  content: '\e0cc';
  color: #fff;
  margin: 0 20px 0 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.button-red:hover:before {
  color: #da4f49;
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
}

.button-red, .button-red a, .button-red a:visited, .button-red:active {
  text-align: center;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 30px;
  display: block;
  border: 1px solid #da4f49;
  background: #da4f49;
  background: -webkit-gradient(linear, left top, left bottom, from(#ee5f5b), to(#bd362f));
  background: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
  background: -moz-linear-gradient(top, #ee5f5b, #bd362f);
  background: -ms-linear-gradient(top, #ee5f5b, #bd362f);
  background: -o-linear-gradient(top, #ee5f5b, #bd362f);
  padding: 15px 22px;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  -webkit-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  -moz-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
  color: #fff!important;
  font-size: 24px;
  text-decoration: none;
  vertical-align: middle;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  overflow: hidden;
}

.button-red:hover {
  border-color: #bd362f;
  background: #bd362f;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffe9e9), to(white));
  background: -webkit-linear-gradient(top, #ffe9e9, white);
  background: -moz-linear-gradient(top, #ffe9e9, white);
  background: -ms-linear-gradient(top, #ffe9e9, white);
  background: -o-linear-gradient(top, #ffe9e9, white);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #da4f49!important;
}

/* == ボタン（青） == */
.button-blue:before {
  font-family: 'fontello';
  content: '\e0cc';
  color: #fff;
  margin: 0 20px 0 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.button-blue:hover:before {
  color: #006dcc;
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
}

.button-blue, .button-blue a, .button-blue a:visited, .button-blue:active {
  text-align: center;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 30px;
  display: block;
  border: 1px solid #0044cc;
  background: #006dcc;
  background: -webkit-gradient(linear, left top, left bottom, from(#0088cc), to(#0044cc));
  background: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background: -moz-linear-gradient(top, #0088cc, #0044cc);
  background: -ms-linear-gradient(top, #0088cc, #0044cc);
  background: -o-linear-gradient(top, #0088cc, #0044cc);
  padding: 15px 22px;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  -webkit-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  -moz-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
  color: #fff!important;
  font-size: 24px;
  text-decoration: none;
  vertical-align: middle;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  overflow: hidden;
}

.button-blue:hover {
  border-color: #9fc2dd;
  background: #ffe9e9;
  background: -webkit-gradient(linear, left top, left bottom, from(#dbe9f3), to(white));
  background: -webkit-linear-gradient(top, #dbe9f3, white);
  background: -moz-linear-gradient(top, #dbe9f3, white);
  background: -ms-linear-gradient(top, #dbe9f3, white);
  background: -o-linear-gradient(top, #dbe9f3, white);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #006dcc!important;
}

/* == ボタン（緑） == */
.button-green:before {
  font-family: 'fontello';
  content: '\e0cc';
  color: #fff;
  margin: 0 20px 0 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.button-green:hover:before {
  color: #5bb75b;
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
}

.button-green, .button-green a, .button-green a:visited, .button-green:active {
  text-align: center;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 30px;
  display: block;
  border: 1px solid #51a351;
  background: #5bb75b;
  background: -webkit-gradient(linear, left top, left bottom, from(#62c462), to(#51a351));
  background: -webkit-linear-gradient(top, #62c462, #51a351);
  background: -moz-linear-gradient(top, #62c462, #51a351);
  background: -ms-linear-gradient(top, #62c462, #51a351);
  background: -o-linear-gradient(top, #62c462, #51a351);
  padding: 15px 22px;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  -webkit-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  -moz-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
  color: #fff!important;
  font-size: 24px;
  text-decoration: none;
  vertical-align: middle;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  overflow: hidden;
}

.button-green:hover {
  border-color: #c0da66;
  background: #e9f2d2;
  background: -webkit-gradient(linear, left top, left bottom, from(#e9f2d2), to(white));
  background: -webkit-linear-gradient(top, #e9f2d2, white);
  background: -moz-linear-gradient(top, #e9f2d2, white);
  background: -ms-linear-gradient(top, #e9f2d2, white);
  background: -o-linear-gradient(top, #e9f2d2, white);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #5bb75b!important;
}

/* == ボタン（橙） == */
.button-orange:before {
  font-family: 'fontello';
  content: '\e0cc';
  color: #fff;
  margin: 0 20px 0 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.button-orange:hover:before {
  color: #faa732;
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
}

.button-orange, .button-orange a, .button-orange a:visited, .button-orange:active {
  text-align: center;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 30px;
  display: block;
  border: 1px solid #f89406;
  background: #faa732;
  background: -webkit-gradient(linear, left top, left bottom, from(#fbb450), to(#f89406));
  background: -webkit-linear-gradient(top, #fbb450, #f89406);
  background: -moz-linear-gradient(top, #fbb450, #f89406);
  background: -ms-linear-gradient(top, #fbb450, #f89406);
  background: -o-linear-gradient(top, #fbb450, #f89406);
  padding: 15px 22px;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  -webkit-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  -moz-box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  box-shadow: rgba(180, 180, 180, 0.4) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
  color: #fff!important;
  font-size: 24px;
  text-decoration: none;
  vertical-align: middle;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  overflow: hidden;
}

.button-orange:hover {
  border-color: #ebb459;
  background: #f7c36e;
  background: -webkit-gradient(linear, left top, left bottom, from(#f7d9a9), to(white));
  background: -webkit-linear-gradient(top, #f7d9a9, white);
  background: -moz-linear-gradient(top, #f7d9a9, white);
  background: -ms-linear-gradient(top, #f7d9a9, white);
  background: -o-linear-gradient(top, #f7d9a9, white);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #faa732!important;
}

blockquote {
  background-color: #eee;
  position: relative;
  font-size: 100%;
  line-height: 1.5em;
}

blockquote:before {
  content: "“";
  font-size: 400%;
  line-height: 1em;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  color: #ddd;
  position: absolute;
  left: 10px;
  top: 10px;
}

blockquote:after {
  content: "”";
  font-size: 400%;
  line-height: 0em;
  font-family: "ＭＳ Ｐゴシック",sans-serif;
  color: #ddd;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

#footer {
  color: #999;
  font-size: 80%;
  padding: 20px 10px;
}

#footer a, #footer a:visited, #footer a:hover {
  color: #999;
}

address {
  text-align: center;
}

#footer h3 {
  padding: 8px 5px;
  border: 1px solid #999;
  background-color: #ddd;
  margin: 1em 0;
  font-size: 16px;
}

#footer h3:after, h3:before {
  content: "";
  height: 0;
  width: 0;
}

#footer h3:after {
  left: 0px;
  border: 0px;
  border-top: 0px;
}

#footer h3:before {
  left: 0px;
  border: 0px;
  border-top: 0px;
}

#footer ul {
  padding: 0;
  margin: 0;
}

#footer li {
  padding: 8px 8px 7px 20px;
  list-style: none;
  border-bottom: 1px dotted #999;
}

#footer ul li a {
  text-decoration: none;
}

#footer ul li a:hover {
  color: #222;
  text-decoration: underline;
}

#footer ul li:before {
  font-family: 'fontello';
  content: '\68';
  color: #999;
  margin: 0 10px 0 0;
}

#footer .widget {
  margin-bottom: 10px;
}

#back-top {
  position: fixed;
  bottom: 30px;
  margin-left: -100px;
}

#back-top a {
  width: 38px;
  display: block;
}

#back-top span {
  position: absolute;
  position: fixed;
  right: 20px;
  bottom: 30px;
  width: 38px;
  height: 113px;
  display: block;
  background: url(images/back_top.png) no-repeat center center;
}

/* タブレットレイアウト : 481 px ～ 768 px。モバイルレイアウトからスタイルを継承。 */
@media only screen and (min-width: 481px) {
  #footer {
    padding: 20px 15px;
  }

  .ribbon-black, .ribbon-red, .ribbon-blue, .ribbon-green, .ribbon-orange {
    margin: 30px -25px 30px -25px;
    padding: 15px 20px 15px 20px;
  }

  .fukidashi-black, .fukidashi-red, .fukidashi-blue, .fukidashi-green, .fukidashi-orange {
    margin: 30px 0px 10px 0px;
    padding: 15px 5px 12px 10px;
  }
}
/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */
@media only screen and (min-width: 769px) {
  h1 {
    margin: 0px -80px 0px -80px;
  }

  #footer {
    padding: 20px 100px;
  }

  .ribbon-black, .ribbon-red, .ribbon-blue, .ribbon-green, .ribbon-orange {
    margin: 30px -110px 30px -110px;
    padding: 15px 60px 15px 60px;
  }

  .fukidashi-black, .fukidashi-red, .fukidashi-blue, .fukidashi-green, .fukidashi-orange {
    margin: 30px -10px 10px -10px;
    padding: 15px 5px 12px 10px;
  }
}
/* ==|== ENDプライマリスタイル =====================================================
   ========================================================================== */
.ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

.ir br {
  display: none;
}

.hidden {
  display: none !important;
  visibility: hidden;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

/* ==|== スタイルを印刷 =======================================================
   スタイルを印刷。
   インラインにして必要な HTTP 接続を回避 : h5bp.com/r
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }

  a, a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr, img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
}

  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  h2, h3 {
    page-break-after: avoid;
  }
}
