@charset "utf-8";
html,body {
    scroll-behavior: smooth;
}
body
{
    font-family: 'ヒラギノ角ゴ Pro W3', 'Lucida Grande', 'Hiragino Kaku Gothic Pro', 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif;
    margin: 0;
    -webkit-text-size-adjust: 100%;
}
a
{
    -webkit-tap-highlight-color: rgba(255,255,255,.25);
}
a:link,
a:visited
{
    text-decoration: underline;

    color: #67779f;
}
a:hover,
a:active
{
    text-decoration: underline;

    color: #65a6ff;
}
input,
select,
textarea
{
    font-family: 'ヒラギノ角ゴ Pro W3', 'Lucida Grande', 'Hiragino Kaku Gothic Pro', 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif;

    color: #333;
}
textarea
{
    padding: 2px 3px 2px 3px;

    border: 1px solid #b7b7b7;
}
.clearfix
{
    zoom: 1;
}
.clearfix:after
{
    display: block;
    clear: both;

    content: '';
}
img
{
    vertical-align: bottom;
}
.tmp_pc
{
    display: block;
}

/* --------------------------------
  ヘッダー
-------------------------------- */
.header {
  width: 100%;
  height: 59px;
  padding: 15px 10px;
  border-bottom: 1px solid silver;
  background-color: #fff;
  box-sizing: border-box;
}

.header .inner {
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important
}

.header .logo {
  width: 103px;
  transition: opacity .25s ease;
  transition: all .25s ease, background-color .25s ease, opacity .25s ease, top .25s ease;
  opacity: 1;
  -ms-filter: none;
  filter: none
}

.header .logo:hover {
  opacity: .65
}

@media only screen and (max-width:750px) {
  .header .inner {
    width: 100%
  }

  .header .logo {
    position: relative;
    left: 20px;
    width: 200px
  }
}

/* --------------------------------
  フッター
-------------------------------- */

footer {
  background-color: #000
}

.copy {
  font-size: 14px;
  padding: 30px 0;
  text-align: center;
  color: #fff
}

.totop {
  position: fixed;
  z-index: 1000;
  right: calc((100vw - 1200px)/ 2);
  bottom: 24px;
  display: flex;
  display: flex;
  visibility: hidden;
  overflow: hidden;
  width: 57px;
  height: 57px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, .3);
  box-shadow: 0 0 10px 2px rgba(0, 0, 0, .15);
  -o-box-pack: center;
  justify-content: center;
  -o-box-align: center;
  align-items: center
}

.totop:hover {
  opacity: .6
}

.totop.is-show {
  visibility: visible;
  opacity: 1;
  -ms-filter: none;
  filter: none
}

.totop img {
  width: 16px;
  height: 9px
}

.totop::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  transition: all .25s ease, background-color .25s ease, opacity .25s ease, top .25s ease;
  opacity: 0;
  background: 0 0;
  ointer-events: none
}

.totop:hover::before {
  opacity: .6;
  background: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, 0))
}

@media only screen and (max-width:750px) {
  .copy {
    font-size: 13px;
    width: 100%;
    margin: auto;
  }
  .totop {
    position: fixed;
    right: 12px;
    bottom: 50px;
    width: 41px;
    height: 41px;
    background-color: rgba(0, 0, 0, .6)
  }
  .totop img {
    width: 16px;
    height: 9px
  }
}