html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #1d2731;
  font: 1.6em Arial, 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.5;
  margin: 0;
}

.wrap {
  margin: auto;
  width: 100%;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
  padding: 0;
}

a:link,
a:visited,
a:hover,
a:active {
  color: #17395b;
  text-decoration: none;
}

a img:hover {
  filter: alpha(opacity=70);
  -webkit-transition: 0.3s;
  opacity: 0.7;
  transition: 0.3s;
}

#totop {
  background: bottom / cover no-repeat url(../img/to_top.png);
  bottom: 16px;
  display: block;
  height: 80px;
  opacity: 0.8;
  position: fixed;
  right: 16px;
  width: 80px;
}

#totop span {
  display: none;
}

#totop a {
  display: block;
  height: 80px;
  width: 80px;
}

#totop:hover {
  filter: alpha(opacity=70);
  -webkit-transition: 0.3s;
  opacity: 0.7;
  transition: 0.3s;
}

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

.ctr {
  text-align: center;
}

.lft {
  text-align: left;
}

.cfff {
  color: #fff;
}

.c000 {
  color: #000;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.f12 {
  font-size: 1.2rem;
}

.f14 {
  font-size: 1.4rem;
}

.f16 {
  font-size: 1.6rem;
}

.f18 {
  font-size: 1.8rem;
}

.f20 {
  font-size: 2.0rem;
}

.f22 {
  font-size: 2.2rem;
}

.f24 {
  font-size: 2.4rem;
}

.f26 {
  font-size: 2.6rem;
}

.f28 {
  font-size: 2.8rem;
}

.f30 {
  font-size: 3.0rem;
}

.f32 {
  font-size: 3.2rem;
}

.f34 {
  font-size: 3.4rem;
}

.f36 {
  font-size: 3.6rem;
}

.f38 {
  font-size: 3.8rem;
}

.f40 {
  font-size: 4.0rem;
}

.f42 {
  font-size: 4.2rem;
}

.f46 {
  font-size: 4.6rem;
}

.f48 {
  font-size: 4.8rem;
}

.f50 {
  font-size: 5.0rem;
}

.f54 {
  font-size: 5.4rem;
}

.f56 {
  font-size: 5.6rem;
}

.w3 {
  font-weight: 300;
}

.w6 {
  font-weight: 600;
}

.mt4 {
  margin-top: 4px;
}

.mt8 {
  margin-top: 8px;
}

.mt16 {
  margin-top: 16px;
}

.mt32 {
  margin-top: 32px;
}

.mt64 {
  margin-top: 64px;
}

.mb4 {
  margin-bottom: 4px;
}

.mb8 {
  margin-bottom: 8px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb32 {
  margin-bottom: 32px;
}

.mb64 {
  margin-bottom: 64px;
}

.pt4 {
  padding-top: 4px;
}

.pt8 {
  padding-top: 8px;
}

.pt16 {
  padding-top: 16px;
}

.pt32 {
  padding-top: 32px;
}

.pt64 {
  padding-top: 64px;
}

.pb4 {
  padding-bottom: 4px;
}

.pb8 {
  padding-bottom: 8px;
}

.pb16 {
  padding-bottom: 16px;
}

.pb32 {
  padding-bottom: 32px;
}

.pb64 {
  padding-bottom: 64px;
}

.ul {
  text-decoration: underline;
}

@media screen and (max-width:560px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .f20 {
    font-size: 1.6rem;
  }

  .f22 {
    font-size: 1.6rem;
  }

  .f24 {
    font-size: 1.6rem;
  }

  .f26 {
    font-size: 2.0rem;
  }

  .f28 {
    font-size: 2.0rem;
  }

  .f30 {
    font-size: 2.0rem;
  }

  .f32 {
    font-size: 2.0rem;
  }

  .f34 {
    font-size: 2.4rem;
  }

  .f36 {
    font-size: 2.4rem;
  }

  .f38 {
    font-size: 2.4rem;
  }

  .f40 {
    font-size: 2.4rem;
  }

  .f42 {
    font-size: 2.4rem;
  }

  .f46 {
    font-size: 3.0rem;
  }

  .f48 {
    font-size: 3.0rem;
  }

  .f50 {
    font-size: 3.0rem;
  }

  .f52 {
    font-size: 3.6rem;
  }

  .mt4 {
    margin-top: 4px;
  }

  .mt32 {
    margin-top: 16px;
  }

  .mt64 {
    margin-top: 32px;
  }

  .mb32 {
    margin-bottom: 16px;
  }

  .mb64 {
    margin-bottom: 32px;
  }

  .pt32 {
    padding-top: 16px;
  }

  .pt64 {
    padding-top: 32px;
  }

  .pb32 {
    padding-bottom: 16px;
  }

  .pb64 {
    padding-bottom: 32px;
  }
}
