@charset "UTF-8";

/* Reset box-model
------------------------------------------ */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html {
  width: 100%;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  font-size: 62.5%;
  font-size: 10px;
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

body {
  width: 100%;
  /*
  font-size: 12px;
  font-size: 1.2rem;
  */
  line-height: 1.5;
  /* ゴシック体 */
  font-family: "-apple-system", "BlinkMacSystemFont", "Roboto", "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", "YuGothic", "Verdana", "Arial", "メイリオ", "Meiryo", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  /* 明朝体 */
  /*
  font-family: "Georgia", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, "HG明朝E", "MS P明朝", "MS PMincho", "MS 明朝", "MS Mincho", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", serif;
  */
  /* 中国語（簡体字） */
  /*
  font-family: "Hiragino Sans GB","Hiragino Sans GB W3","STXihei","Microsoft YaHei", "微软雅黑",'SimSun', sans-serif;
  */
}

@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    /* Mac Safari のみ適用 */
    body {
      -webkit-font-smoothing: antialiased; /* スムージングを調整して細く */
      font-weight: 300; /* 可能なら細めのウェイトを指定 */
      -webkit-text-stroke: 0.2px; /* 輪郭を軽く補強してシャープに */
      letter-spacing: 0.02em; /* 文字が潰れないように微調整 */
    }
  }
}

@media screen and (max-width:640px) {
  html {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  body {
    min-width: 100%;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    font-family: sans-serif;
  }
}

/*
a, a:hover {
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
*/
a:focus {
  outline: none;
}
img {
  vertical-align: top;
  border: none;
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
}
ul, ol {
  list-style: none;
}

/* Form */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="password"],
form input[type="submit"],
form input[type="reset"],
form input[type="button"],
form select,
form textarea {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  background: none;
  font-size: 100%;
}
::-webkit-input-placeholder { color: #bcbcbc; }
::-moz-placeholder { color: #bcbcbc; }
:-ms-input-placeholder { color: #bcbcbc; }

/* Measures Against Float */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}