@charset "utf-8";
html {
  font-size: 62.5%;
}
body {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 10px;
  font-size: 1.0rem;
  line-height: 1.5;
  width: 100%;
  -webkit-text-size-adjust: 100%; /* sp 横表示対応 */
  word-wrap: break-word; /* 英文自動折り返し */
  overflow-x: hidden;
  overflow-y: auto;
}
*, *:before, *:after {
  box-sizing: border-box;
}
main {
  display: block;
  overflow: hidden;
}
fieldset {
  display: contents;
}
label {
  display: inline-block;
}
a[href^="tel:"]:hover {
  cursor: default;
  opacity: 1.0;
}
a {
  opacity: 1;
  text-decoration: none;
  color: #000;
}
a:not(#pageTop) {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
}
img, iframe {
  max-width: 100%;
  vertical-align: bottom;
}
img {
  height: auto;
}
table th, table td {
  word-break: break-all;
}
figure a {
  display: inline-block;
}
/*------------------------------------------------------------
     common
------------------------------------------------------------ */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.d-inlineblock {
  display: inline-block;
}
.bold {
  font-weight: bold;
}
.underline {
  text-decoration: underline;
}
.ta_c {
  text-align: center;
}
.ta_r {
  text-align: right;
}
.mb5 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.pc {
  display: block;
}
.tab {
  display: none;
}
.sp {
  display: none;
}
.pc_br {
  display: block;
}
.sp_br {
  display: none;
}
.pc_speace {
  display: block;
}
.sp_speace {
  display: none;
}
img.pc {
  display: inline;
}
img.sp {
  display: none;
}
.spt {
  display: none;
}
.spo {
  display: none;
}
/*==========================================================
      Target Devices # Tablet MobilePC #
============================================================ */
@media screen and (max-width: 1023px) { /* コンテンツ幅に合わせて変更 */
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  img.pc {
    display: none;
  }
  img.sp {
    display: inline;
  }
  .br_pc {
    display: none;
  }
  .br_sp {
    display: block;
  }
  .pc_speace {
    display: none;
  }
  .sp_speace {
    display: block;
  }
}
/*==========================================================
      Target Devices # Smart Phone and Tablet #
============================================================ */
@media screen and (max-width: 767px) {
  .spt {
    display: block;
  }
  img.spt {
    display: inline;
  }
}
/*==========================================================
      Target Devices # Smart Phone Only #
============================================================ */
@media screen and (max-width: 479px) {
  .spo {
    display: block;
  }
  img.spo {
    display: inline;
  }
}