@charset "UTF-8";
/* =================================================================================================

　基本スタイル

================================================================================================= */
/* CSS Document */
/* ----------------------------------------------------------------------------
　リセット
---------------------------------------------------------------------------- */
body a {
  outline: 0;
}

body, h1, h2, h3, h4, h5, ul, li, dl, dt, dd, p, strong, address {
  margin: 0;
  padding: 0;
}

ul, li {
  list-style: none;
}

address {
  font-style: normal;
}

img {
  border: 0;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}

input[type=text] {
  -webkit-appearance: none;
          appearance: none;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
}

html,
body,
main {
  overflow-x: hidden !important;
}

main {
  display: block;
  overflow-y: hidden;
}

/* ----------------------------------------------------------------------------
　フォントサイズ
---------------------------------------------------------------------------- */
html {
  font-size: 16px;
}

@media screen and (max-width: 800px) {
  html {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 14px;
  }
}
@media screen and (max-width: 350px) {
  html {
    font-size: 12px;
  }
}
body {
  -webkit-text-size-adjust: 100%;
}

/* ----------------------------------------------------------------------------
　フォントファミリー
---------------------------------------------------------------------------- */
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #333;
  overflow-x: hidden !important;
  font-weight: 400;
}

select, input, textarea, button {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

/* ----------------------------------------------------------------------------
　リンク
---------------------------------------------------------------------------- */
a {
  text-decoration: none;
  color: #333;
}

a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}

/* ----------------------------------------------------------------------------
　要素の表示・非表示
---------------------------------------------------------------------------- */
.is-visible-xld,
.is-visible-ld,
.is-visible-md,
.is-visible-sd {
  display: none;
}

@media all and (max-width: 1366px) {
  .is-visible-xld {
    display: block;
  }

  .is-hidden-xld {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .is-visible-ld {
    display: block;
  }

  .is-hidden-ld {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  .is-visible-md {
    display: block;
  }

  .is-hidden-md {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .is-visible-sd {
    display: block;
  }

  .is-hidden-sd {
    display: none !important;
  }
}
/* ----------------------------------------------------------------------------
　画像ぼやけ対策
---------------------------------------------------------------------------- */
img {
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

/* ----------------------------------------------------------------------------
　デバッグ用
---------------------------------------------------------------------------- */
#widthdebug {
  position: fixed;
  left: 0rem;
  bottom: 0rem;
  background-color: #000;
  color: #fff;
  font-size: 0.875rem;
  z-index: 1000000;
}