@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 {
  margin: 20px 0 30px;
  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: #414141;
  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 #333;
}

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

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

/* == リボン見出し（赤） == */
.ribbon-red {
  position: relative;
  color: #fff;
  background: #bd332e;
  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 #a70c07;
}

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

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

/* == リボン見出し（青） == */
.ribbon-blue {
  position: relative;
  color: #fff;
  background: #2d7cbb;
  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 #1063a4;
}

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

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

/* == リボン見出し（緑） == */
.ribbon-green {
  position: relative;
  color: #fff;
  background: #a4c922;
  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 #84a805;
}

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

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

/* == リボン見出し（橙） == */
.ribbon-orange {
  position: relative;
  color: #fff;
  background: #f99a00;
  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 #f47a20;
}

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

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

/* == 吹出し見出し（黒） == */
.fukidashi-black {
  position: relative;
  color: #111;
  background: #fff;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #555;
  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 #fff;
}

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

/* == 吹出し見出し（赤） == */
.fukidashi-red {
  position: relative;
  color: #d25c5a;
  background: #fff;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #d25c5a;
  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 #fff;
}

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

/* == 吹出し見出し（青） == */
.fukidashi-blue {
  position: relative;
  color: #468bbf;
  background: #fff;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #468bbf;
  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 #fff;
}

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

/* == 吹出し見出し（緑） == */
.fukidashi-green {
  position: relative;
  color: #88b12b;
  background: #fff;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #88b12b;
  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 #fff;
}

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

/* == 吹出し見出し（橙） == */
.fukidashi-orange {
  position: relative;
  color: #e98106;
  background: #fff;
  font-size: 24px;
  line-height: 1.2;
  border: 2px solid #e98106;
  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 #fff;
}

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

/* == チェックリスト == */
#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 #1c1c1c;
  background: #8f1a1a;
  background: -webkit-gradient(linear, left top, left bottom, from(#4b4b4b), to(#1c1c1c));
  background: -webkit-linear-gradient(top, #4b4b4b, #1c1c1c);
  background: -moz-linear-gradient(top, #4b4b4b, #1c1c1c);
  background: -ms-linear-gradient(top, #4b4b4b, #1c1c1c);
  background: -o-linear-gradient(top, #4b4b4b, #1c1c1c);
  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: #cccccc;
  background: #d5d5d5;
  background: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d7d7d7));
  background: -webkit-linear-gradient(top, #efefef, #d7d7d7);
  background: -moz-linear-gradient(top, #efefef, #d7d7d7);
  background: -ms-linear-gradient(top, #efefef, #d7d7d7);
  background: -o-linear-gradient(top, #efefef, #d7d7d7);
  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: #d25c5a;
  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 #920500;
  background: #a70c07;
  background: -webkit-gradient(linear, left top, left bottom, from(#c44844), to(#a70c07));
  background: -webkit-linear-gradient(top, #c44844, #a70c07);
  background: -moz-linear-gradient(top, #c44844, #a70c07);
  background: -ms-linear-gradient(top, #c44844, #a70c07);
  background: -o-linear-gradient(top, #c44844, #a70c07);
  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: #e99f9f;
  background: #ffe9e9;
  background: -webkit-gradient(linear, left top, left bottom, from(white), to(#ffe9e9));
  background: -webkit-linear-gradient(top, white, #ffe9e9);
  background: -moz-linear-gradient(top, white, #ffe9e9);
  background: -ms-linear-gradient(top, white, #ffe9e9);
  background: -o-linear-gradient(top, white, #ffe9e9);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #d25c5a!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: #468bbf;
  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 #0b5996;
  background: #a70c07;
  background: -webkit-gradient(linear, left top, left bottom, from(#438ac2), to(#1063a4));
  background: -webkit-linear-gradient(top, #438ac2, #1063a4);
  background: -moz-linear-gradient(top, #438ac2, #1063a4);
  background: -ms-linear-gradient(top, #438ac2, #1063a4);
  background: -o-linear-gradient(top, #438ac2, #1063a4);
  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(white), to(#dbe9f3));
  background: -webkit-linear-gradient(top, white, #dbe9f3);
  background: -moz-linear-gradient(top, white, #dbe9f3);
  background: -ms-linear-gradient(top, white, #dbe9f3);
  background: -o-linear-gradient(top, white, #dbe9f3);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #468bbf!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: #88b12b;
  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 #729200;
  background: #aecf39;
  background: -webkit-gradient(linear, left top, left bottom, from(#aecf39), to(#84a805));
  background: -webkit-linear-gradient(top, #aecf39, #84a805);
  background: -moz-linear-gradient(top, #aecf39, #84a805);
  background: -ms-linear-gradient(top, #aecf39, #84a805);
  background: -o-linear-gradient(top, #aecf39, #84a805);
  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(white), to(#e9f2d2));
  background: -webkit-linear-gradient(top, white, #e9f2d2);
  background: -moz-linear-gradient(top, white, #e9f2d2);
  background: -ms-linear-gradient(top, white, #e9f2d2);
  background: -o-linear-gradient(top, white, #e9f2d2);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #88b12b!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: #e98106;
  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 #da7c0c;
  background: #f78d1d;
  background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20));
  background: -webkit-linear-gradient(top, #faa51a, #f47a20);
  background: -moz-linear-gradient(top, #faa51a, #f47a20);
  background: -ms-linear-gradient(top, #faa51a, #f47a20);
  background: -o-linear-gradient(top, #faa51a, #f47a20);
  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(white), to(#e9f2d2));
  background: -webkit-linear-gradient(top, white, #f7d9a9);
  background: -moz-linear-gradient(top, white, #f7d9a9);
  background: -ms-linear-gradient(top, white, #f7d9a9);
  background: -o-linear-gradient(top, white, #f7d9a9);
  text-shadow: rgba(0, 0, 0, 0.2) 0 1px 0;
  color: #e98106!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;
  }
}
