@charset "UTF-8";
/* #Base
-------------------------------------------------------------------------- */
html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

html {
  font-size: 10px; }

body {
  width: 100%;
  color: #333333;
  font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 300;
  /* アンチエイリアスを指定する */
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  /* メトリクスカーニングを指定する */
  font-kerning: normal;
  line-height: 1.8;
  text-align: center;
  padding: 0 10px;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; }

#wrapper {
  width: 100%;
  position: relative;
  margin: 0 auto; }
  #wrapper:after {
    content: "";
    display: block;
    clear: both; }

@media only screen and (min-width: 1024px) {
  body {
    width: 1024px;
    margin: 0 auto;
    padding: 0; } }
h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  font-weight: 700;
  line-height: 1.4;
  color: inherit; }

th {
  text-align: left; }

a {
  color: #139CBC; }
  a:hover {
    color: #31c7ea;
    text-decoration: none; }
  a:active {
    color: #31c7ea; }

img {
  display: inline-block;
  vertical-align: middle;
  height: auto;
  -webkit-backface-visibility: hidden; }

img.full {
  width: 100%; }

b {
  font-weight: bold; }

em {
  font-style: italic; }

ol,
ul.square {
  margin-left: 1.6em; }

ol li {
  list-style: decimal outside; }

ul.square li {
  list-style-type: square; }

p {
  margin-bottom: 15px; }

a img.over {
  -moz-transition: opacity 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75);
  -o-transition: opacity 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75);
  -webkit-transition: opacity 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75);
  transition: opacity 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75); }

a:hover img.over {
  filter: alpha(opacity=60);
  /* IE7以下用 */
  -ms-filter: "alpha(opacity=60)";
  /* IE8用 */
  -moz-opacity: 0.6;
  /* Firefox 1.5未満, Netscape用 */
  -khtml-opacity: 0.6;
  /* Safari 1.x, 他khtmlに対応したブラウザ用  */
  opacity: 0.6;
  /* Firefox 1.5以上, Opera, Safari用 */ }

button, select, option, input[type="checkbox"], input[type="radio"], input[type="reset"], input[type="submit"] {
  padding: 1px; }

input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
  position: relative;
  z-index: 2;
  border: 1px solid #ccc;
  padding: 6px;
  background-color: white;
  color: #333;
  font-size: 13px;
  line-height: 1;
  border-radius: 1px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
  -moz-transition: border 0.3s ease-in;
  -o-transition: border 0.3s ease-in;
  -webkit-transition: border 0.3s ease-in;
  transition: border 0.3s ease-in;
  font-size: 16px; }

textarea {
  line-height: 1.4; }

select {
  padding: 3px; }

option {
  padding: 2px 3px; }

input:focus,
textarea:focus {
  outline: none;
  border-color: #CCC;
  box-shadow: 0 0 0 2px rgba(102, 102, 102, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1) inset; }

/**
 * IEでSVGがフルードイメージにならない不具合があります。
 * 属性値が`.svg`で終わる要素に適応します。
 */
[src$=".svg"],
[data$=".svg"] {
  width: 100%; }

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0; }

.clearfix {
  display: inline-block; }

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* End hide from IE-mac */
.clear {
  clear: both;
  height: 0em;
  visibility: hidden;
  overflow: hidden;
  content: "."; }

.bottom {
  margin-bottom: 0; }

.spam {
  display: none; }

.pcMode {
  display: inline-block; }

.spMode {
  display: none; }

@media only screen and (max-width: 768px) {
  /* iOSでのデフォルトスタイルをリセット */
  input[type="submit"],
  input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box; }
    input[type="submit"]::-webkit-search-decoration,
    input[type="button"]::-webkit-search-decoration {
      display: none; }
    input[type="submit"]::focus,
    input[type="button"]::focus {
      outline-offset: -2px; }

  .pcMode {
    display: none; }

  .spMode {
    display: inline-block; } }
@media only screen and (min-width: 768px) {
  a:hover {
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    filter: alpha(opacity=70);
    zoom: 1; } }
