@charset "UTF-8";

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:focus { outline: none !important; }

html, body { overflow-x: hidden; }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, abbr, address, cite, code, del, dfn, em, img,
ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd,
ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav, section,
summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: rgba(0,0,0,0);
}

html { font-size: 16px; }
body {
 font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro",
              "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", Osaka, "ＭＳ Ｐゴシック",
              "MS PGothic", sans-serif;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  color: #333;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, div {
  display: block;
}

ul, ol { list-style: none; }
li { position: relative; }

/* 引用 */
blockquote, q { quotes: none; }
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

ins { text-decoration: none; background-color: #ff9; color: #000; }
mark { font-weight: bold; font-style: italic; background-color: #ff9; color: #000; }
del { text-decoration: line-through; }
abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 { font-weight: bold; color: #000; }
h1 { font-size: 30px; }
h2 { font-size: 25px; }
h3 { font-size: 21px; }
h4 { font-size: 15px; }

/* リンク */
a { margin: 0; padding: 0; text-decoration: none; vertical-align: baseline; font-size: 100%; background: rgba(0,0,0,0); color: black; }
a:hover { /*opacity: 0.6;*/ -webkit-transition: all 0.3s; transition: all 0.3s; }

/* 画像 */
img { max-width: 100%; height: auto; vertical-align: bottom; }

/* 段落 */
p { font-size: 16px; letter-spacing: 0; line-height: 25px; }

/* テーブル */
table { border-spacing: 0; border-collapse: collapse; }
th, td { border: 1px solid #333; }
th { background: #f0f0f0; }

/* 区切り */
hr { display: block; height: 1px; margin: 1em 0; padding: 0; border: 0; border-top: 1px solid #ccc; }

address { font-style: normal; }


/* ラジオボタン */
input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 50%;
  vertical-align: -2px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #0076FF;
  content: '';
}

/* チェックボックス */
input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 2px;
  vertical-align: -2px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="checkbox"]:checked:before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 4px;
  height: 10px;
  border: none;
  border-bottom: 2px solid #0076FF;
  border-right: 2px solid #0076FF;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  box-sizing: border-box;
  -webkit-box-sizing: content-box;
  /* -webkit-appearance: button;
  appearance: button; */
  border: none;
  cursor: pointer;
}
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;
}